SQUIP — jauns uzbrukums, kas ietekmē AMD procesorus un izraisa datu noplūdi

i grupaGrācas Tehnoloģiju universitātes pētnieki (Austrija), kas agrāk bija pazīstama ar MDS, NetSpectre, Throwhammer un ZombieLoad uzbrukumu izstrādi, ir atklājis jaunu sānu kanāla uzbrukumu (CVE-2021-46778) AMD procesora plānotāja rindā, ko izmanto, lai ieplānotu instrukciju izpildi dažādās CPU izpildes vienībās.

Uzbrukums, sauc SQUIP, ļauj noteikt aprēķinos izmantotos datus citā procesā vai virtuālā mašīna vai organizēt slēptu sakaru kanālu starp procesiem vai virtuālajām mašīnām, kas ļauj apmainīties ar datiem, neizejot cauri sistēmas piekļuves kontroles mehānismiem.

the AMD CPU, kuru pamatā ir 1., 2. un 3. Zen mikroarhitektūra paaudze (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Tiek ietekmēti ja tiek izmantota vienlaicīga daudzpavedienu (SMT) tehnoloģija.

Mūsdienu CPU izmanto superskalāru dizainu, kurā vienlaikus tiek izpildītas vairākas instrukcijas, lai palielinātu veiktspēju. Šie CPU apstrādā instrukcijas konveijerā vairākos posmos: (1) ielāde, (2) dekodēšana, (3) programmēšana/izpildīšana un (4) ielāde.

Uzbrukuma pamatā ir strīdu rašanās līmeņa novērtējums (strīda līmenis) dažādās plānotāja rindās, un tas tiek veikts, mērot aizkavi, sākot pārbaudes darbības, kas veiktas citā SMT pavedienā tajā pašā fiziskajā CPU. Satura analīzei tika izmantota Prime+Probe metode, kas ietver rindas aizpildīšanu ar atsauces vērtību kopu un izmaiņu noteikšanu, mērot piekļuves laiku tām pārlādēšanas brīdī.

Programmas/izpildīšanas stadija var apstrādāt instrukcijas nepareizi, lai palielinātu instrukciju līmeņa paralēlismu. Mēs īsi aprakstām katru no šiem posmiem:

-Meklēt. CPU meklē nākamo instrukciju, kas jāizpilda no L1i kešatmiņas. 
- Atšifrēt. Lai nodrošinātu efektīvu izpildi, iegūtās instrukcijas (makro operācijas) tiek dekodētas vienā vai vairākās vienkāršākos mikrooperācijās (µops) un ievietotas µop rindā. Šīs µops tiek ievadītas aizmugursistēmā, kur tās tiek plānotas un izpildītas.
-Ieplānot/Palaist. Plānotājs(-i) izseko, kuri µops ir gatavi izpildei (ir pieejami ievadi) un dinamiski ieplāno tos (nav kārtībā) uz pieejamajām izpildes vienībām. CPU kodolam ir vairākas izpildes vienības, un tam var būt vairākas aritmētiskās un loģiskās vienības (ALU), filiāles izpildes vienības (BRU), adrešu ģenerēšanas vienības (AGU).

Eksperimenta laikā pētnieki varēja pilnībā atjaunot 4096 bitu privāto RSA atslēgu izmanto, lai izveidotu ciparparakstus, izmantojot mbedTLS 3.0 kriptogrāfisko bibliotēku, kas izmanto Montgomery algoritmu, lai palielinātu skaitli līdz jaudas modulim. Atslēgas noteikšanai bija nepieciešamas 50.500 XNUMX pēdas.

Kopējais uzbrukuma laiks aizņēma 38 minūtes. Tiek demonstrēti uzbrukuma varianti, kas nodrošina noplūdi starp dažādiem procesiem un virtuālajām mašīnām, kuras kontrolē KVM hipervizors. Ir arī parādīts, ka metodi var izmantot, lai organizētu slēptu datu pārraidi starp virtuālajām mašīnām ar ātrumu 0,89 Mbit/s un starp procesiem ar ātrumu 2,70 Mbit/s ar kļūdu līmeni, kas mazāks par 0,8, XNUMX%.

CPU kodols ir sadalīts vairākos loģiskajos kodolos vai pavedienos, kas izpilda neatkarīgas instrukciju straumes, bet koplieto resursus, piemēram, L1i kešatmiņu. µops no šiem pavedieniem arī dinamiski koplieto izpildes vienības, lai nodrošinātu lielāku kopējo izmantošanu. Dažādu kodola daļu nodalījums.
Tas tiek darīts, izmantojot konkurences apmaiņu. AMD Zen arhitektūra pieļauj divus pavedienus
uz kodolu. Šie pavedieni var būt no vienas programmas vai no dažādām programmām, ko pārvalda operētājsistēma.

Intel procesori nav jutīgi uzbrukums, jo tie izmanto vienu plānošanas rindu, savukārt neaizsargātie AMD procesori izmanto atsevišķas rindas katrai izpildes vienībai.

Kā risinājums informācijas noplūdes bloķēšanai, Ieteicams AMD ka izstrādātāji izmantot algoritmus, kas vienmēr veic matemātiskos aprēķinus konstantā laikā, neatkarīgi no apstrādājamo datu veida, kā arī novērstu dakšu veidošanu, pamatojoties uz slepeniem datiem.

Visbeidzot, ja vēlaties uzzināt vairāk par to, varat skatīt sīkāku informāciju nākamā saite.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.