Retbleed: nov špekulativni napad na izvajanje, ki je prizadel Intel in AMD

Novica je to nedavno razkrilaSkupina raziskovalcev z ETH Zurich je identificirala nov napad na špekulativni izvedbeni mehanizem posrednih skokov v CPU, ki omogoča pridobivanje informacij iz pomnilnika jedra ali organizacijo napada na gostiteljski sistem iz virtualnih strojev.

Ranljivosti so bile poimenovane Retbleed (že katalogizirano pod CVE-2022-29900, CVE-2022-29901) in so po naravi podobni napadom Spectre-v2.

Razlika se zmanjša na organiziranje špekulativnega izvajanja poljubne kode z obdelavo ukaza "ret" (vrnitev), ki pridobi naslov za skok iz sklada, namesto posrednega skoka z uporabo ukaza "jmp", nalaganja naslova iz pomnilnika ali register procesorja.

O novem napadu se omenja, da napadalec lahko ustvari pogoje za fork napoved nepravilno in organizirajo namerni špekulativni skok na blok kode, ki ni predviden z logiko izvajanja programa.

Navsezadnje procesor bo ugotovil, da predvidevanje razvejanja ni bilo upravičeno, in bo povrnil operacijo v prvotno stanje, ampak obdelani podatki Med špekulativno usmrtitvijo bodo sedeli v predpomnilniku in mikroarhitekturne medpomnilnike. Če napačno izveden blok izvede dostop do pomnilnika, bo njegova špekulativna izvedba vodila do namestitve v splošni predpomnilnik in branja podatkov iz pomnilnika.

Za določitev podatkov, ki ostanejo v predpomnilniku po špekulativnem izvajanju operacij, lahko napadalec uporabi metode za določitev preostalih podatkov prek kanalov tretjih oseb, na primer analiziranje sprememb v času dostopa do predpomnjenih podatkov in ne predpomnjenih.

Za namerno pridobivanje informacij iz območij z drugačno stopnjo privilegijev (na primer iz pomnilnika jedra) se uporabljajo "naprave": skripte, prisotne v jedru, primerne za špekulativno branje podatkov iz pomnilnika, odvisno od zunanjih pogojev, na katere je mogoče vplivati s strani napadalca.

Za zaščito pred klasičnimi napadi razreda Spectre, ki uporabljajo posredna in pogojna navodila razvejanja, večina operacijskih sistemov uporablja tehniko "retpoline", ki temelji na zamenjavi posrednih operacij razvejanja z navodili "ret", za katere je potrebna ločena napoved stanja sklada. enota se uporablja v procesorjih, ne uporablja bloka za napovedovanje veje.

Ob uvedbi retpoline leta 2018 je veljalo, da je manipulacija naslovov, podobna Spectru, nepraktična za špekulativno razcepitev z navodilom "ret".

Raziskovalci, ki so razvili metodo napada Retbleed je pokazal možnost ustvarjanja mikroarhitekturnih pogojev za sprožitev špekulativnega prehoda z uporabo ukaza "ret" in izdal že pripravljen nabor orodij za prepoznavanje primernih zaporedij navodil (pripomočkov) za izkoriščanje ranljivosti v jedru Linuxa, v katerem se pojavijo takšni pogoji.

V času študija, pripravljen delujoč exploit ki omogoča v sistemih z Intel CPU iz neprivilegiranega procesa v uporabniškem prostoru, da izvleče poljubne podatke iz pomnilnika jedra s hitrostjo 219 bajtov na sekundo in z 98-odstotno natančnostjo.

En procesorji AMD, učinkovitost exploita je veliko večja, saj je stopnja uhajanja 3,9 KB na sekundo. Kot praktičen primer je prikazano, kako uporabiti predlagano izkoriščanje za določitev vsebine datoteke /etc/shadow. Na sistemih s procesorji Intel je bil napad za določitev zgoščene vrednosti korenskega gesla izveden v 28 minutah, na sistemih s procesorji AMD pa v 6 minutah.

Napad je bil potrjen za 6-8 generacij procesorjev Intel ki so bili izdani pred tretjim četrtletjem 2019 (vključno s Skylake), in procesorji AMD, ki temeljijo na mikroarhitekturah Zen 1, Zen 1+ in Zen 2, ki so bili izdani pred drugim četrtletjem 2021. Pri novejših modelih procesorjev, kot sta AMD Zen3 in Intel Alder Lake ter procesorji ARM, problem blokirajo obstoječi zaščitni mehanizmi. Na primer, uporaba navodil IBRS (Indirect Branch Restricted Speculation) pomaga pri zaščiti pred napadom.

Pripravljen nabor sprememb za jedro Linuxa in hipervizor Xen, ki programsko blokirajo težavo na starejših procesorjih. Predlagani popravek jedra Linuxa spremeni 68 datotek, doda 1783 vrstic in odstrani 387 vrstic.

Na žalost zaščita povzroča znatne režijske stroške: v besedilih, narejenih na procesorjih AMD in Intel, je ocenjeno poslabšanje zmogljivosti med 14 % in 39 %. Bolj je bolje uporabiti zaščito, ki temelji na navodilih IBRS, ki so na voljo v novejših generacijah procesorjev Intel in so podprta od jedra Linuxa 4.19.

Nazadnje, če vas zanima več o tem, se lahko obrnete na podrobnosti na naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.