is there not yet quickcheck for security tokens? :) an automatically checkable general simplified code model for security tokens so one could write the example in code & then have some prolog/SAT engine spit out violation examples? or is that not so doable mathematically or practically?
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CAJ7XQb58H5GQyTCMxqA6iAv_%2BKfpzkBqgoUZvi_Ppvs5FSJBMw%40mail.gmail.com.
is there not yet quickcheck for security tokens? :) an automatically checkable general simplified code model for security tokens so one could write the example in code & then have some prolog/SAT engine spit out violation examples? or is that not so doable mathematically or practically?
--
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z3%2BHdSv_N96N%3DePK-D0VCBj0xdAfBThHZLgaHf3SgMuqg%40mail.gmail.com.
> Alice invokes Bob's service, passing as an argument the designation of> Carol's service. Can Bob invoke Carol's service with Alice's permissions?> If not, you have a confused deputy vulnerability.In other words, if you gave the designation but no authority, it has aconfused deputy?
I have been trying co prepare an intro to capabilities starting from the modern problems that they can solve
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CAHgd1hGBwAFCP63bRKwnhnSV_2OG9300v%2B%2BoK%2BJHkmZ2u-JhGw%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/87ftfz39he.fsf%40dustycloud.org.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z1pVA9ZObJiHvLKnUpjZPpW9OKzsazdB13H7TKFvw61NA%40mail.gmail.com.
The box designates the cap inside the box, but by itself doesn't give access to it. If Alice provides Bob with the "wrong" box, she can choose for Bob which authority Bob would then use, among choices none of which Alice can use.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z1pivmN-Tq7AjaoC9Z8ZDEct7SC_o5sVbusUMn6At5wtA%40mail.gmail.com.
Mark S. Miller <ma...@agoric.com> wrote:The box designates the cap inside the box, but by itself doesn't give access to it. If Alice provides Bob with the "wrong" box, she can choose for Bob which authority Bob would then use, among choices none of which Alice can use.In the classic confused deputy, just replace the string designating the billing file with a box containing a capability to write that file, and you've got a confused deputy vulnerability. There is an important difference, though. Bob's API can require an unsealed write capability for the output file. Allowing a box for it is a bug.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANkSj9Uf5%3D-tTcoAnyjKSpoRoDh4Vehw7FthBoPTw-64rMzZMA%40mail.gmail.com.
I think there needs to be a time limited portion of this exchange so it cannot be reused later again.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z2EFioaQEaf5h-NM8Ky4RLkehKS6aXMHwHgHXSquHAPCQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANkSj9Uf5%3D-tTcoAnyjKSpoRoDh4Vehw7FthBoPTw-64rMzZMA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANpA1Z2xLRPWPLef%2BrnjQpAnF_OCcaYN_6y9Sr%3D-enAZK5KGyg%40mail.gmail.com.
Kevin highlights an important point that I missed in Chris Webber's email that started this thread. Alice doesn't designate the resource by providing the box; Bob does by choosing the unsealer. If Bob is expecting a box containing a capability to an output file provided by Alice, he will use an unsealer appropriate for Alice. If Alice provides a box containing a capability to the billing file, the unseal operation will fail. I now understand Chris's point about having a confused deputy vulnerability if Bob pulls any unsealer that matches out of a bucket of them.That raises an interesting question of how Bob knows what unsealer to use in general. If Carol gives Alice the sealed box and Bob the unsealer, how does Bob know to apply that unsealer to the box Alice provides?
Carol could have given Alice more than one sealed box and Bob the corresponding unsealers. Alice could pick any one of them to designate the compiler output file. Even if Carol told Bob which unsealers to use for Alice's requests, does he have to try them one at a time?
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANkSj9WOPR9x9iSdScgngnXf66h-xEJ8ra9OfNLYR-XKtn%2B1-w%40mail.gmail.com.
(From memory:) Each student has various methods that anyone can access, (eg, student.description() to see their profile description), etc. However some students are noisy, and the teacher should have capabilities to perform administrative aspects such as silencing a problematic student from being able to send messages to the channel. So it is better if teachers are given an unsealer for admin privileges, and then there is a student.admin() procedure that returns a sealed capability to do things like silencing (so, unsealer(student.admin()).silence() or something.
Now the teacher can do things relative to each student that others can not who have access to the same designation. Is this an opportunity for a confused deputy vulnerability?
I think it would also be helpful if I provided a specific scenario to
discuss. My thinking about this came from a paper which finally helped
me understand the power of rights amplification and why I should care
about it, and then incidentally upon later reflection, also lead to my
doubts. The paper is this one:
https://www.uni-weimar.de/fileadmin/user/fak/medien/professuren/Virtual_Reality/documents/publications/capsec_vr2008_preprint.pdf
"Object Capability Security in Virtual Environments"
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/87a7633bi5.fsf%40dustycloud.org.
So what StudlyBot does is that if you give it access to read and comment on your posts, someone can point it at a blogpost and it'll make a hilarious studlified version of the blogpost as a comment. So funny!
Oh also, since you're the one that requested it, it'll also send the studlified post to you, the requestor's, inbox.
You probably see where I'm going with this.
So, Mallet would like to read some blogposts he doesn't have access to. But the person who runs the blog is a huge fan of StudlyBot, and thus gave him access to *read and comment on all posts*.
So, Mallet merely points StudlyBot at a blogpost he'd like to read, and gets Cc'ed on a studlified version of the blogpost in his inbox. Wow, thanks studlybot! How generous.
Clearly StudlyBot was open to a confused deputy attack. The real mistake was adding the Cc: field, but that's an easy and very familiar kind of confused deputy mistake. My question is: were there recommendations we could make that could have helped prevent it?
Let's say Mallet has a blog. Alice also has a blog, but some of the blogposts are sealed for friends-only:
(define alice-blogpost
(first (alice-blog 'posts)))
(alice-blogpost 'contents) ; => <sealed alice-friends>
Mallet is not one of Alice's friends (meaning: does not have the alice's-friends unsealer), and so can't unseal the capability to retrieve the contents.
However, Mallet realizes that Bob is a friend of Alice, and Bob also reads Mallet's blog, and so Mallet comes up with a clever plan to find out what it's about.
(post-mallet-blogpost #:contents (alice-blog 'contents) ...)
…
Mallet's blogpost has comments enabled and on. Bob reads the post and is confused, posting the following comment: …
Mallet posts a mean blogpost saying awful, terrible things, and puts the replies capability as being the same one that goes to one of Alice's blogposts. Suddenly Alice gets a reply to one of her nicer blogposts …
> If we ignore for the moment the desire for identities, then the natural
> capability structure as I see it is that each authorization of StudlyBot to
> read posts is granted to an independent instance thereof. If that is true,
> then the point at which Mallet's attack fails is that Mallet presumably
> does not have access to invoke the relevant instance of StudlyBot.
Ignoring identities is a heck of a thing to do in a social network, though.
This sounds possibly ok for a bot... it doesn't work as well for a user, say Samantha.
Even in StudlyBot's case, in general multiple people talking about StudlyBot may want to refer to the same StudlyBot.
Is there an inverse way to do it: users *addressing* StudlyBot message a single StudlyBot, but internally StudlyBot has subdivided its logic per user... the "closure over an expected unsealer" approach?
Even then, I'm not sure: how does either of these fix the Cc: bug? What advice should we give users so that they can recognize not to perform the Cc: bug?
I think it's interesting to see that once we introduced an identity-centric system, dealing with the inescapable vulnerabilities that come with that seem to only be solved by introducing more identity.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CANkSj9XLfwoKJZACvVfbw7V8Nx0W0QFPg%2Br_62ScKPv7o8xH2A%40mail.gmail.com.
This is becoming *really* interesting. And important! You two should co-author something explaining the problems and solutions in a self contained manner.
“If old truths are to retain their hold on men’s minds, they must be restated in the language and concepts of successive generations. What at one time are their most effective expressions gradually become so worn with use that they cease to carry a definite meaning. The underlying ideas may be as valid as ever, but the words, even when they refer to problems that are still with us, no longer convey the same conviction; the arguments do not move in a context familiar to us; and they rarely give us direct answers to the questions we are asking. This may be inevitable because no statement of an ideal that is likely to sway men’s minds can be complete: it must be adapted to a given climate of opinion, presuppose much that is accepted by all men of the time, and illustrate general principles in terms of issues with which they are concerned.”
--Friedrich Hayek, The Constitution of Liberty
- Chris
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/87o8ue1rhp.fsf%40dustycloud.org.
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CAMJVQOX8u-8bVkbO08BA%2BJwSPhKhc91o7%3D0JLKxSj%3DjGXWmsrg%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/CAD2YivZv9Oc_KMLLmA2GMKUudm%3De1Vp83O0PeUNphkyrK%3DVZgA%40mail.gmail.com.
"we will reach verticies in the graph with "lock symbols" over them”
I don’t understand this part of the analogy. What does this correspond to? I can see how “some objects have keys” can correspond to opaque references I cannot identify, but how do I perceive a vertex with a lock on it?
--
You received this message because you are subscribed to the Google Groups "cap-talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cap-talk+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/be40614d-5b12-4700-8318-42dec1d30495%40googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cap-talk/87v9oh43vk.fsf%40dustycloud.org.