Michael Zusman, principal consultant with The Intrepidus Group, showed attendees at the DefCon17 hacker conference late last week how with a phony identity he was able to successfully score SSL certificates from multiple legitimate CAs, including StartCom, and THAWTE.
"It's easy to game CAs," said Zusman. He says that's because the automated certificate validation process used by most CAs to expedite the process for customers and lower overhead has actually simplified things for an attacker as well.
"CAs are just like any other ecommerce site. Why would someone want to hack them? They are storing personal and business information," Zusman says. "But CAs are not doing everything they need to be doing [to secure their Web applications]."
Zusman found weaknesses in how CAs handle domain validation, as well as typical Web application vulnerabilities, like cross-site scripting (XSS) and SQL injection on their sites, and information leakage problems. In one case, he was able to get signed, trusted SSL certificates for two of StrongWebMail's domains -- www.strongwebmail.com and mail.strongmail.com. (Zusman didn't disclose the name of the CA.)
SSL has been in the hot seat lately, with the spotlight during the past few months on newly exposed weaknesses in SSL, including researcher Moxie Marlinspike's demonstration at Black Hat last week on how he weaponized CSR to dupe a CA into giving him a valid certificate. In addition, Dan Kaminsky, director of penetration testing for IOActive, revealed weaknesses in X.509 authentication.
Zusman's work takes the SSL threat to yet another level: to the Web applications of the organizations that issue the certificates. "CAs need to be held accountable for their lack of security, especially since everyone is looking at SSL as a target now," Zusman said in his presentation at Defcon17. "If you can game a CA's validation mechanism, they don't get hurt -- they might even make some money. [Those] who suffer are those who use the Internet."
Meanwhile, Zusman is working on a way to protect users from rogue certificate attacks. He's writing a proof-of-concept client-side proxy tool for the browser that lets users decide which SSL certs they trust. "Essentially, it mimics the public key whitelisting behavior of an SSH client," he says. "If the user tries to connect to a Website where an attacker presents a rogue SSL certificate that is signed by a trusted CA, the tool will prompt the user that this certificate is not in the whitelist."
When the browser tries to connect to an SSL-secured site, the proxy checks its SSL certificate against a whitelist the user keeps stored locally. If it's not on the whitelist, the user gets prompted to either block the site or allow a connection.
At DefCon, Zusman demonstrated several attacks he had performed on CA apps. In one, he was able to bypass the validation process at StartCom and get signed certificates for some low-profile Websites. He tried the same for VeriSign and PayPal certificates, and got as far as bypassing the validation step, but the blacklist prevented him from actually getting certs for those high-profile sites. He also was able to glean and use information that leaked from THAWTE's login application.
When you apply for an SSL certificate, you typically get to choose an email alias to show you're authorized to that domain. "But email is not that secure," Zusman says. "And it's going out in plain text, with no encryption."
The irony, he says, is that you pay money for access to a private key, which is controlled by a CA's potentially insecure Web applications.
Earlier last week at Black Hat USA, Zusman and Alex Sotirov -- who in March first demonstrated possible man-in-the middle attacks on the more secure Extended Validation SSL certificate at CanSecWest -- released a proxy tool that can attack EV SSL session, even with the secure green badge displaying on the screen.
Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.