Maart is nog geen dag oud als beveiligingsonderzoekers een nieuwe bug presenteren waarmee SSL-verbindingen binnen enkele uren te ontsleutelen zijn. De nieuwe kwetsbaarheid heeft de koosnaam DROWN gekregen, wat staat voor “Decrypting RSA using Obsolete and Weakened eNcryption”. De impact van de kwetsbaarheid (met CVE-nummer CVE-2016-0800), is inderdaad zo ernstig als de naam doet vermoeden. Aanvallers die in staat zijn om de verbinding te onderscheppen kunnen namelijk door middel van deze kwetsbaarheid alle verzonden vertrouwelijke informatie inzien. Dit kan logischerwijs grote gevolgen hebben voor organisaties bijvoorbeeld als het gaat om gevoelige gegevens over productontwikkeling, klanten en financiën waarmee kwaadwillenden eenvoudig hun voordeel kunnen doen.
Hoe werkt DROWN?
Wat DROWN zo ernstig maakt is dat de kwetsbaarheid gebruikt kan worden om een verbinding die is versleuteld door middel van TLS te ontsleutelen.
Een aanvaller moet hiervoor dus in staat zijn om de verbinding van een gebruiker te kunnen onderscheppen. Hierbij is belangrijk dat een aanvaller een groot aantal verbindingen weet te onderscheppen. Dit kan een aanvaller bijvoorbeeld bewerkstelligen door lange tijd af te luisteren of een gebruiker naar bijvoorbeeld een eigen website te lokken die de gebruiker een groot aantal verbindingen op laat zetten naar jouw applicatie. Het maakt niet uit met welk encryptieprotocol de verbindingen versleuteld zijn, als deze maar gebruik maken van het RSA-sleutel uitwisselingsalgoritme. In dit algoritme kiest bijvoorbeeld de webbrowser van een gebruiker een grote willekeurige waarde die wordt versleuteld met het beveiligingscertificaat van de server. Deze waarde is vanaf dat moment de sessiesleutel. Vervolgens kan de aanvaller veelvuldig verbindingen maken naar de server die het SSLv2-encryptieprotocol ondersteunt en aangepaste versleutelde berichten van de gebruiker opsturen. Door de reactie van de server te bestuderen kan de aanvaller uiteindelijk achter de waarde van de sessiesleutel komen.
Ben ik kwetsbaar?
De onderzoekers concluderen dat op de dag van publicatie van het lek dat een derde (33%) van alle HTTPS-websites kwetsbaar zijn voor DROWN. Als de bevindingen en adviezen over SSL-encryptieprotocollen die Pine op basis van een server-scan doet zijn opgevolgd, is er niks aan de hand. Wij raden het gebruik van het SSLv2-encryptieprotocol immers al jaren af. Maar het is daarom wel belangrijk om te realiseren dat alle diensten die gebruik maken van het SSLv2-encryptieprotocol kwetsbaar zijn. Ook bijvoorbeeld mailservers of VPN-servers.
Een dienst is kwetsbaar als deze zowel TLS als SSLv2-verbindingen ondersteund of als dezelfde private key wordt gebruikt op meerdere servers en één van deze servers een dienst aanbiedt die ondersteuning biedt voor het SSLv2-encryptieprotocol. De kwetsbaarheid is dus niet beperkt tot een enkele server, alle servers die SSL-diensten aanbieden en hierbij de private key delen zijn door een aanvaller te misbruiken, mits een van de servers ondersteuning biedt voor het SSLv2-encryptieprotocol. Dit komt vaak voor als een dienst bijvoorbeeld bestaat uit meerdere servers.
Hoe kan ik gebruikers beschermen tegen DROWN?
Hoe zorg je dat jouw organisatie bij alle omstandigheden veilig boven water blijft? Het korte antwoord is: ondersteun geen SSLv2. Doordat SSL-configuraties lastig te implementeren kunnen zijn is dit makkelijker gezegd dan gedaan, een fout is immers zo gemaakt. Voor de meest voorkomende softwarepakketten of -diensten kan dit een makkelijke fix zijn, in sommige gevallen is het zelfs slechts een configuratie optie toevoegen of aanpassen.
De volgende tabel bevat een aantal quick fixes voor de meest voorkomende softwarepakketten:
Essentieel is dat geen enkele dienst ondersteuning biedt voor SSLv2. Na het doorvoeren van de wijzigingen moeten alle diensten worden herstart.
Kan ik aanvallen detecteren?
Het kan mogelijk zijn te detecteren of gebruikers worden aangevallen of aangevallen zijn. Als er geen grote aantallen SSL-verbindingen zijn gemaakt (door bijvoorbeeld de logbestanden van een IDS of webserver te bestuderen) is het vrij zeker te vast stellen of een gebruiker is aangevallen. Om dit vast te kunnen stellen is het wel belangrijk om te weten hoeveel verkeer er normaal gesproken is.
Zekerheid
Om er zeker van te zijn dat geen van je servers kwetsbaar is voor de DROWN-aanval, kunnen onze Security Specialists een “quick-scan” uitvoeren van de infrastructuur.
Tijdens deze “quick-scan” worden de SSL-diensten binnen de infrastructuur geïdentificeerd en worden deze gecontroleerd op DROWN en andere bekende SSL-kwetsbaarheden.
Op deze manier zorg je dat je iedereen droge voeten houdt en de organisatie is verzekerd van een behouden vaart.