Toronto Ülikooli teadlased esitasid esmakordselt Rowhammeri rünnaku, mis on suunatud videomälu sisu moonutamisele. Rünnaku võimalus, mis võimaldab asendada kuni 8 biti andmeid, demonstreeriti NVIDIA A6000 diskreetse GPU puhul, millel on GDDR6 videomälu. Praktilise näitena näidatakse, kuidas sellist moonutust saab kasutada masinõppemudelite täitmise sekkumiseks ja tulemuste täpsuse märkimisväärseks (80%-lt kuni 0,1%-ni) vähenemiseks, muutes vaid ühe biti väärtust.

Kuni tänaseni oli Rowhammeri rünnakute loomine videomälu jaoks keeruline, kuna selle füüsilise paigutuse määramine GDDR kiipides on keeruline, mälu juurdepääsu viivitused on 4 korda pikemad ning mälu värskendussagedus on kõrgem. Lisaks takistas katsete läbi viimist GDDR kiipides sisseehitatud patenteeritud kaitsesüsteemid, mis takistavad laadimise enneaegset kadu, mistõttu nende analüüsimiseks oli vajalik luua spetsiaalseid FPGA-põhiseid katseplatvorme.
Uue GDDR DRAM-i tagasipöördumise inseneritehnika on välja töötatud videomälu uurimiseks, kasutades rünnaku käigus mälu optimeerimise tehnikaid, mis on kavandatud paralleelsete arvutuste korraldamiseks, et suurendada juurdepääsu intensiivsust üksikutele mälurakkudele. NVIDIA GPU rünnaku läbiviimiseks kasutati madala taseme CUDA koodi.
CUDA kasutajakoodeks ei tee füüsilisi mäluaadresse, kuid NVIDIA draiveris peegeldati virtuaalset mälu ühte ja samasse füüsilisse mällu, mida uurijad kasutasid virtuaalse mälu nihke arvutamiseks ja mälupankade jaotuse määramiseks. Erinevatesse mälupankadesse tehtud päringute tuvastamine toimus viivituste analüüsi kaudu, mis erines päringute puhul ühe või erinevate mälupankade juurde.
GPU-sid ühiselt kasutavates süsteemides, nagu serveritesse masinõppe mudelite täitmiseks võimaldab rünnak ühel kasutajal muuta teise kasutaja videomälu sisu. Kaitsemeetmena soovitab ettevõte NVIDIA aktiveerida vigade paranduse koodid (ECC, Error Correction Codes) käsuga „nvidia-smi -e 1“ või kasutada videoporteerimisseeriaid, mis toetavad OD-ECC (On-Die ECC), nagu GeForce RTX 50, RTX PRO, GB200, B200, B100, H100, H200, H20 ja GH200.
Uuringute kohaselt toob ECC aktiveerimine A6000 GPUdega süsteemides masinõppe mudelite täitmise efektiivsuse vähenemise ligikaudu 10% ja mälumahtude vähenemise 6.25%. Rünnaku läbiviimiseks ja GPU NVIDIA süsteemide madalama taseme videomälu paigutuse tagasivõtmise tööriistade komplekt on avaldatud GitHubis.
RowHammeri rünnak võimaldab rikutud DRAMi mälu üksikute bittide sisu, lugedes andmeid pidevalt naabermälu rakkudest. DRAM mälu on kahemõõtmeline rakkude massiiv, kus iga rakk koosneb kondensaatorist ja transistorist. Ühe ja sama mäluala pidev lugemine põhjustab pingefluktuatsioone ja anomaaliaid, mis põhjustavad naaberakkude väikest laengukaotust. Kui lugemise intensiivsus on kõrge, võib naaberakk kaotada piisavalt suures koguses laengut, nii et järgmine regenereerimise tsükkel ei suuda taastada selle algset olekut, mis viib talletatud andmete muutumiseni.
Rowhammeri ründe meetod esitati 2014. aastal, pärast mida algas turvauuringute ja seadmete tootjate vahel mäng 'kass ja hiir' — mälichipide tootjad püüdsid haavatavust blokeerida, samas kui teadlased leidsid uusi viise selle vältimiseks. Näiteks RowHammeri eest kaitsmiseks lisasid mäluchipide tootjad TRR (Target Row Refresh) mehhanismi, kuid selgus, et see blokeerib rakkude moonutused vaid teatud juhtudel, kuid ei kaitse kõigi võimalike ründevariantide eest. Ründemeetodeid on arendatud DDR3, DDR4 ja DDR5 mälude jaoks Intel, AMD ja ARM protsessorite süsteemides. Samuti leiti viise ECC vigade paranduse vältimiseks ning pakuti välja rünnakute teostamise võimalusi võrgus ja JavaScripti koodi täitmise kaudu brauseris.
Allikas: opennet.ru
