March 5th, 2009
There has been considerable excitement recently in the press, and amongst some of our customers, about the recent presentation at Black Hat DC 2009 Briefings by Moxie Marlinspike on “New Techniques for Defeating SSL/TLS”.
What Moxie presents is a variety of variations on the classic man-in-the-middle (MITM) attack. Now MITM attacks have been around for a long time, and the idea of terminating the SSL connection at the MITM and leaving the connection between the victim and the MITM unprotected is well established. What Moxie has done is cunning in two ways. First he is using a lot of extra trick to avoid the user noticing that a “bad thing” is happening. More interestingly, I think, is that he focuses on launching the attack against the initial session HTTP page.
The way this works is:
- Unwitting user visits http://www.importantwebsite.com
- http://www.importantwebsite.com then redirects the user to https://www.importantwebsite.com either by an HTTP 302 or a form post.
Because Moxie attacks the first and unprotected step, he is able to subvert the 302 or form target and change it to www.pretty-much-anything-he-wants.com with our without SSL.
He then adds a whole bucket load of cool tricks to ensure this subterfuge goes undetected.
This has a number of important consequences.
- You can make the intended SSL connection as strong and well protected as you like. It doesn’t help in the slightest because the user will never get that far.
- This mode of attack makes many technologies for securing web-sessions useless. One time password (OTP) mechanisms, for example, are often helpless outside of a trustworthy SSL session. With this attack the MITM will happily pass the OTP codes back and forth without anybody noticing. The OTP adds no protection at all.
So what can you do to avoid being a victim? I have a few suggestions to choose from.
Use software that is smarter than you are.
Use something that will take you to the right (https) page and only submit your credentials there. The Whitesky ID Vault (A TSC customer) and Roboform are good examples.
Client certificates.
If you use a technology that does not disclose a secret to the untrusted channel to authenticate then all is well with the world. Unfortunately the only system you browser knows to do this is client certificates, and I can’t really see a large bank issuing certs to all its customers.
Bookmarks for https:// login pages.
Many websites have now made their login pages https. Where this is the case you can bookmark them and avoid the http page entirely. As long as you never go to the site directly - you are good to go.
Unfortunately, dear user, you are the most unreliable part of the web session, so you will in time forget to always use your bookmarks. So really, for a safe web experience, you need to be looking at getting a local agent to look after your sites and credentials.
Posted in Uncategorized | No Comments » | Andy Cottrell