Raziskovalci z Univerze v Torontu so predstavili prvi napad tipa Rowhammer, ki se uporablja za spreminjanje vsebine video pomnilnika. Možnost izvedbe napada, ki povzroči zamenjavo do 8 bitov podatkov, je bila prikazana na diskretnem GPU NVIDIA A6000 z video pomnilnikom GDDR6. Kot praktičen primer je bilo prikazano, kako je mogoče to vrsto spreminjanja uporabiti za poseganje v izvajanje modelov strojnega učenja, kar znatno zmanjša natančnost njihovih rezultatov (z 80 % na 0,1 %) zlahka z spremembo vrednosti le enega bita.

Doslej je bilo ustvarjanje napadov tipa Rowhammer za video pomnilnik oteženo zaradi težav pri določanju fizične razporeditve pomnilnika v čipih GDDR, velikega latence dostopa do pomnilnika (4-krat počasnejša) in višje frekvence osveževanja pomnilnika. Poleg tega so izvajanje raziskav ovirali zaščitni mehanizmi v čipih GDDR proti manipulacijam, ki vodijo do prezgodnje izgube napolnjenosti, zaradi katerih so morali raziskovalci ustvariti posebne testne naprave na osnovi FPGA za analizo.
Za proučevanje video pomnilnika so raziskovalci razvili novo tehniko obratnega inženiringa GDDR DRAM, pri napadu pa so uporabili optimizacije dostopa do pomnilnika, ki se uporabljajo pri organizaciji paralelnih izračunov, kot ojačevalnike intenzivnosti dostopa do posameznih celic. Za izvedbo napada na GPU NVIDIA se je uporabila nizkonivojska koda CUDA.
V uporabniškem kodi CUDA se ne izvaja dostop do fizičnih naslovov pomnilnika, vendar je v gonilniku NVIDIA potekalo preslikavanje virtualnega pomnilnika v enako fizično pomnilnik, kar so raziskovalci izkoristili za izračun odklona virtualnega pomnilnika in določitev razporeditve spominskih bank. Prepoznavanje dostopov do različnih pomnilniških bank je bilo izvedeno s pomočjo analize zamud, ki so se razlikovale pri dostopu do ene ali različnih pomnilniških bank.
V sistemih, ki so skupno uporabljali GPU, kot so servere Za izvajanje modelov strojnega učenja napad omogoča enemu uporabniku, da spremeni vsebino video pomnilnika z podatki drugega uporabnika. Kot zaščitni ukrep podjetje NVIDIA priporoča, da se vključijo kode popravljanja napak (ECC, Error Correction Codes) z ukazom „nvidia-smi -e 1“ ali da se uporabljajo serije grafičnih kartic, ki podpirajo OD-ECC (On-Die ECC), kot so GeForce RTX 50, RTX PRO, GB200, B200, B100, H100, H200, H20 in GH200.
Po podatkih raziskovalcev omogoča vključitev ECC na sistemih z GPU A6000 zmanjšanje učinkovitosti izvajanja modelov strojnega učenja za približno 10 % in zmanjšanje prostornine pomnilnika za 6,25 %. Orodja za izvedbo napada in izvajanje obrata inženiringa nizko nivojske postavitve video pomnilnika na sistemih z GPU NVIDIA so objavljena na GitHubu.
RowHammer napad omogućava iskrivljenje sadržaja pojedinačnih bitova DRAM memorije putem cikličnog čitanja podataka iz susednih memorijskih ćelija. Kako DRAM memorija predstavlja dvodimenzionalnu mrežu ćelija, od kojih svaka sadrži kondenzator i tranzistor, kontinuirano čitanje iste oblasti memorije dovodi do fluktuacija napona i anomalija koje izazivaju mali gubitak naboja u susednim ćelijama. Ukoliko je intenzitet čitanja visok, susedna ćelija može izgubiti dovoljno značajan deo naboja i sledeći ciklus regeneracije ne uspeva da povrati njeno prvobitno stanje, što rezultira promenom vrednosti sačuvanih u ćeliji.
Metoda napada Rowhammer je bila predlagana leta 2014, nato pa se je med raziskovalci varnosti in proizvajalci opreme začela igra „mačka-mis“. Proizvajalci čipov pomnilnika so poskušali blokirati ranljivost, raziskovalci pa so našli nove načine obvladovanja. Na primer, za zaščito pred RowHammer so proizvajalci čipov dodali mehanizem TRR (Target Row Refresh), vendar se je izkazalo, da ta blokira izkrivljanje celic le v nekaterih primerih, ne pa tudi pred vsemi možnimi različicami napada. Metode napada so bile razvite za čipe DDR3, DDR4 in DDR5 na sistemih z procesorji Intel, AMD in ARM. Prav tako so bili najdeni načini za obvladovanje popravkov napak ECC in predlagane možnosti napada prek omrežja in z izvajanje JavaScript kode v brskalniku.
Izvor: opennet.ru
