Dirty Cow är en nyupptäckt, men 9 år gammal bugg som kan utnyttjas för att ge root-åtkomst på alla versioner av Android.
Trots det faktum att tiotusentals användare aktivt tittar på Linux-kärnans källkod och aktivt letar efter säkerhetsbrister, är det inte ovanligt att allvarliga buggar går obemärkt förbi. Trots allt, även om chanserna att missa något otroligt allvarligt minskar genom att fler ögon granskar koden, är vi alla fortfarande människor och kommer att göra ett misstag. Misstaget den här gången verkar vara ganska allvarligt, tyvärr. A utnyttjande av privilegieupptrappning upptäcktes nyligen förra veckan, och även om det har redan korrigerats i mainline Linux-kärnan kunde felet potentiellt utnyttjas på nästan alla Android-telefoner på marknaden tills varje enhet får rätt kärnpatch.
Ange Dirty Cow
Privilegiumeskaleringsfelet är känt i vardagsspråket som Dirty Cow-exploatet, men det är katalogiserat i Linuxkärnans felspårningssystem som CVE-2016-5195. Även om den upptäcktes först förra veckan, har buggen funnits i Linux-kärnans kod för
Dirty Cow i sig är inte ett utnyttjande, utan snarare en sårbarhet. Den här sårbarheten tillåter dock att eskalera privilegiet för en process för användarutrymme, vilket ger den superanvändarbehörigheter. Genom att utnyttja denna sårbarhet kan en skadlig användarrymdsprocess ha obegränsad root-åtkomst på ett offers enhet. I mer tekniska termer involverar buggen ett rasvillkor för Linux-minnesdupliceringstekniken, känd som copy on write. Genom att utnyttja detta rasvillkor kan användare få skrivåtkomst till minnesmappningar som normalt är inställda på skrivskyddad. Mer information om sårbarheten kan hämtas från här, här, och här.
Säkerhetssårbarheten sägs vara ganska trivial att utnyttja, och inom bara några dagar efter att sårbarheten offentliggjordes en proof-of-concept utnyttja privilegie-eskalering har visats för alla Android-enheter. Alla Android-enheter som kör en Linux-kärnversion som är större än 2.6.22 (läs: varje enskild Android-distribution som finns) kan potentiellt falla offer för denna proof-of-concept exploatering. Även om proof-of-concept-exploateringen faktiskt inte uppnår root-åtkomst, gör attacken av systemet med denna sårbarhet det ganska enkelt. I ett e-postmeddelande skickat till ArsTechnica, Phil Oester, en Linux-kärnutvecklare som katalogiserar kända verkliga bedrifter av Dirty Cow på hans hemsida hade detta att säga om buggen:
Alla användare kan bli root på < 5 sekunder i mina tester, mycket tillförlitligt. Läskiga saker.
Sårbarheten utnyttjas enklast med lokal åtkomst till ett system som skalkonton. Mindre trivialt, alla webbserver/applikationssårbarheter som gör att angriparen kan ladda upp en fil till det påverkade systemet och köra den fungerar också.
Den särskilda exploateringen som laddades upp till mitt system kompilerades med GCC 4.8.5 släppt 20150623, även om detta inte borde antyda att sårbarheten inte var tillgänglig tidigare än det datumet givet dess livslängd. När det gäller vem som riktas mot är alla som kör Linux på en webbserver sårbar.
Under de senaste åren har jag fångat all inkommande trafik till mina webbservrar för kriminalteknisk analys. Denna praxis har visat sig ovärderlig vid ett flertal tillfällen, och jag skulle rekommendera den till alla administratörer. I det här fallet kunde jag extrahera den uppladdade binära filen från dessa fångster för att analysera dess beteende och eskalera till lämpliga Linux-kärnunderhållare.
Efter ytterligare arbete av utvecklare för att demonstrera effektiviteten av att utnyttja Dirty Cow på Android, kunde en utvecklare framgångsrikt rota sin HTC enheten inom några sekunder genom att utnyttja sårbarheten. Vi på XDA välkomnar i allmänhet möjligheten för användare att skaffa root-åtkomst, men vi firar inte existensen av root exploits som denna, särskilt en som är så utbredd och potentiellt otroligt farlig att få slut användare. För att ge dig en uppfattning om hur farlig Dirty Cow kan vara i naturen, satte YouTuber Computerphile ihop en snabb video demonstrerar potentiella skadliga attackvektorer som hackare kan använda för att tyst få root-åtkomst på din enhet.
Källa: ArsTechnica [1]
Källa: ArsTechnica [2]