A new flaw in how some developers implement RSA cryptography has left OpenSSL and other applications vulnerable to attackers forging digital signatures and spoofing Websites as well as SSL clients.
OpenSSL, one of the most popular open cryptography toolkits, was the first to report the flaw in its RSA cryptography implementation, along with Fedora, which uses OpenSSL in Fedora Core 5 Linux, but security researchers say there will likely be more disclosures soon from other open source as well as commercial software vendors. The flaw was originally discovered by Bell Labs researcher Daniel Bleichenbacher.
"It's particularly worrisome to think that some hardware-accelerated appliances may be hardwired into being vulnerable to the attack" as well, says Thomas Ptacek, a researcher with Matasano Security.
The good news on the browser side, researchers say, is that Internet Explorer, Apple Safari, and Mozilla Firefox browsers are apparently unaffected by the flaw. Still, Window Snyder, the new head of Mozilla security operations, says the publicized flaw has prompted the company to take a closer look at its own code as a precaution. "We take this very seriously," says Snyder, whose working title at Mozilla is "chief security something." "We're investigating our code base."
But it's the impact on enterprises that use SSL certs for client authentication that worries researchers most. "The enterprise implications are perhaps worse than the browser implications," says Ptacek, a researcher with Matasano Security. "Many enterprise applications rely on SSL client certificates to authenticate, and SSL VPNs are an enterprise mainstay."
Internal financial networks, for example, are vulnerable to this type of attack, says Nate Lawson, a researcher with Cryptography Research. General Internet users are not, he says.
Researchers are still studying details of the flaw and its potential implications, but the immediate concern is an attacker could fake SSL certificates for a Website and set up a spoofed site. "I believe this vulnerability means that criminals can generate fake SSL certificates for any site on the Internet, load them into a Web server in Bulgaria, and trick some browsers into believing it," Ptacek says.
"This is different from a typical, super-technical attack because it can be executed 'off line' -- someone can set up shop generating phony certificates and selling them like stolen car stereos," he says. "All it takes to use them is knowing how to configure a Web server."
"If you have SSL certs on the client side you're checking for on the server, you have a problem," says Dan Kaminsky, an independent researcher. "The problem is limited to this and possibly other customer applications used building OpenSSL."
Kaminsky says it's like having a photo ID with a hologram on it that authenticates the photo and the person. "The bug [instead] sticks the photo on the back of the ID card and then the system sees the photo is 'right,' so it thinks it's you, but the hologram and photo have been disconnected," he says. The attacker basically does this with the digital signature and can pretend to be anyone.
But several elements have to be in place for such an attack, he says, so it's not necessarily high risk at this point. An attacker would need the bug, and the software would have to be using an implementation of the RSA code that uses what's called an "exponent of three," he says. "It's not an attack that you'd go out and do against everyone," he says. "What's devastating about it is you could take a cert from anyone you want."
Ptacek maintains that these elements are typically in place for this type of attack. "A combination of things has to go wrong for attackers to be able to use this to fake signatures and bypass TLS authentication, but that combination of things occurs regularly."
David Maynor, a senior researcher with SecureWorks, says cracking algorithms has been popular academically, especially for government agencies, and these types of attack scenarios are now being shown more commercially by researchers. "Now you're seeing more people cracking algorithms or evaluating them for how sound they are," he says, such as previous MD5 and SHA1 vulnerabilities.
Maynor says launching this type of attack wouldn't be so simple, however. "It works for just a certain subset of keys, and you'd have to find a site with the vulnerability of this type of key."
The bottom line: There's no margin of error in cryptography, says researcher Kaminsky. "You can't play fast and loose with the way standards are written," he says. If something can be inserted into a cryptographic algorithm, "bad things happen."
Kelly Jackson Higgins, Senior Editor, Dark Reading