Dirty Cow je na novo odkrit, a 9 let star hrošč, ki ga je mogoče izkoristiti za dodelitev korenskega dostopa v vseh različicah Androida.
Kljub dejstvu, da več deset tisoč uporabnikov aktivno brska po izvorni kodi jedra Linuxa in aktivno išče varnostne napake, ni nenavadno, da resne napake ostanejo neopažene. Navsezadnje, čeprav se možnosti, da bi zamudili nekaj neverjetno resnega, zmanjšajo, če več oči pregleduje kodo, smo vsi še vedno ljudje in smo zavezani narediti napako. Zdi se, da je tokratna napaka žal resna. A izkoriščanje stopnjevanja privilegijev nedavno odkrili prejšnji teden, in čeprav je je že popravljeno v glavnem jedru Linuxa bi napaka lahko potencialno izkoriščen na skoraj vsakem telefonu Android na trgu, dokler vsaka naprava ne prejme ustreznega popravka jedra.
Vstopi Dirty Cow
Napaka stopnjevanja privilegijev je pogovorno znana kot izkoriščanje Umazane krave, vendar je v sistemu za sledenje napakam jedra Linux katalogizirana kot CVE-2016-5195. Čeprav so jo odkrili šele prejšnji teden, je napaka obstajala v kodi jedra Linuxa za
9 let. Poleg tega je koda, ki jo je mogoče izkoristiti, v razdelku jedra Linuxa, ki je priložen skoraj vsak sodoben operacijski sistem, zgrajen na vrhu jedra Linuxa -- vključno z Androidom način. Še huje pa je, da so raziskovalci, ki so odkrili izkoriščanje, našli dokaze, da je izkoriščanje res se uporablja zlonamerno v resničnem svetu, zato vsem in vsem prodajalcem programske opreme, zgrajene na jedru Linuxa, svetujejo, naj takoj popravijo izkoriščanje.Umazana krava sama po sebi ni izkoriščanje, temveč ranljivost. Vendar pa ta ranljivost omogoča stopnjevanje privilegijev procesa uporabniškega prostora in mu podeli privilegije super uporabnika. Z izkoriščanjem te ranljivosti ima lahko zlonamerni proces uporabniškega prostora neoviran korenski dostop do naprave žrtve. V bolj tehničnem smislu hrošč vključuje tekmovalno stanje tehnike podvajanja pomnilnika Linux, znano kot kopiranje pri pisanju. Z izkoriščanjem tega tekmovalnega stanja lahko uporabniki pridobijo dostop za pisanje do preslikav pomnilnika, ki so običajno nastavljene samo za branje. Več podrobnosti o ranljivosti je mogoče pridobiti iz tukaj, tukaj, in tukaj.
Varnostno ranljivost naj bi bilo precej nepomembno izkoristiti in dejansko v nekaj dneh po objavi ranljivosti proof-of-concept privilege-escalation exploit je bilo dokazano za vse naprave Android. Katera koli naprava Android z različico jedra Linux, višjo od 2.6.22 (preberite: vse obstoječe distribucije Androida) lahko potencialno postane žrtev tega izkoriščanja dokaza koncepta. Čeprav izkoriščanje dokaza koncepta dejansko ne doseže korenskega dostopa, je napad na sistem s to ranljivostjo precej preprost. V e-pošti, poslani ArsTechnici, Phil Oester, razvijalec jedra Linuxa, ki katalogizira znane podvige Dirty Cow v resničnem svetu na njegovo spletno stran o napaki je povedal tole:
Pri mojem testiranju lahko vsak uporabnik postane root v < 5 sekundah, kar je zelo zanesljivo. Strašljive stvari.
Ranljivost je najlažje izkoristiti z lokalnim dostopom do sistema, kot so lupinski računi. Manj trivialno, deluje tudi katera koli ranljivost spletnega strežnika/aplikacije, ki napadalcu omogoča nalaganje datoteke v prizadeti sistem in njeno izvajanje.
Določeno izkoriščanje, ki je bilo naloženo v moj sistem, je bilo prevedeno z GCC 4.8.5 izdano 20150623, čeprav to ne bi smelo pomeniti, da ranljivost ni bila na voljo pred tem datumom dolgoživost. Glede na to, kdo je tarča, je ranljiv vsakdo, ki uporablja Linux na spletnem strežniku.
Zadnjih nekaj let sem zajemal ves vhodni promet do svojih spletnih strežnikov za forenzično analizo. Ta praksa se je ob številnih priložnostih izkazala za neprecenljivo in priporočam jo vsem skrbnikom. V tem primeru mi je uspelo izvleči naloženo dvojiško datoteko iz teh zajemov, da sem analiziral njeno vedenje in jo posredoval ustreznim vzdrževalcem jedra Linuxa.
Po nadaljnjem delu razvijalcev pri prikazovanju učinkovitosti izkoriščanja Dirty Cow v sistemu Android je enemu razvijalcu uspelo uspešno rootal svoj HTC napravo v nekaj sekundah z izkoriščanjem ranljivosti. V XDA na splošno pozdravljamo možnost, da uporabniki pridobijo korenski dostop, vendar obstoja ne slavimo korenskih izkoriščanj, kot je ta, še posebej tistega, ki je tako razširjen in potencialno neverjetno nevaren za konec uporabniki. Da bi vam predstavili, kako nevarna je lahko Umazana krava v divjini, je YouTuber Computerphile pripravil hiter videoposnetek prikazuje morebitne vektorje zlonamernih napadov, ki jih hekerji lahko uporabijo za tiho pridobitev korenskega dostopa do vašega napravo.
Vir: ArsTechnica [1]
Vir: ArsTechnica [2]