>>
02-september-2019, min leestijd

Darkmatter legt zwakke punt van systeem SSL-certificaten bloot

Kun je vertrouwen op een security-systeem dat alleen gebaseerd is op vertrouwen?

Als de situatie rond Darkmatter een ding laat zien, is het wel dat het huidige systeem van SSL-certificaten uiterst kwetsbaar is. Het security-bedrijf dat een twijfelachtige reputatie heeft, werd recent door Google en Mozilla geweigerd als nieuwe Certificate Authority (CA). De reden: er was onvoldoende vertrouwen. Wat zegt dit eigenlijk over het systeem van SSL-certificaten dat vrijwel volledig is gebaseerd op vertrouwen?

Om te zorgen dat de data die je uitwisselt met een website vertrouwelijk blijft (en dus niet toegankelijk is voor een derde partij) gebruiken we SSL-certificaten. Dit certificaat geeft aan dat het verkeer tussen de bezoeker en de webserver die eigendom is van de aanbieder van de site, veilig is en dus niet afgeluisterd kan worden. Iedere organisatie kan alleen voor haar eigen website bij een CA een dergelijk certificaat aanvragen. Dit betekent dat bijvoorbeeld de ING Bank alleen een certificaat kan aanvragen voor ING.nl. Vervolgens toetst de CA of de genoemde URL inderdaad in het bezit is van de aanvrager. Als dit het geval is wordt het SSL-certificaat uitgegeven.

Hoe heeft Comodo ooit vertrouwen van de browsers gewonnen en hoe weten we zeker dat alle medewerkers geen kwade bedoelingen hebben of chantabel zijn?

Marc-David Meijer, Security Specialist bij Computest

Zoals gezegd is het systeem rond SSL-certificaten gebaseerd op vertrouwen. Op dit moment is Comodo de grootste CA met 41% marktaandeel. Hoe hebben zij het ooit vertrouwen van de browsers gewonnen en hoe weten we zeker dat alle medewerkers geen kwade bedoelingen hebben of chantabel zijn? Zij kunnen als toegang fungeren voor het uitgeven van een vals certificaat waarmee je een man-in-the-middle aanval zou kunnen uitvoeren.

Webverkeer afluisteren

Elke CA kan voor alle URL’s die er zijn certificaten uitgeven. Voor een aanvaller zou het natuurlijk een droomscenario zijn als hij/zij zelf een CA zou zijn. Hiermee zou deze onbelemmerd webverkeer kunnen afluisteren. En als vertrouwen feitelijk de belangrijkste voorwaarde is waar je aan moet voldoen, hoe moeilijk is het dan eigenlijk voor een hacker om zelf een CA te starten? Het is weliswaar kostbaar, maar zeker niet onbereikbaar. Nu is bij Darkmatter waarschijnlijk op tijd aan de rem getrokken voordat zij hun spionage-activiteiten konden uitbreiden via hun status als CA, maar dit kan uiteraard ook fout gaan.

Als vertrouwen feitelijk de belangrijkste voorwaarde is waar je aan moet voldoen, hoe moeilijk is het dan voor een hacker om zelf een CA te starten? Het is weliswaar kostbaar, maar zeker niet onbereikbaar.

Marc-David Meijer, Security Specialist bij Computest

Om certificaten te misbruiken hoeft een hacker overigens niet eens eigenaar te zijn van een CA. Neem bijvoorbeeld Diginotar, een Nederlandse CA. Een hacker wist binnen te dringen en kon eenvoudig valse certificaten van bekende websites, onder meer van de Nederlandse overheid, aanmaken. Daarmee konden malafide sites zich voordoen als de echte websites. De oorzaak van de succesvolle hack waren heel simpel achterstallige updates in het CMS dat werd gebruikt door Diginotar.

Initiatieven voor meer beveiliging

Omdat meer partijen inzien dat het huidige systeem erg kwetsbaar is, zijn er inmiddels wel initiatieven om meer security in te bouwen. Een deeloplossing voor het betrouwbaarder maken van het systeem rond SSL-certificaten, is bijvoorbeeld het Certificate Transparency Project. Dit is een initiatief van Google dat uitgegeven certificaten bijhoudt in publiek beschikbare logs. Hierdoor kan een browser een ontvangen certificaat checken met het log en zo controleren of het certificaat valide is.

Browsers doen deze controle niet zomaar; alleen als een site-eigenaar een Expect-CT header toevoegt met de juiste instellingen wordt de check uitgevoerd en kan de eindgebruiker een waarschuwing te zien krijgen. Er zijn echter helaas nog niet veel websites met een dergelijke header en tot op heden zijn er ook nog maar weinig browsers die ondersteuning bieden voor deze header.

Natuurlijk kan ook een kwaadwillende CA botweg in een Certificate Transparency log publiceren, waardoor de check van de browser goed gaat. Alleen als deze logs worden gecontroleerd door een persoon kan het opvallen dat het certificaat voor bijvoorbeeld google.com opeens door een 'vreemde' CA uitgegeven wordt. Hier zijn dan ook weer diensten voor, zoals bv https://suricat.io, maar waterdicht is het allemaal nog steeds niet.

Kritische community

Tot op heden lijken een kritische community en initiatieven als het Certificate Transparency Project voldoende te zijn om het systeem ogenschijnlijk veilig te houden. Toch kun je concluderen dat er nog zeker ruimte is voor verbetering. Bij Darkmatter waren er verschillende signalen waaruit men kon afleiden dat het niet om een betrouwbare partij ging. Maar wat als de volgende aanvraag komt van een partij met een schijnbaar onberispelijke reputatie?

Bij Darkmatter waren er verschillende signalen waaruit men kon afleiden dat het niet om een betrouwbare partij ging. Maar wat als de volgende aanvraag komt van een partij met een schijnbaar onberispelijke reputatie?

Marc-David Meijer, Security Specialist bij Computest

Het feit dat Google vorig jaar de SSL-certificaten van Symantec op de zwarte lijst zette kwam voor velen als een verrassing. Bij een gevestigde security-leverancier uit Silicon Valley zou je er toch vanuit mogen gaan dat het met het vertrouwen wel goed zit. Uit de certificate transparency logs bleek dat Symantec in een testomgeving certificaten had uitgegeven van domeinen zonder dat de eigenaren dit wisten. Hierbij leken versleutelde verbindingen naar de sites veilig, maar kon dit niet worden gegarandeerd. Dit betekent dat via een man-in-the-middle aanval mogelijk het webverkeer zou kunnen worden afgeluisterd.

Door dit soort incidenten heeft het huidige systeem van CA’s wellicht zijn langste tijd gehad. Maar zolang er echter geen sterk alternatief is, is vertrouwen van de community het belangrijkste wapen waar we het mee zullen moeten doen. En dat is eigenlijk best bijzonder in een tijd waar de wereld wordt gedreven door technologie.