SQUIP, nový útok, ktorý ovplyvňuje procesory AMD a vedie k úniku dát

skupina iVýskumníci z Technickej univerzity v Grazi (Rakúsko), predtým známy vývojom útokov MDS, NetSpectre, Throwhammer a ZombieLoad, odhalila nový útok na bočný kanál (CVE-2021-46778) vo fronte plánovača procesora AMD, ktorý sa používa na plánovanie vykonávania pokynov v rôznych vykonávacích jednotkách CPU.

Útok, tzv SQUIP, umožňuje určiť údaje použité pri výpočtoch v inom procese alebo virtuálny stroj alebo organizovať skrytý komunikačný kanál medzi procesmi alebo virtuálnymi strojmi, ktorý umožňuje výmenu údajov bez toho, aby museli prejsť cez mechanizmy kontroly prístupu do systému.

L CPU AMD založené na mikroarchitektúrach 1., 2. a 3. Zen generácie (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) Sú ovplyvnené pri použití technológie Simultaneous Multithreading (SMT).

Moderné CPU používajú superskalárny dizajn, kde sa súčasne vykonáva viacero inštrukcií, aby sa maximalizoval výkon. Tieto CPU spracovávajú inštrukcie v potrubí cez niekoľko fáz: (1) vyzdvihnutie, (2) dekódovanie, (3) program/vykonanie a (4) vyzdvihnutie.

Útok je založený na hodnotení úrovne výskytu sporu (úroveň konfliktu) v rôznych frontoch plánovača a vykonáva sa prostredníctvom merania oneskorení pri spustení kontrolných operácií vykonávaných v inom vlákne SMT na rovnakom fyzickom CPU. Na analýzu obsahu sa použila metóda Prime+Probe, ktorá zahŕňa vyplnenie frontu súborom referenčných hodnôt a určenie zmien meraním času prístupu k nim v čase opätovného načítania.

Fáza programu/vykonania môže spracovať inštrukcie mimo poradia, aby sa maximalizoval paralelizmus na úrovni inštrukcie. Stručne opíšeme každú z týchto fáz:

-Vyhľadávanie. CPU hľadá ďalšiu inštrukciu na vykonanie z vyrovnávacej pamäte L1i. 
- Dekódovať. Aby sa umožnilo efektívne vykonávanie, získané inštrukcie (makrooperácie) sa dekódujú do jednej alebo viacerých jednoduchších mikrooperácií (µops) a umiestnia sa do radu µop. Tieto µops sa privádzajú do backendu, kde sa plánujú a vykonávajú.
- Plán/beh. Plánovač sleduje, ktoré µops sú pripravené na vykonanie (majú dostupné vstupy) a dynamicky ich plánujú (mimo poradia) dostupným vykonávacím jednotkám. Jadro CPU má viacero vykonávacích jednotiek a môže mať viacero aritmetických a logických jednotiek (ALU), jednotiek vykonávania vetvy (BRU), jednotiek generovania adries (AGU).

Počas experimentu výskumníkom sa podarilo úplne obnoviť 4096-bitový súkromný kľúč RSA používa sa na vytváranie digitálnych podpisov pomocou kryptografickej knižnice mbedTLS 3.0, ktorá využíva Montgomeryho algoritmus na zvýšenie čísla na modul napájania. Na určenie kľúča bolo potrebných 50.500 XNUMX stôp.

Celkový čas útoku trval 38 minút. Sú demonštrované varianty útoku, ktoré poskytujú únik medzi rôznymi procesmi a virtuálnymi strojmi riadenými hypervízorom KVM. Ukazuje sa tiež, že túto metódu možno použiť na organizáciu skrytého prenosu dát medzi virtuálnymi strojmi rýchlosťou 0,89 Mbit/sa medzi procesmi rýchlosťou 2,70 Mbit/s s chybovosťou menšou ako 0,8 %.

Jadro CPU je rozdelené do viacerých logických jadier alebo vlákien, ktoré vykonávajú nezávislé toky inštrukcií, ale zdieľajú zdroje, ako je vyrovnávacia pamäť L1i. µops týchto vlákien tiež dynamicky zdieľajú vykonávacie jednotky, aby sa umožnilo vyššie celkové využitie. Rozdelenie rôznych častí jadra.
Deje sa tak prostredníctvom konkurenčnej výmeny. Architektúra AMD Zen umožňuje dve vlákna
na jadro. Tieto vlákna môžu byť z jedného programu alebo z rôznych programov, ako ich riadi operačný systém.

Procesory Intel nie sú náchylné útok, pretože používajú jeden plánovací front, zatiaľ čo zraniteľné procesory AMD používajú samostatné fronty pre každú vykonávaciu jednotku.

Ako riešenie na blokovanie úniku informácií Odporúčané AMD že vývojári používať algoritmy, ktoré vždy vykonávajú matematické výpočty v konštantnom čase, bez ohľadu na povahu spracúvaných údajov, a tiež zabrániť fordovaniu na základe tajných údajov.

Nakoniec, ak máte záujem dozvedieť sa o ňom viac, podrobnosti si môžete prečítať v nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.