Esploristoj el pluraj universitatoj en Usono kaj Aŭstralio evoluigis du atakojn de la klaso Rowhammer — GDDRHammer kaj GeForge — kiuj ebligas la korupton de individuaj bitoj en GDDR-videomemoraj blatoj dum ekzekuto de neprivilegia CUDA-kerno sur NVIDIA GPU. Male al la metodo GPUHammer prezentita lastjare, ĉi tiuj novaj atakoj ne limiĝas al influado de datumoj prilaboritaj en GPU-memoro, sed permesas plenan aliron al la tuta ĉefa memoro ene de la CPU-adresspaco. La esploristoj montris ekspluatojn, kiuj donas aliron kiel administranto al la gastiganta sistemo dum ekzekuto de neprivilegia CUDA-kerno sur GPU.
Ambaŭ atakoj trofrue malplenigas specifajn ĉelojn de videomemoro, al kiuj la atakantoj ne havas rektan aliron, ŝanĝante la bitojn konservitajn en tiuj ĉeloj. Legado kaj skribado al memoro ene de la CPU-adresspaco estas atingitaj per interrompo de la GPU-memorasignilo (cudaMalloc) por rompi la GPU-memorizoladon kaj mapi virtualajn GPU-adresojn al arbitraj adresoj en fizika GPU- aŭ CPU-memoro.
La atako estas efektivigata per koruptado de bitvaloroj en videomemoro, kiu stokas la paĝtabelojn de la GPU respondecajn pri tradukado de virtualaj adresoj en fizikajn. La diferenco inter la atakoj GDDRHammer kaj GeForge estas, ke la metodo GDDRHammer modifas la Last Level Page Table (PT), dum la metodo GeForge modifas la Last Level Page Directory (PD0).
Interalie, la specifitaj tabeloj de adrestraduko estas uzataj por organizi rektan aliron de la GPU al la CPU-memoro, tial, ŝanĝi la adreson en la GPU-paĝa tabelo al fizika adreso en la ĉefa RAM kaj agordi la flagon APERTURE, kiu ebligas la CPU-memormapreĝimon, ebligas legi kaj skribi datumojn alirante la ĉefan memoron per la PCIe-buso kun la IOMMU malebligita (defaŭlte malebligita).


Sukcesaj atakoj estis montritaj kontraŭ alt-efikecaj profesiaj grafikaj kartoj NVIDIA RTX A6000 bazitaj sur la Ampere-mikroarkitekturo (novaj kartoj komenciĝas je 6 850 USD, dum uzitaj komenciĝas je 4 000 USD) kaj konsumantaj NVIDIA RTX 3060-modeloj (250-300 USD). La evoluigita tekniko por preteriri Rowhammer-protekton, kombinita kun la uzo de la paraleligaj kapabloj de la GPU, permesis 64-oblan pliiĝon de la ĉelkoruptofteco kompare kun antaŭaj atakoj. Kiel provizora rimedo por bloki la atakojn, la reĝimo Erarkorektokodoj (ECC) povas esti ebligita per la komando "nvidia-smi -e 1", sed tio enkondukas plian ŝarĝon kaj eble povas esti preteririta per atakmetodoj kiel ECCploit kaj ECC.fail.
Atako "RowHammer" permesas misprezenti la enhavon de individuaj bitoj de DRAM-memoro per cikla legado de datumoj el najbaraj memorĉeloj. Ĉar DRAM-memoro estas dudimensia aro de ĉeloj, ĉiu el kiuj konsistas el kondensilo kaj transistoro, kontinua legado de la sama memorareo kondukas al tensiofluktuoj kaj anomalioj, kaŭzante malgrandan perdon de ŝargo en najbaraj ĉeloj. Se la legintenseco estas alta, tiam la najbara ĉelo povas perdi sufiĉe grandan kvanton da ŝargo, ke la sekva refreŝiga ciklo ne havos tempon restarigi sian originalan staton, kio kondukos al ŝanĝo en la valoro de la datumoj konservitaj en la ĉelo.
La atakmetodo Rowhammer estis proponita en 2014, ekigante kato-kaj-muso-ludon inter sekurecesploristoj kaj aparatarproduktantoj: memor-blato-fabrikantoj provis bloki la vundeblecon, dum esploristoj trovis novajn manierojn preteriri ĝin. Ekzemple, por protekti kontraŭ Rowhammer, blato-fabrikantoj aldonis la TRR (Target Row Refresh - Cela Row Refresh), sed montriĝis, ke tio nur blokis ĉelkorupton en specifaj kazoj kaj ne protektis kontraŭ ĉiuj eblaj atakscenaroj. Atakmetodoj estis evoluigitaj por DDR3, DDR4 kaj DDR5-blatoj sur sistemoj kun Intel, AMD kaj ARM-procesoroj, same kiel por GDDR-memoro en NVIDIA GPU-oj. Plie, oni trovis metodojn por preteriri ECC-erarkorekton, kaj atakmetodoj estis proponitaj por retaj atakoj kaj per efektivigo de JavaScript-kodo en retumilo.
fonto: opennet.ru
