Nova BHI napada na Intel CPU, koji omogućava zaobilaženje zaštite u Linux jezgri

Grupa istraživača s Amsterdamskog slobodnog sveučilišta otkrila je novu metodu napada „Native BHI” (CVE-2024-2201), koja omogućuje da se na sustavima s Intel procesorima odredi sadržaj memorije jezgre Linuxa prilikom izvođenja eksploita u korisničkom prostoru. Kada se napad primijeni na sustave virtualizacije, napadač iz gostujućeg sustava može odrediti sadržaj memorije domaćeg okruženja ili drugih gostujućih sustava.

Metoda Native BHI nudi drugačiju tehniku iskorištavanja ranjivosti BHI (Branch History Injection, CVE-2022-0001), koja zaobilazi prethodno implementirane načine zaštite. Metoda napada BHI predložena 2022. godine podrazumijevala je iskorištavanje ranjivosti unutar jednog nivoa privilegija, pri čemu se eksploit temeljio na izvođenju eBPF programa učitanog od strane korisnika u jezgru. Da bi se blokirala ranjivost, dovoljno je bilo ograničiti pristup izvođenju koda eBPF za obične korisnike.

Nova metoda Native BHI ne zahtijeva pristup eBPF i omogućuje napad od strane neprivilegiranog korisnika iz korisničkog prostora. Metoda se temelji na izvođenju postojećih gadgets u kodu jezgre - sekvenci komandi koje dovode do spekulativnog izvođenja instrukcija. Za pronalazak odgovarajućih gadgets u jezgru razvijen je specijalni alat InSpectre Gadget, koji je prilikom analize jezgre 6.6-rc4 otkrio 1511 Spectre gadgets i 2105 pomoćnih gadgets za upravljanje.

Nova BHI napada na Intel CPU, koji omogućava zaobilaženje zaštite u Linux jezgri

Na temelju pronađenih gadgets istraživači su pripremili exploit, koji omogućuje izvlačenje iz bafera jezgre niza s hešom lozinke korisnika root, učitanog iz datoteke /etc/shadow. Brzina izvlačenja podataka iz memorije jezgre iznosi približno 3.5 Kb u sekundi.

Pogledajte video

Metoda BHI predstavlja proširenu varijantu napada Spectre-v2, u kojoj se za zaobilaženje dodanih zaštita (Intel eIBRS i Arm CSV2) i organizaciju curenja podataka koristi umetanje vrijednosti u bafer s globalnom povijesti prijelaza (Branch History Buffer), koji se koristi u CPU-u za povećanje točnosti predikcije grananja uzimajući u obzir povijest prošlih prijelaza. Tijekom napada, manipulacijom s povijesti prijelaza stvaraju se uvjeti za netočne predikcije prijelaza i spekulativno izvršavanje potrebnih instrukcija, čiji rezultati ostaju u predmemoriji.

Razlike između napada Spectre-v2 svode se na korištenje bafer s poviješću grana (Branch History Buffer) umjesto bafera za prediktivno grananje (Branch Target Buffer). Da bi napadač izvukao podatke iz memorije, mora stvoriti uvjete pod kojima će se pri izvođenju spekulativne operacije adresa uzeti iz područja koje je potrebno odrediti. Nakon izvođenja spekulativnog neizravnog skoka, adresa skoka pročitana iz memorije ostaje u predmemoriji, a za njezino izvlačenje može se primijeniti jedan od načina određivanja sadržaja predmemorije na temelju analize promjene vremena pristupa predmemoriranim i nepredmemoriranim podacima.

Protiv napada Native BHI ne štiti primjena instrukcija Intel IBT (Indirect Branch Tracking) i implementirani hibridni mehanizam zaštite tijeka izvršavanja FineIBT u Linux jezgru, koji kombinira primjenu hardverskih instrukcija IBT i softverske zaštite kCFI (kernel Control Flow Integrity) za blokiranje kršenja normalnog redoslijeda izvršavanja (control flow). FineIBT dopušta izvođenje putem neizravne granice samo u slučaju prelaska na instrukciju ENDBR, koja se postavlja na samom početku funkcije. Dodatno (po analogiji s mehanizmom kCFI) nakon toga se provodi provjera hashova, koja jamči nepromijenjenost pokazivača.

Za zaštitu od novog varijante napada, u Linux jezgru dodana su poboljšanja s implementacijom dodatnog režima zaštite, koji koristi predložena hardverska sredstva zaštite tvrtke Intel (BHI_DIS_S) ili alternativnu softversku zaštitu, implementiranu za zaštitu hipervizora. KVMRazvijatelji hipervizora Xen također su objavili ispravak, temeljen na korištenju režima BHI_DIS_S, koji ograničava predikcije temeljen na povijesti grananja. Podrška BHI_DIS_S dostupna je u procesorima, počevši od Intel Alder Lake, kao i u poslužiteljskim CPU-ima, počevši od Intel Sapphire Rapids. Dostupan je i softverski režim zaštite, temeljen na korištenju sekvenci za čišćenje bafera povijesti grana, ali on dovodi do izraženijeg smanjenja performansi.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster