A torontói egyetem kutatói bemutatták az első Rowhammer-típusú támadást, amely a videó memória tartalmának megváltoztatására irányul. A támadás lehetőségét, amely akár 8 bit adat manipulálására is képes, a NVIDIA A6000 dedikált GPU-n, GDDR6 videó memóriával demonstrálták. Példaként bemutatták, hogyan lehet ilyen jellegű torzulásokat felhasználni a gépi tanulási modellek működésébe való beavatkozásra, ezzel jelentősen (80%-ról 0,1%-ra) csökkentve a megadott eredmények pontosságát egyetlen bit értékének megváltoztatásával.

A Rowhammer típusú támadások létrehozása videó memóriához eddig nehézkes volt a GDDR chipjeiben található memória fizikai elrendezésének meghatározásának bonyolultsága, a memória hozzáférés hosszú késleltetései (4-szer lassabb) és a magasabb frissítési frekvencia miatt. Továbbá, a kutatásokat nehezítette a GDDR chipjeiben alkalmazott manipulációk elleni védelmi mechanizmusok, amelyek korai töltésvesztéshez vezettek, és amelyek elemzéséhez speciális, FPGA alapú hardver tesztállomások létrehozása volt szükséges.
A videó memória tanulmányozásához a kutatók új GDDR DRAM visszafejtési technikát dolgoztak ki, és a támadás során alkalmazták a párhuzamos számítástechnika megszervezésére használt memória-hozzáférési optimalizálásokat, amelyeket az egyes cellákhoz való hozzáférés intenzitásának fokozására használtak. A támadáshoz a NVIDIA GPU-on alacsony szintű CUDA kódot alkalmaztak.
A felhasználói CUDA kódban nem történik hivatkozás a fizikai memória címekre, de a NVIDIA meghajtója a virtuális memóriát egy és ugyanazon fizikai memóriába tükrözi, amit a kutatók kihasználtak a virtuális memória eltolódásának kiszámítására és a memória bankok elrendezésének meghatározására. A különböző memória bankokhoz való hivatkozások felismerése a késleltetések elemzése útján történt, amelyek különböztek az egy vagy több memória bankhoz való hozzáférés során.
Olyan rendszerekben, amelyek közösen használják a GPU-t, mint például szerverek A gépi tanulási modellek végrehajtásához az támadás lehetővé teszi egy felhasználó számára, hogy megváltoztassa egy másik felhasználó videopamemória-tartalmát. Védelmi intézkedésként az NVIDIA azt javasolja, hogy aktiválja a hibajavító kódokat (ECC, Error Correction Codes) a „nvidia-smi -e 1” parancs használatával, vagy használjon olyan videokártyákat, amelyek támogatják az OD-ECC-t (On-Die ECC), mint például a GeForce RTX 50, RTX PRO, GB200, B200, B100, H100, H200, H20 és GH200.
A kutatók adatai szerint az ECC aktiválása A6000 GPU-val rendelkező rendszerekben körülbelül 10%-kal csökkenti a gépi tanulási modellek végrehajtásának teljesítményét, és 6,25%-kal csökkenti a memória mennyiségét. Az alacsony szintű videopamemória térképének visszafejtésére és támadási eszközökre vonatkozó eszközöket az NVIDIA GPU-val rendelkező rendszerekhez közzétették a GitHub-on.
A RowHammer támadás lehetővé teszi a DRAM memória egyes bitek tartalmának torzítását a szomszédos memóriaüregek adataiból való ciklikus olvasás révén. Mivel a DRAM memória egy kétdimenziós cella tömböt képvisel, ahol minden cella egy kondenzátorból és egy tranzisztorból áll, a folyamatos olvasás egy bizonyos memória területről feszültség ingadozásokat és anomáliákat okoz, amelyek kis mennyiségű töltés elvesztéséhez vezetnek a szomszédos cellákban. Ha az olvasási intenzitás magas, akkor a szomszédos cella elegendő töltést veszíthet ahhoz, hogy a következő regenerálási ciklus már nem tudja visszaállítani az eredeti állapotát, ami a cellában tárolt adatok értékének megváltozásához vezet.
A Rowhammer támadási módszert 2014-ben javasolták, amely után a biztonsági kutatók és a gyártók között „macska-egér” játék indult — a memóriachip gyártók megpróbálták blokkolni a sebezhetőséget, míg a kutatók új módszereket találtak a megkerülésére. Például a RowHammer ellen a chipgyártók bevezették a TRR (Target Row Refresh) mechanizmust, de kiderült, hogy ez csak bizonyos esetekben blokkolja a cellák torzulását, és nem véd minden lehetséges támadási formától. A támadási módszereket DDR3, DDR4 és DDR5 chippek számára dolgozták ki Intel, AMD és ARM processzorral rendelkező rendszerekhez. Továbbá megtalálták a hibajavítások (ECC) megkerülésének módjait és javasolták a támadások végrehajtását hálózaton keresztül, valamint JavaScript-kód végrehajtásával a böngészőben.
Forrás: opennet.ru
