- From: Dirk Balfanz <balfanz@google.com>
- Date: Mon, 12 Mar 2012 12:02:13 -0700
- To: Mike Hanson <mhanson@mozilla.com>
- Cc: "Richard L. Barnes" <rbarnes@bbn.com>, Enduro USA Tour <endurousatour@yahoo.com>, "public-web-security@w3.org" <public-web-security@w3.org>
- Message-ID: <CADHfa2Cs+eekka_GO0TCjXX3dxxLXsrZr--13oL6PrwPSRVh6Q@mail.gmail.com>
What Mike said. :-) Also, note that somewhat counter-intuitively, channel-bound cookies protect against many related-domain attacks even if the client cert that they are bound to has broader scope than a web origin. Imagine, for a moment, that a user-agent creates a single self-signed certificate that it uses as a TLS client cert for all connections to all servers (not a good idea in terms of privacy, but follow me along for this thought experiment). The servers then set cookies on their respective top-level domains, but channel-bind them to the user-agent's one-and-only client cert. So, let's say that an app app.heroku.com sets a (channel-bound) cookie on my browser for domain .heroku.com, and that there is an attacker on attacker.heroku.com. One attack we might be concerned about is that the attacker simply harvests the .heroku.com cookie from my browser by luring me to attacker.heroku.com. They won't be able to actually _use_ the cookie, however, because the cookie is channel-bound to _my_ browser's client cert, not to the attacker's client cert. Another attack we might be concerned about is that attacker.heroku.com_sets_ an . heroku.com cookie on my user agent in order to make me log into app.heroku.com as himself. Again, assuming that the only way the attacker can obtain the cookies is by getting them from app.heroku.com, this means that the cookies he has at his disposal will be channel-bound to _his_ client cert, not to my client cert - thus when my browser sends them to app.heroku.com they won't be valid. The TLS-OBC proposal, of course, assumes more fine-grained "scopes" for the client certificates. The reason for that, however, is purely to prevent tracking across unrelated domains. Related-domain attacks are already mitigated even if we used coarse-grained client certificates and coarse-grained (i.e., domain) cookies. I, at least, found this a little counter-intuitive at first, since the other proposed defense it to forbid coarse-grained cookies altogether and use origin cookies instead. Dirk. On Mon, Mar 12, 2012 at 10:03 AM, Mike Hanson <mhanson@mozilla.com> wrote: > I would also note that Dirk Balfanz (the author of that draft) has written > a more verbose / user-friendly explanation of Origin Bound Certificates and > Channel Bound Cookies, here: > http://www.browserauth.net/channel-bound-cookies > > -mh > -- > Michael Hanson > Mozilla Labs > > > > On Mar 12, 2012, at 7:25 AM, Richard L. Barnes wrote: > > There's some related work proposed in the IETF TLS working group. The > idea there is to bind cookies to TLS client certificates, so as long as the > private key corresponding to the cert is only on one machine, the cookie > can only be used on one machine. > <http://tools.ietf.org/html/draft-balfanz-tls-obc-01> > > Of course, you could also just associate cookies with a client IP > addresses on the server side... > > > > On Mar 11, 2012, at 11:53 AM, Enduro USA Tour wrote: > > > I'm an independent security researcher and am interested in addressing > > Related Domain Cookie Attacks. See these links for more info on the > > problem: > > > http://security.stackexchange.com/q/12412/396 and > > http://stackoverflow.com/q/9636857/328397 > > > I would like to pitch a few approaches on addressing this vulnerability, > > but before I do that, is anyone aware of a solution that binds a cookie to > > a host, limiting the ability of the attacker to transfer or replay it on a > > different host? That is essentially the vulnerability that is described in > > the links above. > > > Before I pitch my solution, I'd like to see if you agree that the issue is > > relevant to this group, and of importance. > > > Thanks for your time! > > > Chris Lamont Mankowski > > > > > > > >
Received on Monday, 12 March 2012 19:02:43 UTC