« Scammers Use Microsoft and IRS Open Redirects To Deploy Malware | Main | OWASP releases Application Security Verification Standard for developers, security pros, and buyers »

MD5 considered harmful today: Creating a rogue CA certificate

UPDATE: I've added a link to the presentation slides and some other sites providing coverage of this.

The following paper was published today at the CCC conference by Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, and Benne de Weger.

"We have identified a vulnerability in the Internet Public Key Infrastructure (PKI) used to issue digital certificates for secure websites. As a proof of concept we executed a practical attack scenario and successfully created a rogue Certification Authority (CA) certificate trusted by all common web browsers. This certificate allows us to impersonate any website on the Internet, including banking and e-commerce sites secured using the HTTPS protocol.

Our attack takes advantage of a weakness in the MD5 cryptographic hash function that allows the construction of different messages with the same MD5 hash. This is known as an MD5 "collision". Previous work on MD5 collisions between 2004 and 2007 showed that the use of this hash function in digital signatures can lead to theoretical attack scenarios. Our current work proves that at least one attack scenario can be exploited in practice, thus exposing the security infrastructure of the web to realistic threats.

As a result of this successfull attack, we are currently in possession of a rogue Certification Authority certificate. This certificate will be accepted as valid and trusted by all common browsers, because it appears to be signed by one of the root CAs that browsers trust by default. In turn, any website certificate signed by our rogue CA will be trusted as well. If an unsuspecting user is a victim of a man-in-the-middle attack using such a certificate,  they will be assured that the connection is secure through all common security indicators:  a "https://" url in the address bar, a closed padlock and messages such as "This certificate is OK" if they chose to inspect the certificate.

This successful proof of concept shows that the certificate validation performed by browsers can be subverted and malicious attackers might be able to monitor or tamper with data sent to secure websites. Banking and e-commerce sites are particularly at risk because of the high value of the information secured with HTTPS on those sites. With a rogue CA certificate, attackers would be able to execute practically undetectable phishing attacks against such sites.

The infrastructure of Certification Authorities is meant to prevent exactly this type of attack. Our work shows that known weaknesses in the MD5 hash function can be exploited in realistic attack, due to the fact that even after years of warnings about the lack of security of MD5, some root CAs are still using this broken hash function.

The vulnerability we expose is not in the SSL protocol or the web servers and browsers that implement it, but in the Public Key Infrastructure. This infrastructure has applications in other areas than the web, but we have not investigated all other possible attack scenarios. So other attack scenarios beyond the web are conceivable, such as in the areas of code signing, e-mail security, and in other areas that use certificates for enabling digital signatures or public key encryption.

The rest of this document will explain our work and its implications in a fair amount of detail. In the interest of protecting the Internet against malicious attacks using our technique, we have omitted the critical details of our sophisticated and highly optimized method for computing MD5 collisions. A scientific paper about our method is in preparation and will be released after a few months, so that the affected Certification Authorities have had some time to remedy this vulnerability."

Very cool research with major implications.

Read more: http://www.win.tue.nl/hashclash/rogue-ca/
Presentation Slides: http://www.phreedom.org/research/rogue-ca/md5-collisions-1.0.ppt
Microsoft Advisory: http://www.microsoft.com/technet/security/advisory/961509.mspx
Mozilla Advisory: http://blog.mozilla.com/security/2008/12/30/md5-weaknesses-could-lead-to-certificate-forgery/
ZDNET Article: http://blogs.zdnet.com/security/?p=2339
Securityfocus Article: http://www.securityfocus.com/news/11541
Wired Article: Researchers Use PlayStation Cluster to Forge a Web Skeleton Key
SCMagazine Article: Hackers find hole to create rogue digital certificates
Computerworld: MD5 CA hack and the PS3
200 PS3's Used to Expose Internet Security Flaw
TheWHIR: Hackers Forge SSL Certificate
TheRegister: http://www.theregister.co.uk/2008/12/30/ssl_spoofing/
Ivan Ristic's Blog: http://blog.ivanristic.com/2008/12/howto-create-a-rogue-ca-certificate-for-2000.html
Securosis: What Average Users Need To Know About The SSL/Root Certificate Authority Exploit


Feed You can follow this conversation by subscribing to the comment feed for this post.

All Comments are Moderated and will be delayed!