Nou malware „GeForge” și „GDDRHammer” pot infiltra complet sistemul prin memoria GPU Nvidia. Atacurile Rowhammer în GPU-uri forțează inversarea biților în regiunile VRAM protejate pentru a obține acces la citire/scriere. De acolo pot prelua și controlul asupra memoriei RAM a sistemului.
Atacuri asupra GPU-urilor Nvidia
Începând de anul trecut a fost detectat primul atac Rowhammer cunoscut asupra GPU-urilor, numit „GPUHammer”. Acesta a dovedit că VRAM-ul este, de asemenea, susceptibil la schimbări de bit. GPUHammer poate paraliza precizia unui model de inteligență artificială de la 80% la doar 0,1% într-un RTX A6000 cu o singură schimbare de bit. De atunci, au apărut două noi atacuri Rowhammer care pot obține acces root la CPU prin intermediul GPU-ului, compromițând potențial întregul sistem, conform Ars Technica.
Aceste atacuri se numesc „GDDRHammer” și „GeForge”. Ambele funcționează destul de similar și au un obiectiv final identic. Dar mai întâi, este important să înțelegem ce este Rowhammer. În 2014, s-a descoperit că prin accesarea constantă a rândurilor de memorie, se poate induce intenționat o inversare a bitului pe rândurile vecine. Deoarece biții sunt stocați ca sarcină electrică, „ciocănirea” lor provoacă interferențe electrice care pot transforma 0-urile în 1-uri sau invers.
Când o problemă apare, un atacator are brusc o fereastră pentru a accesa privilegii mai mari în memorie, de unde procesorul poate fi compromis. Rowhammer a fost întotdeauna asociat cu procesoarele, deoarece a început cu memoria RAM DDR3 și s-a extins la mai multe tipuri de memorie de sistem, cum ar fi DDR5 sau DDR4 cu ECC. Abia la sfârșitul anului 2025, un GPU a fost compromis pentru prima dată, când cercetătorii au atacat memoria VRAM GDDR6 dintr-un RTX A6000. Acum, GDDRHammer duce lucrurile cu un pas înainte.
Conceptul de forțare a unei schimbări de bit este același, dar modificarea este acum mai inteligentă și semnificativ mai eficientă. Cercetătorii au folosit o tehnică numită „masaj de memorie” pentru a orchestra un atac mai controlat, ceea ce le-a permis să impună 129 de schimbări de bit pe bancă de memorie. Se numește masaj deoarece atacul direcționează structurile de date țintă către regiuni de memorie care nu sunt protejate împotriva perturbațiilor electrice.
Acest lucru se face pentru a sparge tabelele de pagini ale GPU-ului care îl indică către adrese fizice de pe VRAM. Gândiți-vă la asta ca la o aplicație care accesează memoria pentru o altă aplicație asupra căreia nu are control. Păcălește GPU-ul să-și încalce propriile limite. Odată ce tabelele de pagini sunt corupte și izolarea memoriei este compromisă, atacatorul obține control complet asupra VRAM-ului, permițând atât accesul la citire, cât și la scriere.
GeForge se bazează pe GDDRHammer, dar a fost descoperit de o altă echipă de cercetare, care a mers chiar mai departe și a vizat directorul de pagini al GPU-ului în loc de tabelele de pagini. Directorul indică aceste tabele, așa că prin inducerea inversării biților în această structură de date, compromiteți VRAM-ul la un nivel și mai profund. În plus, GeForge funcționează chiar și atunci când IOMMU este dezactivat în BIOS.
Echipa a reușit să inducă schimbări de 1.171 de biți pe un RTX 3060 și schimbări de 202 de biți pe un RTX A6000. Acest lucru paralizează evident memoria GPU-ului, dar, conform lucrării de cercetare, înseamnă și că „un atacator poate modifica tabelul de pagini de pe GPU pentru a indica memoria de pe CPU, oferind astfel atacatorului posibilitatea de a citi/scrie și în toată memoria CPU-ului, ceea ce, bineînțeles, compromite complet mașina”.
Până în prezent, doar memoria GDDR6 pare a fi afectată de aceste atacuri Rowhammer, iar echipa a testat 25 de GPU-uri cu aceasta, găsind vulnerabilități la majoritatea. Au fost testate și plăci video mai moderne cu memorie GDDR6X sau GDDR7, dar acestea nu au putut fi încă compromise.
Nvidia a sugerat deja activarea ECC pentru a atenua atacurile Rowhammer, dar acest lucru reduce capacitatea totală a VRAM, introduce costuri suplimentare de performanță și nu este disponibil pe fiecare GPU.
Cealaltă opțiune este activarea IOMMU (Input–Output Memory Management Unit) în BIOS, ceea ce impune o limită strictă în jurul dispozitivelor non-CPU atunci când acestea încearcă să acceseze memoria sistemului. De obicei, un GPU poate citi sau scrie în memoria sistemului fără a solicita CPU-ul de fiecare dată (Direct Memory Access), acesta fiind modul în care GDDRHammer sau GeForge se strecoară în memoria RAM a sistemului. Dar cu IOMMU activat, tabelele de pagini corupte cu mapare incorectă nu ar putea fi exploatate pentru a obține acces la CPU, deoarece acestea ar fi izolate.
