- Rowhammer napadi na GDDR6 memoriju omogućuju oštećenje tablica stranica GPU-a i dobivanje pristupa čitanju i pisanju za svu memoriju CPU-a.
- Istraživanja poput GDDRHammera, GeForgea, GPUBreach i GPUHammera pokazuju eskalaciju privilegija i ekstremnu degradaciju u AI modelima na NVIDIA GPU-ima.
- Glavne mjere ublažavanja uključuju omogućavanje IOMMU-a i ECC-a, ažuriranje upravljačkih programa i ograničavanje izvršavanja nepouzdanog koda na GPU-u, iako nijedna obrana nije potpuno sigurna.
NVIDIA grafičke kartice s GDDR6 memorijom postale su novo bojno polje za kibernetičku sigurnost. Ono što se godinama smatralo gotovo isključivim problemom sistemske RAM memorije sada u potpunosti utječe na moderne GPU-ove, s vrlo ozbiljnim implikacijama za osobna računala, poslužitelje i AI okruženja.
Nekoliko akademskih timova pokazalo je da razni napadi tipa Rowhammer, poput GDDRHammera, GeForgea, GPUBreach i GPUHammera , mogu drastično smanjiti točnost modela umjetne inteligencije, dobiti potpunu kontrolu nad memorijom procesora i postići administratorski ili root pristup sustavu. Sve se to postiže iskorištavanjem fizičkog nedostatka u načinu rada DRAM memorije, a posebno GDDR6 koju koriste mnogi NVIDIA GPU-ovi.
Što je Rowhammer i zašto je toliko opasan?
Rowhammer napadi iskorištavaju fizičku ranjivost u DRAM memoriji , otkrivenu prije više od desetljeća, koja narušava osnovni princip izolacije između memorijskih ćelija. Iznimno brzim i ponovljenim pristupom određenim redovima generiraju se električni poremećaji koji mogu uzrokovati promjenu vrijednosti bitova u susjednim redovima.
Ovaj fenomen, poznat kao zamjena bita , uzrokuje da 0 postane 1 i obrnuto, a da sustav to ne prepozna kao konvencionalnu softversku pogrešku. To je inherentna mana u dizajnu i gustoći modernih DRAM čipova, a ne jednostavna programska greška koja se može popraviti zakrpom.
Godine 2014. prvi je put pokazano da je, s pažljivo osmišljenim uzorkom pristupa, moguće daljinski izazvati promjene bitova jednostavnim "čekićem" u određene retke memorije. Ubrzo nakon toga, druga je istraživačka skupina dokazala da je ciljanjem tih promjena na retke koji sadrže osjetljive podatke ili kritične strukture (kao što su tablice stranica) moguće eskalirati privilegije s nedozvoljenog korisnika na administratora ili, još gore, potpuno zaobići zaštite sandboxa.
Prvi praktični napadi usredotočili su se na DDR3, a zatim na DDR4 memoriju , povezanu s tradicionalnim CPU-ima. Uzorak se ponavljao: napadač je uspio oštetiti susjedne ćelije izvršavajući tisuće ili milijune pristupa istim adresama, iskorištavajući curenje energije i ograničenja mjera osvježavanja ciljnog reda (TRR) osmišljenih za suzbijanje tih pojava.
Godinama se pretpostavljalo da je omogućavanje ECC-a (Error Correction Code - kod za ispravljanje pogrešaka) robusna obrana od Rowhammera, jer ova tehnologija može transparentno ispraviti pogreške jednog bita. Međutim, nedavna istraživanja jasno su pokazala da ECC nije čarobni štapić: određeni obrasci napada mogu uzrokovati promjene više bitova unutar iste memorijske riječi, preopterećujući kapacitet ispravljanja ECC-a ili čak prikrivajući promjene ispod praga onoga što sustav detektira kao pogrešku.
Od sistemske RAM memorije do GPU GDDR6 memorije
Kvalitativni skok dolazi kada nekoliko istraživačkih skupina pokaže da moderni NVIDIA GPU-ovi s GDDR6 memorijom pate od sličnih Rowhammer ranjivosti, ali s puno širim utjecajem od jednostavnog oštećenja podataka GPU-a.
Timovi s UNC Chapel Hilla, Georgia Techa i drugih centara objavili su neovisne studije (GDDRHammer, GeForge i GPUBreach, između ostalih) koje prikazuju potpune lance iskorištavanja koji počinju s neprivilegiranim kodom koji se izvršava na GPU-u, a završavaju potpunom kontrolom nad memorijom glavnog CPU-a.
Ključna ideja je da GDDR6 memorija GPU-a ne pohranjuje samo teksture ili grafiku i podatke o izračunima umjetne inteligencije, već sadrži i kritične interne strukture poput tablica stranica koje upravljaju virtualnim i fizičkim adresama GPU-a. Ako napadač uspije pokrenuti zamjene bitova u tim strukturama, može preusmjeriti pokazivače, prekinuti izolaciju između zaštićenih područja i prisiliti GPU da čita ili piše u područja koja ne bi smio.
U eksperimentima je testirano najmanje 25 NVIDIA modela kartica s GDDR6, pri čemu su pronađene ranjivosti u više varijanti Ampere arhitekture (kao što su RTX A6000 i RTX 3060) , a također i u specifičnim Ada Lovelace modelima (kao što je RTX 6000 Ada), iako s razlikama ovisno o korištenoj verziji memorije.
Uočene su vrlo značajne brojke, poput 1.171 promjena bita na RTX 3060 pod određenim obrascima napada ili više od 1.000 promjena bita po gigabajtu u nekim testovima, što je deset puta više od stope promjena postignute u prethodnim istraživanjima Rowhammera u GPU-ima.
GDDRHammer i GeForge: napadi koji prekidaju izolaciju GPU-a i CPU-a
Lanci napada nazvani GDDRHammer i GeForge posebno su otkrivajući jer pokazuju ne samo da se zamjena bitova može izazvati u GDDR6, već i da se te promjene mogu transformirati u stvarnu eskalaciju privilegija s potpunom kontrolom nad operativnim sustavom.
Početna točka je jednostavna: napadač izvršava standardni, neprivilegirani kod na GPU-u , na primjer, naizgled bezopasnu CUDA kernel. Ovaj kernel je dizajniran da "pogodi" određene retke GDDR6 memorije, koristeći pažljivo podešene obrasce kako bi izbjegao obranu osvježavanja ciljnog retka (TRR) i maksimizirao vjerojatnost promjene bita na odabranim lokacijama.
U slučaju GeForgea, istraživači su osmislili neujednačene obrasce pristupa koji obuhvaćaju više intervala osvježavanja memorije, mijenjajući intenzitet i redoslijed aktivacije redaka kako bi zaobišli mehanizme zaštite hardvera. To uključuje iskorištavanje nelinearne alokacije fizičkih adresa skupovima L2 predmemorije, korištenje tehnika sidrenja stranica za primjenu mapa fizičkih adresa dobivenih izvanmrežnim profiliranjem.
U međuvremenu, tim GDDRHammera otkrio je da DRAM redovi u GPU-ima slijede nemonotonu geometriju , što im omogućuje izgradnju vrlo učinkovitih dvostranih uzoraka čak i kada su fizičke adrese izgledale široko razdvojene. Distribucijom memorijskih banaka među različitim strujnim multiprocesorima (SM) i djelomičnom sinkronizacijom izvršavanja, uspjeli su održati vrlo visoku stopu aktivacije bez usporavanja sigurnosnim uzorkovanjem.
Svi ovi trikovi vode do jednog specifičnog rezultata: oštećenja hijerarhijskih tablica stranica kojima upravlja jedinica za upravljanje memorijom GPU-a . Budući da se te tablice obično nalaze u zaštićenim ili teško predvidljivim područjima, napadi pribjegavaju "masažiranju memorije", odnosno tehnikama masovne alokacije i dealokacije kako bi se te kritične strukture prisilile da završe na fizičkim adresama koje je napadač već identificirao kao ranjive na Rowhammer.
U GDDRHammeru, na primjer, mapiranja dijeljene memorije koriste se za preplavljivanje alokatora, smanjujući udaljenost između područja koja sadrže tablice stranica i memorije kojom izravno upravlja korisnik. GeForge se specifičnije fokusira na oštećenje unosa u direktoriju stranica 0 (PD0) , ključnoj komponenti u stablu tablica stranica.
Nakon što napadač uspije smjestiti tablicu stranica na određenu podstranicu od 4KB, potrebna mu je samo jedna zamjena bita kako bi modificirao pokazivač fizičke adrese unosa, tako da pokazuje na lažnu tablicu stranica pod njihovom potpunom kontrolom. Od tada nadalje, GPU vjeruje da je ova kompromitovana struktura legitimna.
Sljedeći korak je poguban: NVIDIA-ini unosi u tablicu stranica uključuju početno polje koje označava odgovara li fizička adresa lokalnoj memoriji GPU-a ili memoriji hosta . Ako napadač promijeni ovo polje u krivotvorenoj tablici, može uzrokovati da se sva sljedeća čitanja ili pisanja GPU-a usmjere, putem PCIe sabirnice, izravno u fizičku RAM memoriju host sustava.
Ovo potpuno zaobilazi jedinicu za upravljanje memorijom CPU-a i standardne zaštite operativnog sustava od kopiranja pri pisanju. U svojoj praktičnoj demonstraciji, istraživači su uspjeli prepisati segment koda iz standardne C biblioteke izravno u memoriju hosta ubrizgavanjem strojnog koda u funkciju koju koristi legitimni program s povišenim privilegijama. Kada je ta funkcija izvršena, napadač je dobio pristup superkorisnika sustavu.
Zahvaćeni modeli, utjecaj na stvarne sustave i uloga ECC-a
GDDRHammer studije analizirale su širok raspon hardvera: 25 vrhunskih NVIDIA grafičkih kartica . Od 17 testiranih RTX A6000 modela temeljenih na Ampere arhitekturi, utvrđeno je da je 16 ranjivo na Rowhammer napade na GDDR6. Na potrošačkom tržištu, modeli poput GeForce RTX 3060 također su pokazali visoke stope okretanja bitova.
U profesionalnom segmentu, grafičke kartice za radne stanice poput RTX 6000 i RTX A6000 kompromitirane su kroz složene lance napada, eskalirajući privilegije na administratorske ili root privilegije na Linux sustavima. U nekim eksperimentima, čak i s omogućenim IOMMU-om, istraživači su uspjeli iskoristiti nedavne nedostatke u NVIDIA upravljačkom programu kako bi dobili proizvoljan pristup GPU-u memoriji CPU-a.
U međuvremenu, drugi timovi su primijetili da napadi mogu narušiti integritet AI izračuna bez preuzimanja kontrole nad sustavom . U slučaju ranjivosti poznate kao GPUHammer, testirana je na NVIDIA RTX A6000 s 48 GB GDDR6 memorije, dizajniranoj za AI okruženja. Samo promjena jednog bita na strateškim pozicijama bila je dovoljna da točnost prethodno obučenih modela klasifikacije slika (ImageNet) padne s približno 80% na bijednih 0,1%.
Ovaj kolaps pokazuje da čak i napad "samo" usmjeren na oštećenje memorije GPU-a može potpuno uništiti pouzdanost AI sustava bez nužnog ugrožavanja operativnog sustava. U okruženjima gdje su točnost i pouzdanost modela ključni (zdravstvo, industrijska automatizacija, autonomna vožnja), ova vrsta tihe manipulacije rezultatima može biti jednako opasna kao i tradicionalno preuzimanje.
Što se tiče ECC-a, NVIDIA i istraživači se slažu da omogućavanje načina ispravljanja pogrešaka na GPU-u značajno smanjuje učinkovitost mnogih Rowhammer napada, jer se promjene pojedinačnih bitova ispravljaju u hodu. Zapravo, sama NVIDIA je u nekoliko izjava preporučila omogućavanje ECC-a pomoću alata poput „nvidia-smi -e 1“ i ponovno pokretanje sustava, a također je pregledala kako konfigurirati integritet memorije u sustavu Windows.
Problem je što ECC dolazi sa značajnom cijenom: približno 10% gubitka u performansama AI inferencije i otprilike 6,25% smanjenja iskoristive memorije. Nadalje, studije upozoravaju da postoje scenariji u kojima napadači i dalje mogu izazvati obrasce okretanja bitova koji izmiču ECC-ovom pragu korekcije ili čak uzrokovati višebitne pogreške unutar iste riječi, što mehanizam čini nepouzdanim.
Da stvar bude gora, mnogi potrošački GPU-ovi s GDDR6 memorijom, poput većeg dijela GeForce serije, ne uključuju ni podršku za ECC . A u profesionalnom prostoru, gdje ova značajka postoji, često je prema zadanim postavkama onemogućena kako bi se maksimizirale performanse, ostavljajući vrata otvorenima za ove zloupotrebe ako administrator ne poduzme dodatne mjere.
GPUBreach: Rowhammer dolazi u web preglednik
Uz GDDRHammer i GeForge, ističe se GPUBreach , još jedna napredna varijanta Rowhammera koja se izravno fokusira na GDDR6 VRAM, ali uvodi vrlo zabrinjavajuću novu značajku: mogućnost iskorištavanja ranjivosti iz samog preglednika.
GPUBreach ponovno koristi Rowhammer koncept primijenjen na GPU-ove, pokrećući obrazac izuzetno brzih i ponovljenih pristupa određenim retcima video memorije. To generira dovoljno elektromagnetskih smetnji da uzrokuje zamjene bitova u susjednim retcima, baš kao i kod drugih napada, ali njegov ulazni vektor može biti jednostavan kao učitavanje zlonamjerne web stranice.
Testovi su pokazali da GPUBreach može iskoristiti tehnologije poput WebGL-a i WebGPU-a za izvršavanje koda koji pokreće ove obrasce pristupa izravno iz preglednika, bez potrebe da korisnik instalira bilo što ili odobri posebne dozvole. Scenarij je zabrinjavajući: jednostavna web stranica mogla bi prisiliti GPU da manipulira kritičnim podacima ili oslabi izolaciju memorije.
Istraživanja pokazuju da ovaj exploit utječe na širok raspon NVIDIA arhitektura , uključujući Turing (RTX 20), Ampere (RTX 30) i potencijalno čak Ada Lovelace (RTX 40) seriju. Promjenom kontrolnih bitova na strateškim pozicijama, napadač bi mogao povećati privilegije, pristupiti osjetljivim informacijama koje obrađuje GPU ili utjecati na ukupnu stabilnost operativnog sustava.
Jedan od najkritičnijih aspekata GPUBreach-a je njegova sposobnost zaobilaženja IOMMU-a u određenim konfiguracijama , slabeći jednu od hardverskih obrana koja bi trebala izolirati pristup uređaja poput GPU-a memoriji hosta. To pojačava ideju da je korijen problema fizički i dizajnerski povezan, kako u GDDR6 memoriji tako i u NVIDIA-inom memorijskom kontroleru.
Zasad se stručnjaci slažu da ne postoji jednostavna softverska zakrpa koja eliminira ovaj rizik bez značajnog utjecaja na performanse. Govori se o potrebi redizajna zaštite na razini hardvera u budućim generacijama grafičkih kartica, nešto što bi se moglo početi pojavljivati u novijim memorijskim tehnologijama poput GDDR7 i u nadolazećim GPU arhitekturama, gdje se pregledavaju mehanizmi osvježavanja i unutarnje izolacije.
IOMMU, TRR i druga ublažavanja: koliko daleko zapravo idu?
U nedostatku konačnih hardverskih rješenja, trenutne mjere ublažavanja oslanjaju se na postavke BIOS-a, opcije operativnog sustava i značajke koje su već integrirane u memoriju i kontrolere . Nijedna nije savršena, ali zajedno mogu značajno podići ljestvicu za napadača.
Jedna od najčešće spominjanih obrana je omogućavanje IOMMU-a (Input/Output Memory Management Unit) u BIOS-u. IOMMU djeluje kao vrsta upravitelja memorije za I/O uređaje poput GPU-a, mapirajući adrese virtualnih uređaja na fizičke adrese u memoriji hosta i, što je najvažnije, ograničavajući kojim memorijskim područjima GPU može pristupiti.
Istraživači i sama NVIDIA naznačili su da je omogućavanje IOMMU-a na Linux sustavima s Ampere GPU-ima, na primjer, učinkovit način za gašenje mnogih poznatih lanaca iskorištavanja , posebno onih koji se oslanjaju na neograničen pristup GPU-a fizičkoj memoriji hosta. Neki napadi, posebno oni usmjereni na GDDR6 na RTX 6000 Ampere seriji, postaju neučinkoviti kada je IOMMU pravilno konfiguriran.
Međutim, drugi radovi, poput dijela testova GDDRHammera i GeForgea, pokazali su da nisu sve konfiguracije IOMMU-a iste te da je u nekim scenarijima, čak i s aktivnim IOMMU-om, moguće izgraditi exploite koji uspijevaju povećati privilegije manipuliranjem nedostacima u NVIDIA upravljačkom programu ili iskorištavanjem praznina u načinu na koji je implementirana izolacija između GPU-a i memorije hosta.
Osim toga, mnogi komercijalni Linux sustavi i radne stanice imaju IOMMU onemogućen prema zadanim postavkama zbog kompatibilnosti ili performansi. Zbog toga je značajan broj računala ranjiv na ove napade, iako bi inače bili barem djelomično zaštićeni.
Druga linija obrane je korištenje TRR-a (Target Row Refresh) , tehnike ugrađene u sam DRAM (uključujući GDDR6) za proaktivno osvježavanje susjednih redaka kada se otkrije velik broj pristupa određenom retku, što vrijedi razmotriti u kontekstu sigurnog overclockinga GPU-a i memorije.
Najnapredniji napadi kombiniraju pristupe više redova, mijenjajući udaljenosti i vremena, kako bi zaobišli pragove koje TRR koristi za odlučivanje kada osvježiti red. Na taj se način mijenja puno više bitova nego što su dizajneri memorije očekivali, ponovno otvarajući vrata oštećenju podataka unatoč sigurnosnim poboljšanjima.
Konačno, tu je i spomenuta aktivacija ECC-a i zaštita softvera na razini upravljačkog programa i operativnog sustava. NVIDIA je objavila referentnu dokumentaciju i vodiče (poput onih povezanih s prethodnim napadom GPUHammera) kako bi pomogla administratorima da provjere jesu li njihova okruženja ranjiva i koje korake poduzeti, uključujući kombiniranje IOMMU-a, ECC-a, ažuriranja upravljačkih programa i pažljivu konfiguraciju dijeljenih računalnih okruženja.
Danas praktične preporuke uključuju da svaka organizacija koja koristi NVIDIA GPU-ove s GDDR6 u produkciji (posebno na poslužiteljima, kritičnim radnim stanicama ili AI platformama) pažljivo pregleda svoju IOMMU konfiguraciju, omogući ECC kad god je to moguće, ažurira upravljačke programe i ograniči izvršavanje nepouzdanog koda na GPU-u, i lokalno i putem kontejnera ili udaljenih zadataka.
Za sada nema poznatih javnih slučajeva masovnog iskorištavanja Rowhammer napada na GPU-ove "u stvarnim scenarijima", što daje sigurnosnoj zajednici i proizvođačima određenu slobodu da ojačaju svoju obranu prije nego što ove metode postanu široko rasprostranjene . Međutim, istraživači upozoravaju da bi, s obzirom na ogromnu primjenu NVIDIA GPU-ova u svim segmentima (igre, umjetna inteligencija, podatkovni centri, radne stanice), ignoriranje ovih ranjivosti bila strateška pogreška.
Uzeti zajedno, testovi na GDDRHammeru, GeForgeu, GPUBreach i GPUHammeru jasno su pokazali da je granica između sigurnosti CPU-a i GPU-a daleko mutnija nego što se prije mislilo . Ono što je započelo kao nezgodan nedostatak u tradicionalnim DRAM ćelijama postalo je vektor sposoban ugroziti cijele sustave, degradirati AI modele gotovo do točke beskorisnosti i dovesti trenutnu hardversku obranu do njihovih granica. To zahtijeva redizajn budućih generacija memorije i grafičkih kartica ako se želi spriječiti sljedeći val Rowhammer napada.
Strastveni pisac o svijetu bajtova i tehnologije općenito. Volim dijeliti svoje znanje pisanjem, a to je ono što ću učiniti na ovom blogu, pokazati vam sve najzanimljivije stvari o gadgetima, softveru, hardveru, tehnološkim trendovima i još mnogo toga. Moj cilj je pomoći vam da se snađete u digitalnom svijetu na jednostavan i zabavan način.