Výzkumníci z Torontské univerzity představili první útok třídy Rowhammer, který lze použít k deformaci obsahu grafické paměti. Možnost provedení útoku, který způsobuje substituci až 8 bitů dat, byla demonstrována na diskrétní grafické kartě NVIDIA A6000 s pamětí GDDR6. Jako praktický příklad bylo ukázáno, jak lze využít takové deformace k zasahování do provádění modelů strojového učení a k významnému (z 80 % na 0,1 %) snížení přesnosti jejich výsledků při změně hodnoty pouze jednoho bitu.

Dosud bylo obtížné vytvářet útoky třídy Rowhammer pro grafickou paměť kvůli komplikacím při určování fyzického uspořádání paměti v čipech GDDR, velkým zpožděním při přístupu k paměti (4krát pomalejším) a vyšší frekvencí aktualizace paměti. Navíc provádění výzkumů ztěžovalo zapojení v čipech GDDR proprietárních mechanismů ochrany proti manipulacím, které vedly k předčasné ztrátě náboje, pro jejichž analýzu bylo nutné vytvořit speciální hardwarové testovací stanice na bázi FPGA.
Pro studium grafické paměti vyvinuli badatelé novou techniku reverzního inženýrství GDDR DRAM, přičemž při samotném útoku byly využity optimalizace přístupu k paměti pro parallel computing, které byly použity jako zesilovače intenzity přístupu k jednotlivým buňkám. Pro provedení útoku na GPU NVIDIA byl použit nízkoúrovňový kód CUDA.
V uživatelském kódu CUDA není prováděn přístup k fyzickým adresám paměti, ale v ovladači NVIDIA došlo k mapování virtuální paměti na stejnou fyzickou paměť, čehož výzkumníci využili k výpočtu offsetu virtuální paměti a určení uspořádání paměťových bank. Rozpoznání přístupů k různým bankám paměti bylo provedeno analýzou zpoždění, které se lišily při přístupu k jedné nebo různým bankám paměti.
V systémech, které společně používají GPU, jako jsou servery Pro provádění modelů strojového učení umožňuje útok jednomu uživateli změnit obsah video paměti s daty jiného uživatele. Jako ochranné opatření společnost NVIDIA doporučuje zapnout kódy pro opravu chyb (ECC, Error Correction Codes) příkazem „nvidia-smi -e 1“ nebo použít sérii grafických karet s podporou OD-ECC (On-Die ECC), jako jsou GeForce RTX 50, RTX PRO, GB200, B200, B100, H100, H200, H20 a GH200.
Podle výzkumníků zapnutí ECC na systémech s GPU A6000 vede k poklesu výkonu při provádění modelů strojového učení přibližně o 10% a ke snížení objemu paměti o 6,25%. Nástroje pro provádění útoku a zpětného inženýrství nízkoúrovňového rozložení video paměti na systémech s GPU NVIDIA byly zveřejněny na GitHubu.
Útok RowHammer umožňuje narušit obsah jednotlivých bitů paměti DRAM cyklickým čtením dat ze sousedních buněk paměti. Protože paměť DRAM představuje dvourozměrné pole buněk, z nichž každá se skládá z kondenzátoru a tranzistoru, provádění nepřetržitého čtení této same oblasti paměti vede k fluktuacím napětí a anomáliím, které způsobují malou ztrátu náboje sousedních buněk. Pokud je intenzita čtení vysoká, může sousední buňka ztratit dostatečné množství náboje, a další regenerační cyklus nemusí stačit k obnovení jejího původního stavu, což povede ke změně uložených dat v buňce.
Metoda útoku Rowhammer byla navržena v roce 2014, po které mezi výzkumníky v oblasti bezpečnosti a výrobci hardware začala hra na „kočky a myši“ — výrobci paměťových čipů se snažili zablokovat zranitelnost, zatímco výzkumníci objevovali nové způsoby, jak ji obejít. Například k ochraně proti RowHammer výrobci čipů přidali mechanismus TRR (Target Row Refresh), ale ukázalo se, že blokuje zkreslení buněk pouze v některých případech a nechrání před všemi možnými variantami útoku. Metody útoků byly vyvinuty pro čipy DDR3, DDR4 a DDR5 na systémech s procesory Intel, AMD a ARM. Byly také nalezeny způsoby, jak obejít opravu chyb ECC a byly navrženy varianty provedení útoku přes síť a prostřednictvím vykonávání JavaScriptového kódu v prohlížeči.
Zdroj: opennet.ru
