GPUHammer: Primul atac Rowhammer reușit împotriva memoriei video GDDR6

ciocan grafic

Acum câteva zile, o echipă de cercetători a publicat informații despre dezvoltarea... primul atac cu ciocanul a fost direcționat cu succes către la Memorie video GDDR6 a unei plăci video, în special a unei NVIDIA A6000.

Tehnica, supranumit GPUHammer, permite manipularea biților individuali din DRAM-ul GPU-ului, degradând drastic precizia modelelor de învățare automată prin modificarea unui singur bit din parametrii acestora. Aceste inversări de biți permit unui utilizator GPU rău intenționat să manipuleze datele GPU ale unui alt utilizator în medii partajate, cu secțiuni de timp.

Pana acum, Aplicarea Rowhammer la amintirile video a fost considerată impracticabilă din cauza mai multor limitări tehnice. Dispunerea fizică a celulelor de memorie în cipurile GDDR este dificil de mapat, latențele de acces sunt de până la patru ori mai lente decât în DRAM-urile convenționale, iar ratele de reîmprospătare sunt semnificativ mai mari. La acestea se adaugă mecanisme de protecție proprietare împotriva pierderii premature de încărcare, a căror inginerie inversă a necesitat echipamente specializate.

Pentru a depăși aceste obstacole, Cercetătorii au dezvoltat o nouă tehnică de inginerie inversă care vizează memoria DRAM GDDRFolosind cod CUDA de nivel scăzut, au executat atacul prin optimizări specifice care au intensificat accesul la anumite celule de memorie, creând condiții favorabile manipulării biților. Cheia succesului a constat în obținerea unui calcul paralel extrem de organizat, care a acționat ca un amplificator al presiunii asupra celulelor adiacente.

Cum acționează atacul?

Atacul exploatează o slăbiciune fizică a DRAM-ului, unde accesul intensiv la un rând de memorie (cunoscut sub numele de „ciocănire”) poate induce modificări în rândurile adiacenteDeși această vulnerabilitate a fost identificată în 2014 și studiată pe larg în memoria DDR a procesorului, portarea ei la GPU-uri a reprezentat până acum o provocare din cauza:

  • Latența mare de acces a memoriei GDDR6 (de până la 4 ori mai mare decât cea a memoriei DDR4).
  • Complexitatea alocării fizice a memoriei.
  • Prezența unor măsuri de atenuare proprietare și slab documentate, cum ar fi TRR.

Rowhammer este o vulnerabilitate hardware în care activarea rapidă a unui rând de memorie introduce schimbări de biți în rândurile adiacente. Din 2014, această vulnerabilitate a fost studiată pe scară largă în cazul procesoarelor și al memoriei bazate pe procesoare, cum ar fi DDR3, DDR4 și LPDDR4. Cu toate acestea, deoarece sarcinile de lucru critice legate de inteligența artificială și învățarea automată rulează acum pe GPU-uri discrete în cloud, evaluarea vulnerabilității memoriei GPU la atacurile Rowhammer este esențială.

În ciuda acestor obstacole, Cercetătorii au reușit să aplice ingineria inversă despre alocarea memoriei virtuale/fizice în CUDA, Au dezvoltat o metodă pentru a identifica anumite bănci de memorie DRAM și acces paralel optimizat folosind mai multe fire de execuție și deformări, maximizând rata de ciocănire fără a cauza latență suplimentară.

Dovada conceptului a arătat cum o inversare pe un singur bit a ponderilor modelului de rețea neuronală profundă (DNN), în special în exponenții FP16, poate degrada precizia de top a modelelor de clasificare a imaginilor pe ImageNet de la 1% la 80%. Această constatare este alarmantă pentru centrele de date și serviciile cloud care rulează sarcini de lucru bazate pe inteligență artificială în medii partajate cu GPU-uri.

Atenuări și limitări

NVIDIA a confirmat vulnerabilitatea și recomandă activarea suportului ECC. (Cod de corectare a erorilor) folosind comanda nvidia-smi -e 1. Deși Această măsură poate corecta erorile un singur bit, Aceasta implică o pierdere de performanță de până la 10%. și o reducere de 6,25% a memoriei disponibile. De asemenea, nu protejează împotriva atacurilor viitoare care implică inversări multiple de biți.

Am confirmat fluctuațiile de biți Rowhammer pe GPU-urile NVIDIA A6000 cu memorie GDDR6. Alte GPU-uri GDDR6, cum ar fi RTX 3080, nu au prezentat fluctuații de biți în testele noastre, posibil din cauza variațiilor furnizorului de DRAM, a caracteristicilor cipului sau a condițiilor de funcționare, cum ar fi temperatura. De asemenea, nu am observat nicio fluctuație pe un GPU A100 cu memorie HBM.

Echipa subliniază că GPUHammer a fost verificat în prezent doar pe GPU-ul A6000 cu GDDR6, și nu pe modele precum A100 (HBM) sau RTX 3080. Cu toate acestea, deoarece acesta este un atac extensibil, alți cercetători sunt încurajați să reproducă și să extindă analiza pe diferite arhitecturi și modele de GPU.

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