Pred nekaj dnevi je skupina raziskovalcev objavila informacije o razvoju prvi napad Rowhammerja da je bil uspešno usmerjen k la Video pomnilnik GDDR6 grafične kartice, natančneje NVIDIA A6000.
Tehnika, poimenovan GPUHammer, omogoča manipulacijo posameznih bitov v DRAM-u grafičnega procesorja, kar drastično poslabša natančnost modelov strojnega učenja s spreminjanjem le enega samega bita njihovih parametrov. Te preobrati bitov omogočajo zlonamernemu uporabniku grafičnega procesorja manipulacijo podatkov grafičnega procesorja drugega uporabnika v skupnih, časovno omejenih okoljih.
Do sedaj, Uporaba Rowhammerja za video spomine se je zdela nepraktična zaradi več tehničnih omejitev. Fizično postavitev pomnilniških celic v čipih GDDR je težko preslikati, latence dostopa so do štirikrat počasnejše kot v običajnem DRAM-u, hitrosti osveževanja pa so bistveno višje. K temu so dodani še lastniški zaščitni mehanizmi pred prezgodnjo izgubo napolnjenosti, katerih obratni inženiring je zahteval specializirano opremo.
Da bi premagali te ovire, Raziskovalci so razvili novo tehniko obratnega inženiringa, ki cilja na GDDR DRAMZ uporabo nizkonivojske kode CUDA so napad izvedli s specifičnimi optimizacijami, ki so okrepile dostop do določenih pomnilniških celic in ustvarile pogoje, ki spodbujajo manipulacijo biti. Ključ do uspeha je bil v doseganju visoko organiziranega vzporednega računalništva, ki je delovalo kot ojačevalnik pritiska na sosednje celice.
Kako deluje napad?
Napad izkorišča fizično šibkost v DRAM-u, kjer je intenziven dostop do pomnilniške vrstice (znan kot »kladivo«) lahko povzroči spremembe v sosednjih vrstahČeprav je bila ta ranljivost odkrita leta 2014 in obsežno preučena v pomnilniku CPU DDR, je bil njen prenos na grafične procesorje doslej izziv zaradi:
- Visoka latenca dostopa GDDR6 (do 4-krat višja kot pri DDR4).
- Kompleksnost fizične dodelitve pomnilnika.
- Prisotnost lastniških in slabo dokumentiranih blažilnih ukrepov, kot je TRR.
Rowhammer je strojna ranljivost, pri kateri hitra aktivacija ene vrstice pomnilnika povzroči preklope bitov v sosednjih vrsticah. Od leta 2014 se ta ranljivost pogosto preučuje v procesorjih in pomnilniku, ki temelji na procesorjih, kot so DDR3, DDR4 in LPDDR4. Ker pa kritične delovne obremenitve umetne inteligence in strojnega učenja zdaj delujejo na diskretnih grafičnih procesorjih v oblaku, je ocena ranljivosti pomnilnika grafičnih procesorjev za napade Rowhammer ključnega pomena.
Kljub tem oviram, Raziskovalcem je uspelo uporabiti obratni inženiring o dodeljevanju virtualnega/fizičnega pomnilnika v CUDA, Razvili so metodo za identifikacijo specifičnih pomnilniških bank DRAM in optimiziran vzporedni dostop z uporabo več niti in osnov, kar maksimizira hitrost udarjanja brez povzročanja dodatne zakasnitve.
Dokaz koncepta je pokazal, kako lahko enobitna sprememba uteži modela globoke nevronske mreže (DNN), zlasti v eksponentih FP16, zmanjša natančnost modelov za klasifikacijo slik na vrhu 1 na ImageNetu z 80 % na 0,1 %. Ta ugotovitev je zaskrbljujoča za podatkovne centre in storitve v oblaku, ki izvajajo delovne obremenitve umetne inteligence v skupnih okoljih z grafičnimi procesorji.
Blažilni ukrepi in omejitve
NVIDIA je potrdila ranljivost in priporoča omogočanje podpore za ECC. (Koda za odpravljanje napak) z uporabo ukaza nvidia-smi -e 1. Čeprav Ta ukrep lahko popravi napake enobitni, To pomeni izgubo zmogljivosti do 10 %. in 6,25-odstotno zmanjšanje razpoložljivega pomnilnika. Prav tako ne ščiti pred prihodnjimi napadi, ki vključujejo več bitnih preobratov.
Potrdili smo nihanja bitov Rowhammer na grafičnih procesorjih NVIDIA A6000 s pomnilnikom GDDR6. Drugi grafični procesorji GDDR6, kot je RTX 3080, v našem testiranju niso pokazali nihanj bitov, verjetno zaradi razlik pri proizvajalcu DRAM-a, značilnostih čipa ali delovnih pogojih, kot je temperatura. Prav tako nismo opazili nobenih nihanj na grafičnem procesorju A100 s pomnilnikom HBM.
Ekipa poudarja, da GPUHammer je trenutno preverjen samo na grafičnem procesorju A6000 z GDDR6., in ne na modelih, kot sta A100 (HBM) ali RTX 3080. Ker pa gre za razširljiv napad, se druge raziskovalce spodbuja, da analizo ponovijo in razširijo na različne arhitekture in modele grafičnih procesorjev.
Nazadnje, če vas zanima več o tem, si lahko ogledate podrobnosti v naslednja povezava.