Attack on SSL Users Discovered, Tool Sources Released
SSL won't come to a rest: the newest attack isn't about encryption or errors in the Secure Sockets Layer protocol, it's about the weakest link in the chain -- the user.
Moxie Marlinspike had already developed sslsniff in 2002. Based on certificate chaining, the client proxy tool intercepts HTTPS traffic from the server and switches the certificate with its own. Assuming a correct configuration and current browser, the result of its use removes any associated attack opportunities. But, asks Marlinspike, what if the client browser doesn't do any SSL queries?
That's why the San Franciscan developed a further proxy named sslstrip (see his presentation slides). The sslstrip tool searches for embedded links, such as https://.../login.php, originating from server webpages and replaces all HTTPS links with like-named HTTP links, such as http://.../login.php, while remembering the original HTTPS target. When the user clicks the modified URL, the sslstrip proxy recognizes it and opens an SSL connection with the server, which sends the webpage, albeit over a nonsecure connection.
In this way the man-in-the-middle (MITM) attacker can access all information from the connection. Such a scenario has an obvious application for online banking where only an HTTP start page might appear, but with visible SSL links and icons that give at least a visual sense of security. Often users ignore warning dialogs and click through them. In the case of an sslstrip intervention, the user doesn't even get the warning dialogs, because no apparent invalid HTTPS connection is created. His browser simply doesn't create a secure connection. The kind of MITM attacks this can provide, and how users might be totally unaware of them, is clearly indicated in Marlinspike's "New Tricks for Defeating SSL in Practice" slides.
After some wide-ranging debate last week about sslstrip, the tool is now available for download. It comprises about 1,000 lines of Python code and is under GLPv3 licensing.