Picking the Browser's Padlock
A new tool interferes with a website’s secure connections.
Most websites use an encrypted connection to transfer sensitive information, including usernames, passwords, and credit-card numbers, over the Internet. In a presentation given this week at Black Hat DC, a computer-security conference in Washington, DC, an independent security researcher who goes by the name Moxie Marlinspike unveiled a tool that can hijack secure connections and trick users into sending sensitive information in the clear.
The attack relies on the fact that most communication over the Internet takes place insecurely. Connections become secure when needed, using the Secure Socket Layer (SSL) protocol. The beginning of the URL shown in a Web browser’s address bar reveals what kind of connection has been established. If the address starts with “http,” the connection is standard and unencrypted. If it starts with “https,” then the connection between the user and the website is encrypted.
But most users do not bother to type in “https” to establish a secure link. Instead, they rely on a website redirecting them to a secure connection when needed. “People only tend to access the secure protocols through the insecure protocols,” Marlinspike says.
Marlinspike has developed a software tool called sslstrip that interferes with a website’s attempt to direct the user toward that secure communications channel. Sslstrip can be used once an attacker has infiltrated a network to watch passing traffic for anything that might redirect the user to a secure connection–for example, a login button that links to an “https” URL. When the tool sees that information, it strips out the link to the secure page and replaces it with an insecure one. The tool then sits between the user and the website’s server, passing information back and forth. But before passing on information to the server, it encrypts it, so that the Web server has no idea that anything is wrong.
Marlinspike admits that some users might notice that something is wrong because browsers often show that a connection is encrypted by placing a lock in the corner, and that would be absent. However, he says that many sites feature confusing design elements that could easily make users think that a connection is secure when it isn’t. For instance, some sites show the lock icon in the login window, informing the user that the link is supposed to lead to an encrypted page. Certain banking websites also provide no indication that they are about to switch to an encrypted connection, meaning the user may not realize that anything has gone awry. Marlinspike even showed several ways that the attack could be made more covert, by creating an encrypted link with the user.
Marlinspike tested sslstrip by collecting data from Tor, an openly accessible network for anonymizing Web traffic. Over 24 hours, he collected login details for 117 e-mail accounts, 16 credit-card numbers, 7 PayPal logins, and 300 other postings that were intended to be secure. He monitored to see if anyone would balk at using an insecure connection; no one did.
Dan Kaminsky, a well-known security researcher and director of penetration testing for the Seattle-based security company IOActive, says that Marlinspike has expertly exploited several problems that have been known about for years. “It’s not like [those problems are] going away,” Kaminsky says, “and that matters.”
Kaminsky adds that the problem does not lie with Web browsers, website owners, or users. “What we’re doing isn’t working,” he says. “I think we’re missing critical pieces of infrastructure that we need to secure the Internet.”
One way to add another layer of security to the Internet, Kaminsky argues, would be to introduce a new secure protocol called DNSSEC, for linking Web servers to domain names. He believes that DNSSEC could be configured to instruct browsers to connect to certain sites using only an “https” connection.
Marlinspike is skeptical that such a major overhaul of the Web’s existing structure would work. He also says that owners of websites could introduce design changes to help make the difference between a secure connection and an insecure one clearer. Ultimately, however, he believes that a proper solution will be elusive so long as most traffic is sent over the Internet in an insecure fashion.