image

Hackers vinden gat in SSL-beveiliging websites

donderdag 30 juli 2009, 11:37 door Redactie, 12 reacties

Hackers hebben tijdens de Black Hat conferentie in Las Vegas aangetoond hoe ze de SSL-certificaten van alle websites op het internet kunnen nabootsen. Het probleem zit hem in de manier waarop SSL-certificaten worden uitgegeven en browsers ze implementeren. "Deze kwetsbaarheid treft alle SSL implementaties, omdat iedereen die geprobeerd heeft SSL te implementeren dezelfde fout maakte", zegt Moxie Marlinspike. Normaliter kan een aanvaller met een website, bijvoorbeeld nepsite.com, geen certificaat voor paypal.com aanvragen, aangezien hij daar niet de eigenaar van is.

Een Certificate Authority (CA) kijkt voor het uitgeven van een SSL-certificaat naar de Whois-gegevens van een domein en stuurt ter controle een e-mail naar de eigenaar. Een aanvaller kan echter wel voor een subdomein van zijn site een SSL-certificaat aanvragen, bijvoorbeeld voor Paypal.com\0.nepsite.com. De CA zal in dit geval gewoon een certificaat uitgeven, aangezien de aanvaller kan aantonen dat hij de eigenaar van zijn eigen site is. De truc van Marlinspike bestaat uit het opnemen van een "null-byte" in de aanvraag voor een SSL-certificaat.

Firefox
Vanwege een fout in de manier waarop browsers SSL-certificaten implementeren, is het mogelijk om die te laten geloven dat het van een andere site afkomstig is, in dit geval van PayPal. De browser stopt na de null-byte met het lezen van de overige karakters. Een aanvaller die een wildcard domein registreert, bijvoorbeeld *\0.nepsite.com, krijgt dan een certificaat waarmee hij zich als alle sites op het internet kan voordoen. Volgens Marlinspike is op dit moment alleen Firefox 3.5 niet kwetsbaar voor dit probleem en werkt Mozilla aan een oplossing voor Firefox 3.0. Wat betreft de null-byte is het onduidelijk waarom Certificate Authorities die accepteren, aangezien er geen legitieme reden is om die in een domeinnaam te hebben.

Reacties (12)
30-07-2009, 11:45 door Anoniem
Foutieve titel!!!!!! Had moeten zijn: "Hackers vinden een onbetrouwbare CA".

Er zit dus GEEN gat in de SSL beveiliging.
30-07-2009, 12:26 door SirDice
De browser stopt na de backslash nul met het lezen van de overige karakters.
Volgens mij alleen indien er gebruik gemaakt wordt van C strings (string.h). Een C++ std::string kan namelijk wel embedded \0 karakters aan.
30-07-2009, 12:28 door SirDice
Door Anoniem: Er zit dus GEEN gat in de SSL beveiliging.
Toch wel want een dergelijke \0 in de string mag natuurlijk niet voor problemen zorgen.
30-07-2009, 12:52 door Anoniem
Door SirDice:
Door Anoniem: Er zit dus GEEN gat in de SSL beveiliging.
Toch wel want een dergelijke \0 in de string mag natuurlijk niet voor problemen zorgen.

Dan ligt het probleem nog altijd in de browser, niet in SSL :)
30-07-2009, 12:58 door Anoniem
Door SirDice:
Door Anoniem: Er zit dus GEEN gat in de SSL beveiliging.
Toch wel want een dergelijke \0 in de string mag natuurlijk niet voor problemen zorgen.

Toch niet want het gat zit NIET in het SSL protocol, maar in de browser!
30-07-2009, 13:00 door TraxDigitizer
Ik vind de titel ook enigszins misleidend. Het betreft hier de clientside SSL-implementaties in de browsers. Zoals SirDice al zegt mag het natuurlijk niet voorkomen dat \0 in de string voor problemen zorgt. Daarnaast verbaasd het mij dat er geen betere controle plaatsvindt op de aanvraag door de CA. Als een persoon een aanvraag voor "Paypal.com\0.nepsite.com" voorbij ziet komen, moet er toch wel een belletje gaan rinkelen lijkt me.
30-07-2009, 13:15 door SirDice
Door TraxDigitizer: Als een persoon een aanvraag voor "Paypal.com\0.nepsite.com" voorbij ziet komen, moet er toch wel een belletje gaan rinkelen lijkt me.
Waarschijnlijk komt dit omdat een \0 feitelijk niets print (non-printable ascii). Met een propertioneel font zul je waarschijnlijk makkelijk over paypal.com .netsite.com ipv paypal.com.nepsite.com heen kijken. Overigens kun je je natuurlijk afvragen of dergelijke subdomeinen sowieso niet geweerd zouden moeten worden ivm phishing.
30-07-2009, 13:24 door Anoniem
word weer tijd voor pen en ouderwets papier
30-07-2009, 13:56 door Anoniem
Een certificaat is in essentie een random string welke een partij uniek identificeerd. Je kunt dus ook je eigen certificaten maken zonder dat je hiervor gebruik hoeft te maken van een 3rd party. In dit artikel wordt gesteld dat iedereen last heeft van dit probleem. Echter als je je eigen certificaten maakt en geen SSL gebruikt heb je geen last van dit probleem. Een operationeel systeem dat bijvoorbeeld geen last heeft van dit probleem is te vinden op de link http://www.wuala.com/freemovequantumexchange In dit systeem wordt true quantum randomness gebruikt om eigen certificaten te maken en er wordt geen gebruik gemaakt van SSL.
31-07-2009, 08:58 door Anoniem
Door Anoniem: Foutieve titel!!!!!! Had moeten zijn: "Hackers vinden een onbetrouwbare CA".

Er zit dus GEEN gat in de SSL beveiliging.

Volledig mee eens, de titel geeft volledig foute informatie.
Niet zo netjes voor een security-site!
03-08-2009, 11:09 door Anoniem
is de titel veranderd? ik vind em namelijk wel goed. 'SSL-beveiliging voor websites' omvat het hele spectrum, van de CA via het protocol tot de browser.
28-08-2009, 15:30 door Anoniem
Als een persoon een aanvraag voor "Paypal.com\0.nepsite.com" voorbij ziet komen, moet er toch wel een belletje gaan rinkelen lijkt me.
Misschien gaat 't tegenwoordig wel met een geautomatiseerd systeem? Dus dan kijkt er helemaal geen persoon meer naar dat mailtje.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.