It’s déjà vu all over again: millions of SSL servers worldwide are at risk as a newly discovered dangerous attack exploits a long-retired yet still available version of the Secure Sockets Layer protocol.
The 1990s-era SSLv2, which long ago was deemed obsolete and since has been dropped by the major browser vendors, still lives in many servers, either in default or active mode, due to misconfiguration, neglect, or older embedded devices. The so-called DROWN (Decrypting RSA with Obsolete and Weakened eNcryption) attack exploits that oversight and resurrects SSLv2 to break encrypted communications and steal sensitive information from Web and email servers or via VPN sessions, an international team of researchers -- from Tel Aviv University, Münster University of Applied Sciences, Horst Görtz Institute for IT security, Ruhr University Bochum, University of Pennsylvania, Hashcat Project, University of Michigan, Two Sigma/OpenSSL, and Google/OpenSSL -- has found.
DROWN also can decrypt past encrypted sessions that were recorded. Even client machines that don’t use SSLv2 are vulnerable if the server they communicate with supports the older protocol.
Some 33% of all HTTPS servers, including 25% of the top one million HTTPS domains and 22% of all browser-trusted sites, are vulnerable to DROWN attacks, according to data provided by the researchers who found the flaw. Other estimates are even higher, from six- to 11 million servers worldwide affected.
OpenSSL today issued an update to address DROWN as well as other vulnerabilities in its open-source software, which is used in many SSL implementations. The update disables SSLv2 default settings as well as weak ciphers in SSLv3 and above in default settings of OpenSSL.
“DROWN is a classic example of a 'cross protocol attack,'" Matthew Green, a cryptographer and professor at Johns Hopkins University, wrote in a blog post today. "This type of attack makes use of bugs in one protocol implementation (SSLv2) to attack the security of connections made under a different protocol entirely -- in this case, TLS."
Encryption expert Bruce Schneier says the underlying problem highlighted by DROWN is the traditional struggle between security updates and backwards-compatibility. “The whole point of security updates is not ... backwards compatibility. But everyone wants backwards compatibility, so we’re caught in that again and again,” Schneier said in an interview with Dark Reading.
Cheap But Not Easy
The researchers found that even when OpenSSL’s default setting for SSLv2 is in place, client systems can request SSLv2’s weaker encryption option. An attacker can use DROWN against any TLS (the updated and more airtight version of SSL encryption) protocol that is using the same RSA server key, so even systems that aren’t supporting SSLv2 are vulnerable.
“The attack is not trivial, but can be done cheaply against high-value targets,” says Ivan Ristic, director of engineering at Qualys, and an SSL expert. Ristic, who posted a detailed blog today about the attack, has this blunt recommendation: “Disable SSLv2 on all servers you have. It’s as simple as that.”
The attack costs only about $440 using Amazon EC2 cloud computing resources, and takes just eight hours to pull off, Ristic says.
DROWN is not as critical as Heartbleed, however, security experts say. Nor is it especially devastating: “This is not apocalyptic,” says Dan Kaminsky, chief security officer at WhiteOps. But it’s a “practical attack” backed up by the demonstrated attack the researchers executed, Kaminsky says.
A server is vulnerable to the DROWN attack if it allows SSLv2 connections, or if the server’s private key is used on any other server that supports SSLv2 connections. “Many companies reuse the same certificate and key on their web and email servers, for instance. In this case, if the email server supports SSLv2 and the web server does not, an attacker can take advantage of the email server to break TLS connections to the web server,” according to the DROWN team’s website post, which also includes instructions for disabling SSLv2 in different types of servers.
The team has published a technical paper on DROWN as well.
OpenSSL 1.0.2g updates 1.0.2, and OpenSSl 1.0.1s updates 1.0.1.
“Once again, we realise that obsolete crypto is dangerous. For many years the argument for not disabling SSL v2 was that there was no harm because no browsers used it anyway,” Qualys’ Ristic wrote in his post. “...in the future we must ensure that all obsolete crypto is aggressively removed from all systems. If it's not, it's going to come back to bite us, sooner or later.”
DROWN highlights the challenges of getting security engineering, software security, and encryption right, says Gary McGraw, CTO of Cigital. "Security engineering is very hard, software security is very hard, and cryptography is very hard," McGraw says.