Video: Heartbleed Exploit - Discovery & Exploitation (November 2024)
In de week sinds onderzoekers de Heartbleed-kwetsbaarheid in OpenSSL openbaarden, is er veel discussie geweest over wat voor soort informatie aanvallers daadwerkelijk kunnen verkrijgen door de bug te exploiteren. Blijkt heel veel.
Zoals Security Watch eerder heeft opgemerkt, is Heartbleed de naam van een fout in OpenSSL die informatie in het geheugen van de computer lekt. (Bekijk de geweldige strip van XKCD waarin de fout wordt uitgelegd) Onderzoekers ontdekten dat inloggegevens, gebruikersinformatie en andere informatie kunnen worden onderschept door de fout te misbruiken. Experts dachten dat het ook mogelijk zou zijn om de private sleutel van de server te verkrijgen.
Certificaten en privésleutels worden gebruikt om te verifiëren dat een computer (of mobiel apparaat) verbinding maakt met een legitieme website en dat alle doorgegeven informatie gecodeerd is. Browsers geven een beveiligde verbinding met een hangslot aan en tonen een waarschuwing als het certificaat ongeldig is. Als aanvallers privésleutels kunnen stelen, kunnen ze een nepwebsite opzetten die er legitiem uitziet en gevoelige gebruikersgegevens onderschept. Ze kunnen ook gecodeerd netwerkverkeer decoderen.
De Security Watch-test
Benieuwd wat we konden doen met een server met een kwetsbare versie van OpenSSL, startten we een exemplaar van Kali Linux en laadden de Heartbleed-module voor Metasploit, een penetratietestraamwerk van Rapid7. De bug was eenvoudig genoeg om te exploiteren en we ontvingen strings terug uit het geheugen van de kwetsbare server. We hebben het proces geautomatiseerd om herhaaldelijk op de server te blijven slaan terwijl we verschillende taken op de server uitvoeren. Na een hele dag de tests te hebben uitgevoerd, hadden we veel gegevens verzameld.
Het verkrijgen van gebruikersnamen, wachtwoorden en sessie-ID's bleek redelijk eenvoudig, hoewel ze begraven lagen in wat eruit ziet als een heleboel gobblygook. In een real-life scenario, als ik een aanvaller was, kunnen de inloggegevens zeer snel en sluipend worden gestolen, zonder dat daarvoor veel technische expertise nodig is. Er is echter een beetje geluk mee betrokken, omdat het verzoek de server moest raken op het juiste moment dat iemand zich aanmeldde of interactie had met de site om de informatie 'in het geheugen' te krijgen. De server moest ook het juiste deel van het geheugen raken en tot nu toe hebben we geen manier gevonden om dat te regelen.
Er zijn geen privésleutels weergegeven in onze verzamelde gegevens. Dat is goed toch? Het betekent dat het, ondanks onze worst-case scenario-zorgen, niet eenvoudig is om sleutels of certificaten van kwetsbare servers te halen - een ding minder om ons allemaal zorgen over te maken in deze post-Heartbleed wereld.
Zelfs de slimme mensen van Cloudflare, een bedrijf dat beveiligingsservices voor websites levert, leken het ermee eens te zijn dat het geen eenvoudig proces was. Niet onmogelijk, maar moeilijk om te doen. "We hebben een groot deel van de tijd besteed aan het uitvoeren van uitgebreide tests om erachter te komen wat er via Heartbleed kan worden blootgesteld, en in het bijzonder om te begrijpen of private SSL-sleutelgegevens gevaar liepen, " schreef Nick Sullivan, een systeemingenieur bij Cloudflare, aanvankelijk op de bedrijfsblog vorige week. "Als het mogelijk is, is het op zijn minst heel moeilijk, " voegde Sullivan toe.
Het bedrijf heeft vorige week een kwetsbare server opgezet en de beveiligingsgemeenschap gevraagd om te proberen de private coderingssleutel van de server te verkrijgen met behulp van de Heartbleed-bug.
Maar eigenlijk…
Nu komt de kracht van crowdsourcing. Negen uur nadat Cloudflare zijn uitdaging had opgezet, verkreeg een beveiligingsonderzoeker met succes de privésleutel na het sturen van 2, 5 miljoen verzoeken naar de server. Een tweede onderzoeker slaagde erin hetzelfde te doen met veel minder aanvragen - ongeveer 100.000, zei Sullivan. Dit weekend volgden nog twee onderzoekers.
"Dit resultaat herinnert ons eraan de kracht van het publiek niet te onderschatten en benadrukt het gevaar van deze kwetsbaarheid, " zei Sullivan.
We gingen terug naar onze testopstelling. Dit keer gebruikten we het heartleech-programma van Robert Graham, CEO van Errata Security. Het duurde uren, verbruikte veel bandbreedte en genereerde tonnen gegevens, maar uiteindelijk hebben we de sleutel verkregen. We moeten nu testen op andere servers om te controleren of dit geen toevalstreffer is. Security Watch zal ook onderzoeken hoe het feit dat OpenSSL is geïnstalleerd op routers en andere netwerkapparatuur deze apparaten in gevaar brengt. We zullen updaten wanneer we meer resultaten hebben.
In plaats van onwaarschijnlijk te zijn, "kan iedereen gemakkelijk een privésleutel krijgen", concludeerde Graham. Dat is een enge gedachte.