Undersykers fan ferskate universiteiten yn 'e FS en Austraalje hawwe twa oanfallen fan 'e Rowhammer-klasse ûntwikkele - GDDRHammer en GeForge - dy't it mooglik meitsje om yndividuele bits yn GDDR-fideo-ûnthâldchips te beskeadigjen by it útfieren fan in net-privilegearre CUDA-kernel op in NVIDIA GPU. Oars as de GPUHammer-metoade dy't ferline jier presintearre waard, binne dizze nije oanfallen net beheind ta it beynfloedzjen fan gegevens dy't ferwurke binne yn GPU-ûnthâld, mar jouwe se folsleine tagong ta alle haadûnthâld binnen de CPU-adresromte. De ûndersikers demonstrearren exploits dy't root-tagong jouwe ta it hostsysteem by it útfieren fan in net-privilegearre CUDA-kernel op in GPU.
Beide oanfallen ferminderje spesifike fideogeheugensellen te betiid dêr't de oanfallers gjin direkte tagong ta hawwe, wêrtroch't de bits dy't yn dy sellen opslein binne, feroarje wurde. It lêzen en skriuwen nei ûnthâld binnen de CPU-adresromte wurdt berikt troch ynterferinsje mei de GPU-ûnthâldallokator (cudaMalloc) om GPU-ûnthâldisolaasje te brekken en firtuele GPU-adressen te mappen nei willekeurige adressen yn fysyk GPU- of CPU-ûnthâld.
De oanfal wurdt útfierd troch it beskeadigjen fan bitwearden yn it fideoûnthâld, dat de sidentabellen fan 'e GPU opslaat dy't ferantwurdlik binne foar it oersetten fan firtuele adressen nei fysike adressen. It ferskil tusken de GDDRHammer- en GeForge-oanfallen is dat de GDDRHammer-metoade de Last Level Page Table (PT) oanpast, wylst de GeForge-metoade de Last Level Page Directory (PD0) oanpast.
Under oare dingen wurde de oantsjutte adres-oersettingstabellen brûkt om direkte tagong fan 'e GPU ta it CPU-ûnthâld te organisearjen, dêrom makket it feroarjen fan it adres yn 'e GPU-paginatabel nei in fysyk adres yn it haad-RAM en it ynstellen fan 'e APERTURE-flagge, dy't de CPU-ûnthâldmappingmodus mooglik makket, it mooglik om gegevens te lêzen en te skriuwen dy't tagong krije ta it haadûnthâld fia de PCIe-bus mei de IOMMU útskeakele (standert útskeakele).


Súksesfolle oanfallen waarden demonstrearre tsjin hege-prestaasjes profesjonele NVIDIA RTX A6000 grafyske kaarten basearre op 'e Ampere mikroarsjitektuer (nije kaarten begjinne by $6850, wylst brûkte begjinne by $4000) en konsuminte NVIDIA RTX 3060-modellen ($250-$300). De ûntwikkele technyk foar it omgean fan Rowhammer-beskerming, kombineare mei it brûken fan 'e parallellisaasjemooglikheden fan' e GPU, makke in 64-fâldige ferheging fan it selkorrupsjetaryf mooglik yn ferliking mei eardere oanfallen. As tydlike maatregel om de oanfallen te blokkearjen, kin de Error Correcting Codes (ECC)-modus ynskeakele wurde mei it kommando "nvidia-smi -e 1", mar dit bringt ekstra overhead mei en kin potinsjeel omgien wurde mei oanfalsmetoaden lykas ECCploit en ECC.fail.
In RowHammer-oanfal makket it mooglik om de ynhâld fan yndividuele bits fan DRAM-ûnthâld te ferfoarmjen troch syklisk gegevens fan buorjende ûnthâldsellen te lêzen. Om't DRAM-ûnthâld in twadiminsjonale array fan sellen is, dy't elk besteane út in kondensator en in transistor, liedt it trochgeand lêzen fan itselde ûnthâldgebiet ta spanningsfluktuaasjes en anomalieën, wêrtroch't in lyts ferlies fan lading fan buorjende sellen ûntstiet. As de lêsyntensiteit heech is, kin de buorjende sel in genôch grutte hoemannichte lading ferlieze dat de folgjende ferfarskingssyklus gjin tiid hat om syn oarspronklike steat te herstellen, wat sil liede ta in feroaring yn 'e wearde fan' e gegevens dy't yn 'e sel opslein binne.
De Rowhammer-oanfalsmetoade waard yn 2014 foarsteld, wêrtroch't in kat-en-mûsspul tusken feiligensûndersikers en hardwarefabrikanten ûntstie: fabrikanten fan ûnthâldchips besochten de kwetsberens te blokkearjen, wylst ûndersikers nije manieren fûnen om it te omzeilen. Bygelyks, om te beskermjen tsjin Rowhammer, foegen chipfabrikanten it TRR (Target Row Refresh)-meganisme ta, mar it die bliken dat dit allinich selkorrupsje yn spesifike gefallen blokkearre en net beskerme tsjin alle mooglike oanfalsscenario's. Oanfalsmetoaden waarden ûntwikkele foar DDR3-, DDR4- en DDR5-chips op systemen mei Intel-, AMD- en ARM-prosessor, lykas foar GDDR-ûnthâld yn NVIDIA GPU's. Derneist waarden metoaden fûn om ECC-flaterkorreksje te omzeilen, en waarden oanfalsmetoaden foarsteld foar netwurkoanfallen en troch it útfieren fan JavaScript-koade yn in browser.
Boarne: opennet.ru
