Dirty Cow is een nieuw ontdekte, maar 9 jaar oude bug die kan worden uitgebuit om root-toegang te verlenen op alle versies van Android.
Ondanks het feit dat tienduizenden gebruikers zich actief verdiepen in de broncode van de Linux-kernel, op zoek naar beveiligingsfouten, is het niet ongehoord dat ernstige bugs onopgemerkt blijven. Hoewel de kans dat we iets ongelooflijk ernstigs missen kleiner wordt doordat er meer ogen zijn die de code controleren, zijn we tenslotte allemaal mensen en zullen we zeker een fout maken. De fout lijkt deze keer helaas behoorlijk ernstig te zijn. A misbruik van privilege-escalatie werd vorige week onlangs ontdekt, en hoewel het dat ook is is al gepatcht in de hoofdlijn Linux-kernel zou de bug dat kunnen zijn mogelijk worden uitgebuit op vrijwel elke Android-telefoon op de markt totdat elk apparaat de juiste kernelpatch ontvangt.
Enter Vuile Koe
De privilege-escalatiebug staat in de volksmond bekend als de Dirty Cow-exploit, maar wordt in het bugtrackersysteem van de Linux-kernel gecatalogiseerd als CVE-2016-5195. Hoewel de bug pas vorige week werd ontdekt, bestond deze bug al in de code van de Linux-kernel
9 jaar. Bovendien is de exploiteerbare code te vinden in een sectie van de Linux-kernel die wordt meegeleverd vrijwel elk modern besturingssysteem dat bovenop de Linux-kernel is gebouwd - inclusief Android, door de weg. Wat nog erger is, is dat de onderzoekers die de exploit hebben ontdekt, bewijs hebben gevonden dat deze exploit wel bestaat kwaadwillig gebruikt wordt in de echte wereld, dus adviseren ze alle leveranciers die software leveren die op de Linux-kernel is gebouwd om de exploit onmiddellijk te patchen.Dirty Cow is op zichzelf geen exploit, maar eerder een kwetsbaarheid. Deze kwetsbaarheid maakt het echter mogelijk om de rechten van een gebruikersruimteproces te escaleren, waardoor het supergebruikersrechten krijgt. Door misbruik te maken van dit beveiligingslek kan een kwaadaardig gebruikersruimteproces onbelemmerde root-toegang krijgen op het apparaat van een slachtoffer. In meer technische termen betreft de bug een race condition van de Linux-geheugenduplicatietechniek die bekend staat als copy on write. Door misbruik te maken van deze race condition kunnen gebruikers schrijftoegang krijgen tot geheugentoewijzingen die normaal gesproken op alleen-lezen zijn ingesteld. Er kunnen meer details over de kwetsbaarheid worden verzameld hier, hier, En hier.
Er wordt gezegd dat het vrij triviaal is om misbruik te maken van de beveiligingskwetsbaarheid, en dat zelfs al binnen enkele dagen nadat de kwetsbaarheid openbaar is gemaakt proof-of-concept privilege-escalatie-exploit voor is aangetoond alle Android-apparaten. Elk Android-apparaat met een Linux-kernelversie groter dan 2.6.22 (lees: elke bestaande Android-distributie) kunnen mogelijk het slachtoffer worden van deze proof-of-concept-exploit. Hoewel de proof-of-concept-exploit feitelijk geen root-toegang krijgt, maakt het aanvallen van het systeem met behulp van deze kwetsbaarheid dat vrij eenvoudig. In een e-mail aan ArsTechnica zegt Phil Oester, een Linux-kernelontwikkelaar die bekende real-world exploits van Dirty Cow catalogiseert op zijn website zei dit over de bug:
Tijdens mijn tests kan elke gebruiker binnen < 5 seconden root worden, zeer betrouwbaar. Enge dingen.
Het beveiligingslek kan het gemakkelijkst worden misbruikt met lokale toegang tot een systeem zoals shell-accounts. Minder triviaal is dat elke kwetsbaarheid in een webserver/applicatie waardoor de aanvaller een bestand naar het getroffen systeem kan uploaden en uitvoeren, ook werkt.
De specifieke exploit die naar mijn systeem werd geüpload, werd gecompileerd met GCC 4.8.5, uitgebracht in 20150623, hoewel dit niet mag impliceren dat de kwetsbaarheid niet eerder beschikbaar was dan die datum, gezien de datum ervan levensduur. Wat betreft wie het doelwit is: iedereen die Linux op een webgerichte server draait, is kwetsbaar.
De afgelopen jaren heb ik al het inkomende verkeer naar mijn webservers vastgelegd voor forensische analyse. Deze praktijk is bij talloze gelegenheden van onschatbare waarde gebleken en ik zou het aan alle beheerders aanbevelen. In dit geval kon ik het geüploade binaire bestand uit die opnames extraheren om het gedrag ervan te analyseren en te escaleren naar de juiste beheerders van de Linux-kernel.
Nadat ontwikkelaars verder hadden gewerkt aan het aantonen van de effectiviteit van het exploiteren van Dirty Cow op Android, kon één ontwikkelaar dit doen met succes zijn HTC rooten apparaat binnen enkele seconden door misbruik te maken van de kwetsbaarheid. Wij bij XDA verwelkomen over het algemeen de mogelijkheid voor gebruikers om root-toegang te verkrijgen, maar we vieren het bestaan ervan niet root-exploits zoals deze, vooral een die zo wijdverspreid is en potentieel ongelooflijk gevaarlijk om te beëindigen gebruikers. Om je een idee te geven van hoe gevaarlijk Dirty Cow in het wild kan zijn, heeft YouTuber Computerphile een korte video samengesteld het demonstreren van de potentiële kwaadaardige aanvalsvectoren die hackers kunnen gebruiken om stilletjes root-toegang op uw computer te verkrijgen apparaat.
Bron: ArsTechnica [1]
Bron: ArsTechnica [2]