GDDRHammer și GeForge: două noi atacuri Rowhammer asupra GPU-urilor

Puncte cheie:
  • Cercetătorii dezvoltă tehnici de amplificare a atacurilor Rowhammer asupra memoriei GDDR6, realizând modificări de mii de biți.
  • Atacurile GDDRHammer și GeForge manipulează alocatorul de memorie pentru a plasa tabelele de pagini în sectoare vulnerabile.
  • Modificarea unui bit din tabelul de pagini permite atacatorului să redirecționeze pointerii de memorie către structurile controlate de atacator.
  • Prin modificarea câmpului de deschidere a sistemului în intrarea din tabel, GPU-ul obține acces direct de citire și scriere la memoria fizică a gazdei.
  • Vulnerabilitatea afectează modele precum RTX 3060 și RTX A6000, necesitând activarea IOMMU ca principală măsură de apărare.

Atacuri GPU Rowhammer

Cercetătorii în domeniul securității au demonstratVulnerabilitatea fizică a lui Rowhammer reprezintă o amenințare serioasă. pentru unitățile moderne de procesare grafică, cu două lanțuri complete de atac numite GeForce și GDDRHammerSpre deosebire de cercetările preliminare care abia au reușit să inducă o cantitate minimă de modificări ale biților pentru a degrada inferența rețelelor neuronale, aceste noi tipuri de atac ating un compromis absolut la nivel de sistem.

Când se execută cod standard, neprivilegiat, pe un GPU NVIDIA, un Un atacator poate corupe structurile memoriei interne a dispozitivului pentru a obține acces arbitrar la citire și scriere. în întreaga memorie fizică a procesorului gazdă. Această manipulare încrucișată permite atacatorului să escaladeze privilegiile și să obțină o consolă de superutilizator pe sistemul de operare principal.

Evitarea atenuărilor și a tiparelor

Succesul acestor atacuri depinde de tehnici fără precedent. pentru a ocoli atenuările legate de reîmprospătarea rândului țintă (TRR) implementate în memoria GDDR6. Cercetarea GeForge introduce modele neuniforme care se întind pe mai multe intervale de actualizare, variind intensitatea și ordinea activărilor rândurilor de memorie pentru a evita detectarea hardware-ului.

Pentru a aplica hărți de adrese fizice obținute prin profilare offline la alocările dinamice de memorie, Au dezvoltat o tehnică de ancorare a paginilor care exploatează atribuirea neliniară de la adresele fizice la seturile de cache L2.

Simultan, Echipa GDDRHammer a descoperit că rândurile de memorie DRAM pe plăcile grafice Acestea urmează un aranjament geometric nemonotonAcest lucru le-a permis să construiască modele dublu-verso extrem de eficiente, chiar dacă adresele fizice păreau îndepărtate. Prin atribuirea sarcinilor individuale ale băncilor de memorie diferitelor multiprocesoare de streaming și sincronizarea parțială a execuției, au reușit să maximizeze performanța activării, eludând în același timp eșantionarea de siguranță.

Aceste abordări au generat rezultate masive; Metoda GeForge a indus modificări de 1,171 de biți într-o placă video RTX 3060 de consum și 202 într-o placă video RTX A6000 profesională., în timp ce GDDRHammer a atins o medie de 1,032 de modificări pe gigabyte, reprezentând o creștere de 64 de ori față de încercările anterioare.

Manipularea tabelelor de pagini și masajul memoriei

Pentru a transforma aceste perturbații electrice în arme, Atacatorii vizează tabelele de pagini ierarhice gestionate de unitatea de gestionare a memoriei GPU-ului.Deoarece controlerul alocă de obicei aceste structuri în regiuni protejate sau imprevizibile, exploatările se bazează pe tehnici de masaj al memoriei pentru a forța plasarea intrărilor din tabelul de pagini în locații fizice pe care atacatorul le știe vulnerabile.

Atacul GDDRHammer folosește mapări de memorie partajată pentru a inunda alocatorul, scurtând decalajul dintre regiunile tabelului de pagini și memoria controlată de utilizator. GeForge se concentrează în mod special pe coruperea intrărilor din directorul Pages. 0 (PD0).

Prin alocarea și eliberarea atentă a fragmentelor de Memorie Virtuală Unificată, atacatorul direcționează crearea de noi structuri PD0 direct către o subpagină specifică de 4 kilobyți. Odată ajuns în poziție, procesul modifică un bit din indicatorul de adresă fizică al intrării, redirecționându-l către un tabel de pagini falsificat, controlat în întregime de codul malițios.

Escaladarea privilegiilor prin magistrala PCIe

El Controlul asupra tabelului de pagini al plăcii grafice se traduce direct în controlul asupra procesorului central al computerului.Intrările din tabelul de pagini NVIDIA conțin un câmp de deschidere specific care dictează dacă adresa fizică asociată se află în memoria locală a dispozitivului sau în memoria sistemului gazdă. Prin modificarea acestui câmp din intrarea falsificată, orice operațiune citirea sau scrierea ulterioară Datele generate de GPU sunt rutate prin magistrala PCIe direct către memoria RAM fizică. al gazdei.

Acest acces direct la memorie ocolește unitatea de gestionare a memoriei proprie a procesorului și protecțiile împotriva copierii la scriere ale sistemului de operare. În demonstrația sa practică, cercetatorii Au folosit această capacitate pentru a suprascrie segmentul de cod al bibliotecii standard C direct în memoria gazdei. Mai exact, au injectat cod mașină în funcția de închidere a jurnalului, care a fost ulterior executat de un program legitim cu privilegii sporite, acordând imediat atacatorului acces absolut la sistem.

Prevalența hardware-ului și măsurile de atenuare

LaTeste extinse au confirmat că această vulnerabilitate este răspândită în hardware-ul actual.Studiul GDDRHammer a evaluat 25 de plăci grafice de înaltă performanță, constatând că 16 din cele 17 modele RTX A6000 bazate pe arhitectura Ampere erau susceptibile la aceste atacuri. Deși memoria cu cod corector de erori (ECC) poate atenua fiabilitatea atacului prin corectarea erorilor pe un singur bit, această funcție este dezactivată în mod implicit pe multe plăci grafice pentru stații de lucru din cauza penalizării performanței și lipsește complet la modelele de larg consum.

Cea mai eficientă apărare imediată împotriva compromiterii gazdei este aplicarea unei unități de gestionare a memoriei de intrare-ieșire (IOMMU). Când este activat, IOMMU restricționează accesul direct al GPU-ului la cadrele de pagină gazdă autorizate explicit, neutralizând maparea deschisă falsificată. Cu toate acestea, ambele echipe de cercetare observă că IOMMU este frecvent dezactivat în mod implicit pe sistemele comerciale Linux din motive de compatibilitate, lăsând un număr semnificativ de mașini vulnerabile la acest vector de atac.

În cele din urmă, dacă sunteți interesat să aflați mai multe despre acesta, puteți consulta detaliile în următorul link.