Istraživači sa nekoliko univerziteta u SAD-u i Australiji razvili su dva napada klase Rowhammer - GDDRHammer i GeForge - koji omogućavaju oštećenje pojedinačnih bitova u GDDR čipovima video memorije prilikom izvršavanja neprivilegovanog CUDA kernela na NVIDIA GPU-u. Za razliku od GPUHammer metode predstavljene prošle godine, ovi novi napadi nisu ograničeni na utjecaj na podatke obrađene u GPU memoriji, već omogućavaju potpuni pristup svoj glavnoj memoriji unutar adresnog prostora CPU-a. Istraživači su demonstrirali exploite koji daju root pristup host sistemu prilikom izvršavanja neprivilegovanog CUDA kernela na GPU-u.
Oba napada prerano iscrpljuju specifične ćelije video memorije kojima napadači nemaju direktan pristup, mijenjajući bitove pohranjene u tim ćelijama. Čitanje i pisanje u memoriju unutar adresnog prostora CPU-a postiže se ometanjem alokatora memorije GPU-a (cudaMalloc) kako bi se razbila izolacija memorije GPU-a i mapirale virtualne adrese GPU-a na proizvoljne adrese u fizičkoj memoriji GPU-a ili CPU-a.
Napad se izvodi oštećenjem vrijednosti bitova u video memoriji, koja pohranjuje tabele stranica GPU-a odgovorne za prevođenje virtuelnih adresa u fizičke. Razlika između GDDRHammer i GeForge napada je u tome što GDDRHammer metoda mijenja tabelu stranica posljednjeg nivoa (PT), dok GeForge metoda mijenja direktorij stranica posljednjeg nivoa (PD0).
Između ostalog, navedene tabele za prevođenje adresa koriste se za organiziranje direktnog pristupa GPU-a memoriji CPU-a, stoga, promjena adrese u tabeli stranica GPU-a na fizičku adresu u glavnoj RAM memoriji i postavljanje zastavice APERTURE, koja omogućava način mapiranja memorije CPU-a, omogućava čitanje i pisanje podataka koji pristupaju glavnoj memoriji putem PCIe magistrale sa onemogućenim IOMMU-om (onemogućen prema zadanim postavkama).


Uspješni napadi su demonstrirani na visokoperformansne profesionalne grafičke kartice NVIDIA RTX A6000 bazirane na Ampere mikroarhitekturi (nove kartice počinju od 6850 dolara, dok polovne počinju od 4000 dolara) i potrošačke NVIDIA RTX 3060 modele (250-300 dolara). Razvijena tehnika za zaobilaženje Rowhammer zaštite, u kombinaciji s korištenjem mogućnosti paralelizacije GPU-a, omogućila je 64 puta veće povećanje stope korupcije ćelija u odnosu na prethodne napade. Kao privremena mjera za blokiranje napada, način rada kodova za ispravljanje grešaka (ECC) može se omogućiti pomoću naredbe "nvidia-smi -e 1", ali to uvodi dodatno opterećenje i potencijalno se može zaobići korištenjem metoda napada kao što su ECCploit i ECC.fail.
RowHammer napad omogućava iskrivljavanje sadržaja pojedinačnih bitova DRAM memorije cikličnim čitanjem podataka iz susjednih memorijskih ćelija. Budući da je DRAM memorija dvodimenzionalni niz ćelija, od kojih se svaka sastoji od kondenzatora i tranzistora, kontinuirano čitanje istog memorijskog područja dovodi do fluktuacija napona i anomalija, uzrokujući mali gubitak naboja susjednih ćelija. Ako je intenzitet čitanja visok, tada susjedna ćelija može izgubiti dovoljno veliku količinu naboja da sljedeći ciklus osvježavanja neće imati vremena da vrati svoje prvobitno stanje, što će dovesti do promjene vrijednosti podataka pohranjenih u ćeliji.
Metoda napada Rowhammer predložena je 2014. godine, što je izazvalo igru mačke i miša između istraživača sigurnosti i proizvođača hardvera: proizvođači memorijskih čipova pokušali su blokirati ranjivost, dok su istraživači pronašli nove načine da je zaobiđu. Na primjer, kako bi se zaštitili od Rowhammera, proizvođači čipova dodali su mehanizam TRR (Target Row Refresh), ali se ispostavilo da je to blokiralo oštećenje ćelija samo u specifičnim slučajevima i nije štitilo od svih mogućih scenarija napada. Razvijene su metode napada za DDR3, DDR4 i DDR5 čipove na sistemima sa Intel, AMD i ARM procesorima, kao i za GDDR memoriju u NVIDIA GPU-ima. Pored toga, pronađene su metode za zaobilaženje ECC korekcije grešaka, a predložene su i metode napada za mrežne napade i izvršavanjem JavaScript koda u pretraživaču.
izvor: opennet.ru
