SQUIP, nov napad, ki prizadene procesorje AMD in povzroči uhajanje podatkov

skupina iRaziskovalci s tehnološke univerze v Gradcu (Avstrija), prej znan po razvoju napadov MDS, NetSpectre, Throwhammer in ZombieLoad, je razkril nov napad stranskega kanala (CVE-2021-46778) v čakalni vrsti razporejevalnika procesorja AMD, ki se uporablja za načrtovanje izvajanja navodil v različnih izvršilnih enotah CPE.

Napad, imenovan SQUIP omogoča določitev podatkov, uporabljenih v izračunih v drugem procesu ali virtualni stroj ali organizirati skriti komunikacijski kanal med procesi ali virtualnimi stroji, ki omogoča izmenjavo podatkov, ne da bi šli skozi mehanizme za nadzor dostopa do sistema.

The CPE AMD, ki temeljijo na 1., 2. in 3. mikroarhitekturi Zen generacije (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) So prizadeti ko se uporablja tehnologija SMT (Simultaneous Multithreading).

Sodobni procesorji uporabljajo superskalarno zasnovo, kjer se hkrati izvaja več navodil za povečanje zmogljivosti. Ti procesorji obdelujejo navodila v cevovodu skozi več stopenj: (1) pridobivanje, (2) dekodiranje, (3) programiranje/izvajanje in (4) pridobivanje.

Napad temelji na oceni stopnje pojavljanja spora (raven spora) v različnih čakalnih vrstah razporejevalnika in se izvede z merjenjem zakasnitev pri zagonu operacij preverjanja, izvedenih v drugi niti SMT na isti fizični CPU. Za analizo vsebine je bila uporabljena metoda Prime+Probe, ki vključuje zapolnitev čakalne vrste z naborom referenčnih vrednosti in določanje sprememb z merjenjem dostopnega časa do njih ob ponovnem nalaganju.

Stopnja programiranja/izvajanja lahko obdeluje navodila v napačnem vrstnem redu, da poveča vzporednost na ravni navodil. Na kratko opisujemo vsako od teh stopenj:

-Iskanje. CPE išče naslednje navodilo za izvedbo iz predpomnilnika L1i. 
-Dešifriraj. Da bi omogočili učinkovito izvajanje, se pridobljena navodila (makro operacije) dekodirajo v eno ali več enostavnejših mikrooperacij (µops) in postavijo v čakalno vrsto µop. Te µops se dovajajo v zaledje, kjer se načrtujejo in izvajajo.
-Urnik/tek. Razporejevalci spremljajo, kateri µops so pripravljeni za izvedbo (imajo razpoložljive vhode) in jih dinamično razporejajo (nezaporedno) v razpoložljive izvršilne enote. Jedro CPE ima več izvršilnih enot in ima lahko več aritmetičnih in logičnih enot (ALU), razvejanih izvršilnih enot (BRU), enot za generiranje naslovov (AGU).

Med poskusom je raziskovalcem je uspelo popolnoma poustvariti 4096-bitni zasebni ključ RSA uporablja se za ustvarjanje digitalnih podpisov z uporabo kriptografske knjižnice mbedTLS 3.0, ki uporablja Montgomeryjev algoritem za dvig števila na potenčni modul. Za določitev ključa je bilo potrebnih 50.500 sledi.

Skupni čas napada je trajal 38 minut. Predstavljene so različice napadov, ki zagotavljajo puščanje med različnimi procesi in virtualnimi stroji, ki jih nadzoruje hipervizor KVM. Pokazalo se je tudi, da je metodo mogoče uporabiti za orkestriranje prikritega prenosa podatkov med virtualnimi stroji s hitrostjo 0,89 Mbit/s in med procesi s hitrostjo 2,70 Mbit/s s stopnjo napak manj kot 0,8 %.

Jedro procesorja je razdeljeno na več logičnih jeder ali niti, ki izvajajo neodvisne tokove ukazov, vendar si delijo vire, kot je predpomnilnik L1i. µops teh niti si tudi dinamično delijo izvršilne enote, da omogočijo večjo skupno uporabo. Razdelitev različnih delov jedra.
Izvaja se s konkurenčno izmenjavo. Arhitekture AMD Zen omogočajo dve niti
na jedro. Te niti so lahko iz enega samega programa ali iz različnih programov, kot jih upravlja operacijski sistem.

Procesorji Intel niso dovzetni napad, ker uporabljajo eno samo čakalno vrsto za razporejanje, medtem ko ranljivi procesorji AMD uporabljajo ločene čakalne vrste za vsako izvršilno enoto.

Kot rešitev za preprečevanje uhajanja informacij, AMD priporoča da razvijalci uporabljajo algoritme, ki vedno izvajajo matematične izračune v konstantnem času, ne glede na naravo podatkov, ki se obdelujejo, in tudi preprečiti forking na podlagi tajnih podatkov.

Končno, če vas zanima več o tem, si lahko ogledate podrobnosti v naslednjo povezavo.


Pustite svoj komentar

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

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  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.