„Retbleed“: nauja spekuliacinė vykdymo ataka, užklupusi „Intel“ ir AMD

Neseniai tai pasklido žiniaETH Ciuricho mokslininkų grupė nustatė naują išpuolį į spekuliatyvų netiesioginių procesoriaus šuolių vykdymo mechanizmą, leidžiantį išgauti informaciją iš branduolio atminties arba organizuoti ataką prieš pagrindinę sistemą iš virtualių mašinų.

Pažeidžiamumas buvo pavadintas Retbleed kodiniu pavadinimu (jau kataloguota CVE-2022-29900, CVE-2022-29901) ir savo pobūdžiu yra panašūs į Spectre-v2 atakas.

Skirtumas yra susijęs su spekuliatyvaus savavališko kodo vykdymo organizavimu apdorojant „ret“ (grįžimo) instrukciją, kuri nuskaito adresą, kad būtų galima peršokti iš kamino, o ne netiesiogiai peršokant naudojant „jmp“ komandą, įkeliant adresą iš atminties arba CPU registras.

Apie naują ataką minima, kad užpuolikas gali sudaryti sąlygas šakės numatymui neteisingai ir organizuoti tyčinį spekuliacinį šuolį į kodo bloką, kurio nenumato programos vykdymo logika.

Galiausiai procesorius nustatys, kad šakos numatymas nebuvo pagrįstas, ir atšauks operaciją į pradinę būseną, bet apdorotus duomenis Spekuliacinės egzekucijos metu jie sėdės talpykloje ir mikroarchitektūriniai buferiai. Jei klaidingai įvykdytas blokas atlieka prieigą prie atminties, tada spekuliacinis jo vykdymas lems diegimą bendrojoje talpykloje ir duomenų nuskaitymą iš atminties.

Norėdami nustatyti duomenis, likusius talpykloje po spekuliacinių operacijų vykdymo, užpuolikas gali naudoti likusių duomenų nustatymo metodus per trečiųjų šalių kanalus, pavyzdžiui, analizuoti talpykloje saugomų duomenų prieigos laiko pokyčius, o ne talpykloje.

Sąmoningam informacijos išgavimui iš skirtingo privilegijų lygio sričių (pavyzdžiui, iš branduolio atminties) naudojami „įrenginiai“: branduolyje esantys scenarijai, tinkami spekuliatyviam duomenų nuskaitymui iš atminties, priklausomai nuo išorinių sąlygų gali būti paveikti. užpuoliko.

Kad apsisaugotų nuo klasikinių Spectre klasės atakų, kuriose naudojamos netiesioginės ir sąlyginės šakų instrukcijos, dauguma operacinių sistemų naudoja „retpoline“ techniką, kuri pagrįsta netiesioginių šakų operacijų pakeitimu „ret“ instrukcija, kuriai reikalingas atskiras dėklo būsenos numatymas. vienetas naudojamas procesoriuose, nenaudoja šakos numatymo bloko.

Buvo manoma, kad 2018 m., kai buvo pristatytas retpolinas, į Spectre panašus adreso manipuliavimas buvo nepraktiškas spekuliaciniam išsišakojimui su „ret“ instrukcija.

Atakos metodą sukūrę mokslininkai Retbleed pademonstravo galimybę sukurti mikroarchitektūrines sąlygas inicijuoti spekuliacinį perėjimą naudojant "ret" instrukciją ir išleido paruoštą įrankių rinkinį, skirtą identifikuoti tinkamas instrukcijų sekas (įtaisus), kad būtų galima išnaudoti Linux branduolio pažeidžiamumą, kuriame tokios sąlygos atsiranda.

Studijų eigoje, buvo parengtas darbinis žygdarbis Tai leidžia sistemose su „Intel“ procesoriais iš neprivilegijuoto proceso vartotojo erdvėje išgauti savavališkus duomenis iš branduolio atminties 219 baitų per sekundę greičiu ir 98 % tikslumu.

En perdirbėjai AMD, išnaudojimo efektyvumas yra daug didesnis, nes nuotėkio greitis yra 3,9 KB per sekundę. Kaip praktinis pavyzdys parodyta, kaip naudoti siūlomą išnaudojimą norint nustatyti /etc/shadow failo turinį. Sistemose su „Intel“ procesoriais ataka nustatyti pagrindinio slaptažodžio maišą buvo atlikta per 28 minutes, o sistemose su AMD procesoriais – per 6 minutes.

Ataka buvo patvirtinta 6–8 „Intel“ procesorių kartoms kurie buvo išleisti iki 2019 m. trečiojo ketvirčio (įskaitant Skylake), ir AMD procesoriai, pagrįsti Zen 1, Zen 1+ ir Zen 2 mikroarchitektūromis, kurie buvo išleisti iki 2021 m. II ketvirčio. Naujesniuose procesorių modeliuose, pvz., AMD Zen3 ir Intel Alder Lake, taip pat ARM procesoriai, problemą blokuoja esami apsaugos mechanizmai. Pavyzdžiui, IBRS (Indirect Branch Restricted Speculation) nurodymų naudojimas padeda apsisaugoti nuo atakos.

Parengė Linux branduolio ir Xen hipervizoriaus pakeitimų rinkinį, kurios programiškai blokuoja problemą senesniuose procesoriuose. Siūloma Linux branduolio pataisa pakeičia 68 failus, prideda 1783 eilutes ir pašalina 387 eilutes.

Deja, apsauga reikalauja didelių papildomų išlaidų: AMD ir Intel procesoriuose sukurtuose tekstuose našumas pablogėja nuo 14% iki 39%. Geriau naudoti apsaugą, pagrįstą IBRS instrukcijomis, prieinamomis naujesnės kartos „Intel“ procesoriuose ir palaikomą nuo „Linux“ branduolio 4.19 versijos.

Galiausiai, jei norite sužinoti daugiau apie tai, galite kreiptis į išsami informacija šioje nuorodoje.


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Už duomenis atsakingas: AB Internet Networks 2008 SL
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.