Retbleed: Novi napad spekulativnog izvršenja koji pogađa Intel i AMD

To su nedavno objavile vijestiGrupa istraživača sa ETH u Cirihu identifikovala je novi napad na spekulativni mehanizam izvršavanja indirektnih skokova u CPU-u, koji omogućava izdvajanje informacija iz memorije kernela ili organizovanje napada na host sistem sa virtuelnih mašina.

Ranjivosti su dobile kodni naziv Retbleed (već katalogizirano pod CVE-2022-29900, CVE-2022-29901) i slične su po prirodi napadima Spectre-v2.

Razlika se svodi na organiziranje spekulativnog izvršavanja proizvoljnog koda obradom instrukcije "ret" (return), koja dohvaća adresu za skok sa steka, umjesto da indirektno skače korištenjem "jmp" instrukcije, učitava adresu iz memorije ili CPU registar.

O novom napadu se spominje da napadač može stvoriti uslove za predviđanje fork-a netačno i organizirati namjerni spekulativni skok na blok koda koji nije predviđen logikom izvršavanja programa.

U krajnjem slučaju, procesor će utvrditi da predviđanje grananja nije bilo opravdano i vratit će operaciju u prvobitno stanje, već obrađeni podaci Tokom spekulativnog pogubljenja oni će sjediti u kešu i mikroarhitektonski baferi. Ako pogrešno izvršeni blok izvrši pristup memoriji, tada će njegovo spekulativno izvršenje dovesti do instalacije u opštu keš memoriju i čitanja podataka iz memorije.

Da bi odredio podatke koji ostaju u kešu nakon špekulativnog izvršenja operacija, napadač može koristiti metode za određivanje preostalih podataka putem kanala trećih strana, na primjer, analizirajući promjene u vremenu pristupa keširanim podacima, a ne keširanim.

Za namjerno izvlačenje informacija iz područja na različitim nivoima privilegija (na primjer, iz memorije kernela), koriste se "uređaji": skripte prisutne u kernelu, pogodne za spekulativno čitanje podataka iz memorije, ovisno o vanjskim uvjetima na koje se može utjecati od strane napadača.

Da bi se zaštitili od klasičnih napada klase Spectre, koji koriste indirektne i uslovne instrukcije grananja, većina operativnih sistema koristi tehniku ​​"retpoline", koja se zasniva na zamjeni indirektnih operacija grananja sa "ret" instrukcijom, za koju je potrebno posebno predviđanje stanja steka. jedinica se koristi u procesorima, ne koristi blok predviđanja grananja.

Prilikom uvođenja retpolinea 2018., vjerovalo se da je manipulacija adresama nalik Spectreu nepraktična za spekulativno račvanje sa "ret" instrukcijom.

Istraživači koji su razvili metodu napada Retbleed je pokazao mogućnost stvaranja mikroarhitektonskih uslova pokrenuti spekulativnu tranziciju koristeći "ret" instrukciju i izdao gotov komplet alata za identifikaciju odgovarajućih sekvenci instrukcija (gadžeta) za iskorištavanje ranjivosti u Linux kernelu u kojem se takvi uvjeti pojavljuju.

Tokom studija, pripremljen je radni eksploat koji omogućava, na sistemima sa Intelovim procesorima, iz neprivilegovanog procesa u korisničkom prostoru da izvuče proizvoljne podatke iz memorije kernela brzinom od 219 bajtova u sekundi i sa 98% preciznosti.

En procesori AMD, efikasnost eksploatacije je mnogo veća, budući da je stopa curenja 3,9 KB u sekundi. Kao praktičan primjer, pokazano je kako koristiti predloženi exploit za određivanje sadržaja /etc/shadow datoteke. Na sistemima sa Intel CPU-ima, napad za određivanje heš lozinke root je izveden za 28 minuta, a na sistemima sa AMD CPU-ima za 6 minuta.

Napad je potvrđen za 6-8 generacija Intel procesora koji su objavljeni prije Q2019 1. (uključujući Skylake) i AMD procesore zasnovane na Zen 1, Zen 2+ i Zen 2021 mikroarhitekturama koji su objavljeni prije QXNUMX XNUMX. Na novijim modelima procesora, kao što su AMD Zen3 i Intel Alder Lake, kao i ARM procesori, problem je blokiran postojećim zaštitnim mehanizmima. Na primjer, korištenje IBRS (Indirect Branch Restricted Speculation) instrukcija pomaže u zaštiti od napada.

Pripremio set izmjena za Linux kernel i Xen hipervizor, koji programski blokiraju problem na starijim procesorima. Predložena zakrpa za Linux kernel mijenja 68 datoteka, dodaje 1783 reda i uklanja 387 linija.

Nažalost, zaštita nosi značajne režijske troškove: u tekstovima napravljenim na AMD i Intel procesorima, degradacija performansi se procjenjuje na između 14% i 39%. Poželjnije je koristiti zaštitu zasnovanu na IBRS uputstvima, dostupnu u novijim generacijama Intelovih procesora i podržanu od Linux kernela 4.19.

Napokon, ako ste zainteresirani da saznate više o tome, možete se obratiti detalje na sljedećem linku.


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.