Een onderzoeker heeft een aanval ontwikkeld op HTTP Strict Transport Security,een standaard die websites gebruiken om browsers te dwingen https te gebruiken. Met de methode zou een kwaadwillende via een man-in-the-middle-aanval logingegevens kunnen onderscheppen.  

Naast Linux-gebruikers zijn ook gebruikers van OS X Lion kwetsbaar, zo deed beveiligingsonderzoeker Jose Selvi uit de doeken op de Europese editie van de Black Hat-beveiligingsconferentie in Amsterdam. In theorie zijn ook OS X Mavericks en Windows 7 en 8 kwetsbaar, maar in de praktijk is voor die besturingssystemen geen realistische aanval op te zetten. De aanval vereist dat de verbinding van het slachtoffer kan worden onderschept, bijvoorbeeld met een vervalst wifi-toegangspunt.

De aanval die Selvi ontwikkelde maakt het mogelijk om HTTP Strict Transport Security compleet te omzeilen, een feature die ervoor moet zorgen dat een gebruiker een bepaalde website alleen via https kan bezoeken. De veilige methode wordt ondersteund door Chrome en Firefox; Internet Explorer volgt binnenkort.

Standaard verloopt het eerste verzoek aan een webserver altijd via http. Sites die https gebruiken, moeten de gebruiker dan ook forwarden naar de https-versie van hun website. Daar zit een kwetsbaarheid: een aanvaller kan die http-request onderscheppen en ervoor zorgen dat de https-sessie niet met de gebruiker, maar met de aanvaller wordt opgezet. De aanvaller kan de inhoud van de pagina’s vervolgens via http doorsturen naar de gebruiker.

Websites kunnen dankzij hsts middels een http-header laten weten dat ze in het vervolg alleen nog maar https kunnen bezoeken; zelfs als de verbinding van een gebruiker daarna wordt onderschept, is hij op websites met hsts in principe veilig, omdat de browser weet dat die sites enkel over https mogen worden bezocht. Daarnaast bevatten Chrome en Firefox een lijst met veelgebruikte websites zoals PayPal en Google die sowieso enkel over https mogen worden bezocht.

In beide gevallen is hsts te omzeilen, stelt Selvi. Dat komt doordat beide features leunen op tijd. Een website laat weten tot hoe ver in de toekomst een https-verbinding moet worden afgedwongen, bijvoorbeeld voor een maand. Hetzelfde gebeurt in de broncode van Chrome: die eist dat websites als PayPal en Google tot drie jaar in de toekomst enkel via https kunnen worden bezocht.

Selvi bedacht daarom een truc om de tijd op het besturingssysteem te veranderen: als die immers drie jaar in de toekomst ligt, geldt de verplichting van de website om enkel https te gebruiken niet meer. Het manipuleren van de tijd bleek op Ubuntu en Fedora vrij eenvoudig: die besturingssystemen updaten de systeemtijd regelmatig via het network time protocol.

Dat protocol heeft wel ondersteuning voor beveiligde verbindingen, maar standaard is dat niet ingeschakeld. Jose was daarom in staat om vervalse ntp-pakketten te versturen, waardoor de systeemtijd op drie jaar in de toekomst werd ingesteld. Daardoor gold de http strict transport security policy van de websites niet meer, en kon de verbinding van websites alsnog worden onderschept. “Tijd is gewoon niet iets waar je op zou moeten vertrouwen”, aldus Selvi.

Gebruikers van Fedora zijn het meest kwetsbaar: dat besturingssysteem synchroniseert elke minuut de tijd, waardoor de aanval het meest eenvoudig op is te zetten. Ubuntu synchroniseert de tijd elke keer bij het booten of als er een netwerkverbinding wordt gemaakt. Een aanvaller zou de verbinding met een beoogd slachtoffer kunnen beëindigen, waarna die de verbinding opnieuw moet maken en de tijd weer wordt gesynchroniseerd. OS X Lion is eveneens kwetsbaar: dat besturingssysteem synchroniseert elke negen minuten de tijd.

Windows-gebruikers zijn minder kwetsbaar. Windows 7 en 8 synchroniseren elke zeven dagen, en bovendien accepteert het besturingssysteem geen wijzigingen in de tijd die groter zijn dan vijftien uur. Daardoor is geen realistische aanval op te zetten voor dat besturingssysteem. OS X Mavericks is ironisch genoeg niet kwetsbaar doordat de tijd niet goed op de achtergrond wordt gesynchroniseerd.

Google heeft in een reactie laten weten dat het gaat om ‘een bekend probleem met http’; de browsermaker lijkt dan ook niet van plan te zijn om het probleem op te lossen.

bron: tweakers.nl