SQUIP, nauja ataka, kuri paveikia AMD procesorius ir sukelia duomenų nutekėjimą

i grupėTyrėjai iš Graco technologijos universiteto (Austrija), anksčiau žinomas kaip MDS, NetSpectre, Throwhammer ir ZombieLoad atakų kūrimas, atskleidė naują šoninio kanalo ataką (CVE-2021-46778) AMD procesoriaus planavimo eilėje, naudojama komandų vykdymui skirtinguose CPU vykdymo blokuose suplanuoti.

Išpuolis, vadinamas SQUIP, leidžia nustatyti skaičiavimuose naudojamus duomenis kitame procese arba virtualią mašiną arba organizuoti paslėptą ryšio kanalą tarp procesų ar virtualių mašinų, leidžiančių keistis duomenimis neperžengiant sistemos prieigos kontrolės mechanizmų.

The AMD procesoriai, pagrįsti 1, 2 ir 3 Zen mikroarchitektūromis kartos (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Yra paveikti kai naudojama SMT (Simultaneous Multithreading) technologija.

Šiuolaikiniai procesoriai naudoja superskaliarinį dizainą, kai vienu metu vykdomos kelios instrukcijos, siekiant maksimaliai padidinti našumą. Šie procesoriai apdoroja instrukcijas konvejeriu keliais etapais: (1) paimti, (2) dekoduoti, (3) programuoti / vykdyti ir (4) gauti.

Išpuolis pagrįstas ginčų pasireiškimo lygio įvertinimu (varžybų lygis) skirtingose ​​planuotojo eilėse ir atliekama matuojant vėlavimus, kai pradedamos tikrinimo operacijos, atliekamos kitoje SMT gijoje tame pačiame fiziniame procesoriuje. Turiniui analizuoti buvo naudojamas „Prime+Probe“ metodas, kuris apima eilės užpildymą etaloninių verčių rinkiniu ir pokyčių nustatymą išmatuojant prieigos prie jų laiką perkrovimo metu.

Programos / vykdymo etapas gali apdoroti komandas ne pagal eilę, kad būtų padidintas komandų lygio lygiagretumas. Trumpai aprašome kiekvieną iš šių etapų:

-Paieška. CPU ieško kitos vykdymo instrukcijos iš L1i talpyklos. 
- Dekoduoti. Kad būtų galima efektyviai vykdyti, gautos instrukcijos (makrooperacijos) dekoduojamos į vieną ar daugiau paprastesnių mikrooperacijų (µops) ir dedamos į µop eilę. Šie µop yra įvedami į užpakalinę programą, kur jie suplanuojami ir vykdomi.
- Suplanuokite / Vykdykite. Planuotojas (-iai) seka, kurie µop yra paruošti vykdyti (turi galimų įvesties) ir dinamiškai suplanuoja jas (neveikia) prie galimų vykdymo vienetų. CPU branduolys turi kelis vykdymo blokus ir gali turėti kelis aritmetinius ir loginius vienetus (ALU), šakos vykdymo blokus (BRU), adresų generavimo blokus (AGU).

Eksperimento metu tyrėjai sugebėjo visiškai atkurti 4096 bitų privatų RSA raktą naudojamas skaitmeniniams parašams kurti naudojant mbedTLS 3.0 kriptografinę biblioteką, kuri naudoja Montgomery algoritmą, kad skaičių padidintų iki galios modulio. Raktui nustatyti prireikė 50.500 XNUMX pėdsakų.

Bendras atakos laikas užtruko 38 minutes. Demonstruojami atakos variantai, užtikrinantys nutekėjimą tarp skirtingų procesų ir virtualių mašinų, valdomų KVM hipervizoriumi. Taip pat parodyta, kad metodas gali būti naudojamas organizuoti slaptą duomenų perdavimą tarp virtualių mašinų 0,89 Mbit/s greičiu ir tarp procesų 2,70 Mbit/s greičiu, kai klaidų lygis yra mažesnis nei 0,8, XNUMX%.

CPU branduolys yra padalintas į kelis loginius branduolius arba gijas, kurios vykdo nepriklausomus komandų srautus, bet dalijasi ištekliais, tokiais kaip L1i talpykla. µops šių gijų taip pat dinamiškai dalijasi vykdymo vienetais, kad būtų užtikrintas didesnis bendras panaudojimas. Skirtingų branduolio dalių skaidinys.
Tai daroma konkurencinių mainų būdu. AMD Zen architektūra leidžia dvi gijas
už šerdį. Šios gijos gali būti iš vienos programos arba iš skirtingų programų, kurias valdo operacinė sistema.

„Intel“ procesoriai nėra jautrūs ataka, nes jie naudoja vieną planavimo eilę, o pažeidžiami AMD procesoriai naudoja atskiras eiles kiekvienam vykdymo blokui.

Kaip sprendimas blokuoti informacijos nutekėjimą, AMD rekomenduojama kad kūrėjai naudoti algoritmus, kurie visada atlieka matematinius skaičiavimus pastoviu laiku, neatsižvelgiant į tvarkomų duomenų pobūdį, taip pat užkirsti kelią slaptais duomenimis pagrįstai išsišakojimui.

Galiausiai, jei jus domina galimybė apie tai sužinoti daugiau, išsamią informaciją galite rasti kita nuoroda.


Palikite komentarą

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

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  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ą.