Kasper, skener uređaja za špekulativni kod u Linux kernelu

Grupa od otkrili su istraživači sa Slobodnog univerziteta u Amsterdamu putem blog posta alat pod nazivom "casper" koji ističu da jeste dizajniran za identifikaciju isječaka koda u Linux kernelu koji se može koristiti za eksploataciju Ranjivosti klase Spectre uzrokovano spekulativnim izvršavanjem koda od strane procesora.

Za one koji nisu svjesni ove vrste napada, trebali bi to znati ranjivosti klase kao što je Spectre v1 omogućavaju određivanje sadržaja memorije, određena skripta (gadgeti) je potrebna u privilegovanom kodu, što dovodi do spekulativnog izvršavanja instrukcija.

Za optimizaciju, procesor počinje da pokreće takve uređaje u špekulativnom režimuili, zatim utvrđuje da predviđanje grananja nije opravdano i vraća operacije u prvobitno stanje, ali podaci obrađeni tokom spekulativnog izvršenja sjede u keš memoriji i međuspremnicima mikroarhitekture i dostupni su za ekstrakciju korištenjem različitih metoda određivanja zaostalih podataka kroz treće- kanali zabave.

Gadget Scan Tools na osnovu šablona ranije dostupan za ranjivost Spectre je pokazao vrlo visoku stopu lažnih pozitivnih rezultata, dok su mnogi pravi gedžeti izgubljeni (eksperimenti su pokazali da 99% gadžeta otkrivenih ovakvim alatima ne može da se koristi za napade, a 33% onih koji rade nisu primećeni uređaji koji mogu da dovedu do napada).

Predstavljamo Kasper, prolazni (ili spekulativni) skener uređaja za izvršavanje. Koristi politike analize korupcije za modeliranje napadača sposobnog da iskoristi proizvoljne softverske/hardverske ranjivosti na prolaznom putu. 

O Casperu

Za poboljšanje kvaliteta identifikacije problematičnih uređaja, Kasper modelira ranjivosti koje napadač može koristiti na svakom koraku napada klase Spectre: problemi se modeliraju kako bi se omogućila kontrola podataka (na primjer, zamjena podataka napadača u mikroarhitektonske strukture kako bi se uticalo na naknadno spekulativno izvršenje) koristeći napade klase LVI, dobili pristup osjetljivim informacijama (na primjer, kada bafer je izvan granica ili se memorija koristi nakon što je oslobođena) i propuštaju osjetljive informacije (na primjer, raščlanjivanjem stanja keš memorije procesora ili korištenjem MDS metode).

Modelirajte napadača koji je sposoban kontrolirati podatke (npr. putem memorijske masaže ili ubrizgavanja vrijednosti LVI), pristupiti tajnama (npr. putem pristupa izvan granica ili koristiti nakon besplatnog ) i odavati ove tajne (npr. putem keš memorije, MDS-a). prikriveni kanali zasnovani na sukobima koji se zasnivaju na portovima). 

Prilikom izvođenja testa, kernel kontakti runtime biblioteke od Kaspera i provjeriti da rade na nivou LLVM. Tokom verifikacije, spekulativno izvršavanje koda se emulira mehanizmom vraćanja kontrolne tačke, koji posebno izvršava netačno predviđenu viljušku koda, nakon čega se vraća u prvobitno stanje pre nego što je račvanje počelo.

Kasper takođe pokušava da modelira različite softverske i hardverske ranjivosti, analizira uticaj arhitektonskih i mikroarhitektonskih efekata i vrši fuzing testove mogućih akcija napadača. Za analizu tokova izvršavanja koristi se port DataFlowSanitizer za jezgro Linuxa, a za fuzzing testove modificirana verzija syzkaller paketa.

Kao rezultat toga, Kasper je otkrio 1.379 ranije nepoznatih uređaja u jako tvrdom Linux kernelu. Potvrdili smo naše nalaze demonstrirajući end-to-end proof-of-concept exploit za jedan od pronađenih uređaja.

Prilikom skeniranja Linux kernela sa Kasperom, identifikovano je 1379 ranije nepoznatih uređaja, što bi moglo dovesti do curenja podataka tokom spekulativnog izvršavanja instrukcija.

Napominje se da možda samo neki od njih mogu predstavljati stvarne probleme, ali da bi se pokazalo da postoji stvarna opasnost, a ne samo teoretska, razvijen je radni prototip eksploatacije za jedan od problematičnih isječaka koda, što je dovelo do curenje informacija o memoriji kernela.

Konačno ako ste zainteresirani da saznate više o tome o Kasperu, to bi trebalo da znaš izvorni kod Distribuira se pod licencom Apache 2.0.

Izvor: https://www.vusec.net


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.