Het is onderzoekers van de Technische Universiteit van Eindhoven, het Nederlandse Centrum Wiskunde & Informatica, het EPFL in Zwitserland en onafhankelijke beveiligingsonderzoekers Alexander Sotirov en Jacob Appelbaum gelukt om SSL te kraken via een lek in de Internet Public Key-infrastructuur.

Het is de onderzoekers gelukt om een kwaadaardige Certification Authority op te zetten die SSL-certificaten uit kan geven die door alle browsers goedgekeurd worden. Hierdoor kunnen gevaarlijke websites zich als authentiek uitgeven en bijvoorbeeld beveiligde bankwebsites nabootsen.

Tevens betekent deze nieuwe kraak dat phishing- en man-in-the-middle-aanvallen een nieuwe impuls krijgen gezien het feit dat versleuteld verkeer nu te onderscheppen is zonder dat de gebruiker hiervoor gewaarschuwd wordt. Dit werd bekendgemaakt op het Chaos Communication Congress in Berlijn.

MD5-kraak

SSL-certificaten worden gebruikt voor versleutelde verbindingen zodat gebruikers kunnen controleren of ze zich op de juiste website bevinden. Deze certificaten worden voorzien van een digitale MD5-handtekening die uitgegeven wordt door een Certification Authority. Deze handtekening kan nu nagemaakt kunnen worden dankzij een lek in de cryptografische-hashfunctie van MD5.

Bij het uitgeven van de openbare sleutel is gegarandeerd dat de identiteit van de handtekening is gecontroleerd en dat de eigenaar ook de corresponderende privésleutel in zijn bezit heeft. Iedereen die de openbare sleutel heeft, kan zo de handtekening op het CA-certificaat controleren.

Dankzij dit lek is het mogelijk om verschillende berichten met dezelfde MD5-waarde te maken. Iets wat Nederlandse onderzoekers in 2007 al aantoonden toen ze twaalf unieke PDF-bestanden met elk dezelfde MD5-waarde toonden.

Werking aanval

Om de aanval succesvol te laten verlopen, vroegen de onderzoekers om een commerciële Certification Authority die alle browsers vertrouwen en die gebruik maakt van MD5 om de handtekening te generen. Hoewel MD5 reeds is afgeraden, wordt het nog vaak gebruikt door bijvoorbeeld RSA Data Security, Thawte, Verisign en RapidSSL.

Omdat het verzoek legitiem is, wordt het door certificaat door de CA ondertekend. Hierna moet een intermediary CA certificate gebruikt worden waarmee andere certificaten te ondertekenen zijn. Gezien de MD5-hashes van zowel het legitieme als het kwaadaardige certificaat hetzelfde zijn, kan de handtekening van het legitieme certificaat gekopieerd worden naar de kwaadaardige en blijft het toch geldig.

Wie vervolgens een kwaadaardige website bezoekt krijgt zowel het legitieme als het kwaadaardige CA-certificaat opgestuurd. De handtekening van die site wordt geverifieerd door het kwaadaardige certificaat en dus geaccepteerd door de browser waardoor de gebruiker er niets van zal merken.

Een oplossing voor dit probleem is simpelweg om geen MD5 meer te gebruiken. In plaats daarvan zou het SHA-1- of SHA-2-algoritme mogelijke oplossingen kunnen zijn. Indien die overstap niet gemaakt kan worden en CA’s toch vast blijven zitten aan MD5, moeten zij als tijdelijke oplossing de serienummers van alle certificaten willekeurig maken. Overigens staat SHA-1 hetzelfde lot te wachten als MD5, omdat ook dat gekraakt is.

De onderzoekers hebben voor de kraak tweehonderd PlayStation 3-consoles gebruikt voor het bruteforcen. Eén PlayStation 3 staat namelijk gelijk aan veertig pc’s met één enkele coreprocessor als het aankomt op bruteforcen. Voor alle berekening hadden de onderzoekers drie dagen nodig. De aanval zou dus ook uitgevoerd kunnen worden door botnetbeheerders.

Bezitters van een certificaat ondertekend met MD5 hoeven nog niets te doen. "Legitiem verkregen digitale certificaten zijn veilig en vertrouwd, zelfs als ze met MD5 getekend zijn. Onze methode vereist de aanschaf van een speciaal gemaakt digitaal certificaat van een CA en heeft geen invloed op certificaten die voor andere websites zijn uitgegeven," aldus de onderzoekers tegenover Security.NL.

Het volledige onderzoek moet verschijnen in 2009. Meer informatie en een gedetailleerdere omschrijving kan hier worden gevonden.