
Cercetătorii în domeniul securității au demonstrat că Vulnerabilitatea 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.