Retbleed: novi spekulativni napad izvršenja koji pogađa Intel i AMD

Vijesti su to nedavno objavileGrupa istraživača s ETH Zurich identificirala je novi napad na spekulativni mehanizam izvršavanja neizravnih skokova u CPU-u, koji omogućuje izvlačenje informacija iz memorije kernela ili organiziranje napada na glavni sustav s virtualnih strojeva.

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

Razlika se svodi na organiziranje spekulativnog izvršavanja proizvoljnog koda obradom instrukcije "ret" (povratak), koja dohvaća adresu za skok sa stoga, umjesto neizravnog skakanja pomoću instrukcije "jmp", učitavanja adrese iz memorije ili CPU registar.

O novom napadu spominje se da napadač može stvoriti uvjete za predviđanje forka neispravan i organizirati namjerni spekulativni skok na blok koda koji nije predviđen logikom izvršavanja programa.

U konačnici, procesor će utvrditi da predviđanje grananja nije bilo opravdano i vratit će operaciju u prvobitno stanje, ali obrađeni podaci Tijekom špekulativnog pogubljenja oni će sjediti u cacheu i mikroarhitektonski međuspremnici. Ako pogrešno izvedeni blok izvrši pristup memoriji, tada će njegovo spekulativno izvođenje dovesti do instalacije u opću predmemoriju i čitanja podataka iz memorije.

Kako bi odredio podatke koji su preostali u predmemoriji nakon spekulativnog izvođ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 predmemoriranim podacima i onima koji nisu u predmemoriji.

Za namjerno izdvajanje informacija iz područja na različitim razinama 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.

Za zaštitu od klasičnih napada klase Spectre, koji koriste neizravne i uvjetne instrukcije grananja, većina operativnih sustava koristi tehniku ​​"retpoline", koja se temelji na zamjeni neizravnih operacija grananja s instrukcijom "ret", za koju je potrebno posebno predviđanje stanja stoga jedinica se koristi u procesorima, ne koristi blok predviđanja grananja.

Prilikom uvođenja retpoline 2018., vjerovalo se da je manipulacija adresama poput Spectrea nepraktična za spekulativno račvanje s instrukcijom "ret".

Istraživači koji su razvili metodu napada Retbleed je pokazao mogućnost stvaranja mikroarhitektonskih uvjeta pokrenuti spekulativni prijelaz korištenjem "ret" instrukcije i izdao gotov alat za prepoznavanje prikladnih sekvenci instrukcija (gadgeta) za iskorištavanje ranjivosti u Linux kernelu u kojem se pojavljuju takvi uvjeti.

Tijekom studija, pripremljen je radni podvig koji omogućuje, na sustavima s Intel CPU-ima, iz neprivilegiranog procesa u korisničkom prostoru izdvajanje proizvoljnih podataka iz memorije kernela brzinom od 219 bajtova u sekundi i s 98% točnosti.

En procesori AMD, učinkovitost exploita je mnogo veća, budući da je brzina curenja 3,9 KB po sekundi. Kao praktičan primjer, prikazano je kako koristiti predloženi exploit za određivanje sadržaja datoteke /etc/shadow. Na sustavima s Intel CPU-om, napad za određivanje hash root lozinke izveden je za 28 minuta, a na sustavima s AMD CPU-om za 6 minuta.

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

Pripremio niz promjena za Linux kernel i Xen hipervizor, koji programski blokiraju problem na starijim procesorima. Predložena zakrpa jezgre Linuxa mijenja 68 datoteka, dodaje 1783 redaka i uklanja 387 redaka.

Nažalost, zaštita uzrokuje značajne režijske troškove: u tekstovima napravljenim na AMD i Intel procesorima, procjenjuje se da je degradacija performansi između 14% i 39%. Poželjnije je koristiti zaštitu temeljenu na IBRS uputama, dostupnim u novijim generacijama Intel CPU-a i podržanim od Linux kernela 4.19.

Napokon, ako vas zanima više o tome, možete se obratiti pojedinosti na sljedećem linku.


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.