Attack on SSL Users Discovered, Tool Sources Released

Feb 23, 2009

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.

Related content

  • Security Lessons: Secure Programming

    Something old, something new, something borrowed, and something blue.

  • Fly on the Wall

    Finding the data zipping back and forth between the browser and server is not only interesting for snooping spies, but also for debugging developers. Mike Schilli gets you started with mitmproxy and shows how to customize it using Python scripts.

  • DDoS Defense

    To ward off DDoS attacks, websites and services often seek the protection of Internet giants, such as Amazon, but you have other ways to protect your connectivity.

  • HTTPS Proxy

    How do you monitor the network when your client systems are connecting to secure web servers through HTTPS? We’ll show you how to keep watch using the Squid proxy server and share some inventive certificate tricks.

  • Java Anonymous Proxy

    Many Websites log IP addresses and access times to identify users. If you don’t want to wind up as data in someone’s market research, the Java Anonymous Proxy will keep your surfing secret.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More