HTTPS (HTTP over SSL or HTTP Secure) adds encryption to the HTTP protocol to protect user page requests as well as the pages that are returned by the Web server from eavesdropping. SSL and its successor, TLS, are the protocols that enable HTTPS via public key cryptography to authenticate clients and servers on the Web.
Hansen and Sokol explained that exploitation first requires a man-in-the-middle attack. Once sitting in the middle of a browser session, an attacker can then exploit most of these issues to redirect sessions to steal credentials or remotely force code execution.
The two researchers, however, did emphasize that these aren't "game-over" types of attacks.
"There are much easier attacks out there," Hansen said. "You still have to [execute a] man-in-the-middle and you have to be a very determined attacker...No, this is not the worst thing ever. But there are situations for ecommerce where this can be devastating."
Hansen, in fact, said that he suspects there could be hundreds of similar security issues with browser security and SSL/TLS still to be uncovered; he said that time constraints prior to preparation of their Black Hat talk prevented them from further research.
Man-in-the-middle attacks are nothing new. Attackers can manage to interject themselves at several junctures in a browser session for a variety of reasons. Some attackers have been able to forge or steal SSL certificates using a variety of methods, including MD5 collisions. Also, because SSL makes DNS and HTTP requests in plain text before a session reaches an encrypted portion of an authentication negotiation, attackers can exploit any of those stops to hijack a session. Attackers have also been successful using MitM attacks to strip out HTTPS links and redirecting users to a malicious HTTP site.
For any attacker, duplicating Hansen's and Sokol's work would require patience and resources. The duo explained two attacks of particularly high criticality that could occur on the heels of a man-in-the-middle attack.
The first is a take on cookie poisoning where an attacker exploits a situation where a browser does not change cookies between a user's sessions, and instead just marks the same cookie over and over as valid. If an attacker could hijack the cookie from the website in advance and then set that one in a visitor's browser, when the user authenticates to a HTTPS site, the attacker would see the credentials and could then log on as the user.
Hansen and Sokol also explained attacks against SSL Web browser sessions where they were able to watch and chart the amount of time users were spending on particular pages within a website. These could indicate stops where data is being processed, Hansen said. They added that, at that point, they could employ a technique on the webpage that would force the user to log out and reauthenticate, giving the attacker the user's credentials.
"There needs to be changes to SSL, like adding extra padding and jitter," Hansen said, explaining that by adding the coding equivalent of jibberish to a request, it would take an attacker longer to carry out an exploit and perhaps frustrate the hacker enough to move on. "There has to be proper tab isolation and sandboxing to be able to fix this class of exploits."
"Security experts might be able to avoid these situations, but normal consumers have to live with it," he added. "We're really stuck with what we've got. I'm not sure there's a simple way to fix this."