Kasper, skener uređaja za špekulativni kod u jezgri Linuxa

Skupina otkrili su istraživači sa Slobodnog sveučilišta u Amsterdamu putem objave na blogu alat tzv "casper" koji ističu da je dizajniran za identifikaciju isječaka koda u Linux kernelu koji se može koristiti za iskorištavanje 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ćuju određivanje sadržaja memorije, određena skripta (gadgeti) je potrebna u privilegiranom kodu, što dovodi do spekulativnog izvršavanja instrukcija.

Za optimizaciju, procesor počinje pokretati takve uređaje u špekulativnom načinu radaili zatim utvrđuje da predviđanje grananja nije opravdano i vraća operacije u njihovo izvorno stanje, ali podaci obrađeni tijekom spekulativnog izvršenja sjede u međuspremniku predmemorije i mikroarhitekture i dostupni su za ekstrakciju korištenjem različitih metoda određivanja zaostalih podataka putem trećeg- kanali stranke.

Alati za skeniranje gadgeta na temelju uzoraka prethodno dostupno za ranjivost Spectre je pokazao vrlo visoku stopu lažno pozitivnih, dok su mnogi pravi gadgeti izgubljeni (eksperimenti su pokazali da se 99% gadgeta otkrivenih takvim alatima ne može koristiti za napade, a 33% onih koji rade nisu promatrani uređaji koji mogu dovesti do napada).

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

O Casperu

Za poboljšanje kvalitete 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 utjecalo na naknadno spekulativno izvršenje) korištenjem napada klase LVI, dobivanje pristupa osjetljivim informacijama (na primjer, kada međuspremnik je izvan granica ili se memorija koristi nakon što je oslobođena), te propuštaju osjetljive informacije (na primjer, raščlanjivanjem stanja predmemorije procesora ili korištenjem MDS metode).

Modelirajte napadača koji je sposoban kontrolirati podatke (npr. putem memorije ili ubrizgavanja vrijednosti LVI), pristupati tajnama (npr. putem pristupa izvan granica ili korištenja nakon besplatnog ) i odavati te tajne (npr. putem predmemorije, MDS-a). prikriveni kanali koji se temelje na sukobima s lukama). 

Prilikom izvođenja testa, kernel contacts runtime knjižnice od strane Kaspera i provjeriti rade li na razini LLVM. Tijekom provjere, spekulativno izvršavanje koda emulira mehanizam vraćanja kontrolne točke, koji posebno izvršava netočno predviđenu račvu koda, nakon čega se vraća u svoje izvorno stanje prije nego što je račva počela.

Kasper također pokušava modelirati različite softverske i hardverske ranjivosti, analizira utjecaj arhitektonskih i mikroarhitektonskih učinaka te provodi fuzzing testove mogućih akcija napadača. Za analizu tijekova izvršenja koristi se port DataFlowSanitizer za jezgru Linuxa, a za fuzzing testove modificirana verzija paketa syzkaller.

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

Tijekom skeniranja Linux kernela s Kasperom, identificirano je 1379 dosad nepoznatih uređaja, što bi moglo dovesti do curenja podataka tijekom 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, za jedan od problematičnih isječaka koda razvijen je radni prototip eksploatacije, što je dovelo do curenje informacija o memoriji jezgre.

Konačno ako vas zanima više o tome o Kasperu, to bi trebao znati izvorni kod Distribuira se pod licencom Apache 2.0.

izvor: https://www.vusec.net


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.