Útoky GDDRHammer a GeForge, které zkreslují paměť GPU pro přístup ke všem pamětem CPU

Badatelé z několika univerzit v USA a Austrálii vyvinuli dvě útoky třídy Rowhammer — GDDRHammer a GeForge, které umožňují při provádění neprivilegovaného CUDA jádra na GPU NVIDIA způsobit zkreslení jednotlivých bitů v čipech grafické paměti GDDR. Na rozdíl od loňské metody GPUHammer nové útoky nejsou omezeny na zasažení dat zpracovávaných v paměti GPU, ale umožňují získat plný přístup ke všem primárním pamětem, které se vztahují k adresnímu prostoru CPU. Výzkumníci demonstrovali exploity, které poskytují root přístup k hlavnímu systému při provádění neprivilegovaného CUDA jádra na GPU.

Oba útoky způsobují předčasnou ztrátu náboje v určitých buňkách grafické paměti, ke kterým útočníci nemají přímý přístup, což vede ke změně bitů uložených v těchto buňkách. Možnost čtení a zápisu do paměti, která se vztahuje k adresnímu prostoru CPU, je realizována prostřednictvím zásahu do práce alokátoru paměti GPU (cudaMalloc), aby došlo k narušení izolace paměti GPU a zobrazení virtuálních adres GPU na libovolné adresy fyzické paměti GPU nebo CPU.

Zásah se provádí prostřednictvím zkreslení hodnot bitů v grafické paměti, kde se uchovávají stránky tabulek paměti GPU odpovědné za překlad virtuálních adres na fyzické. Rozdíly mezi útoky GDDRHammer a GeForge spočívají v tom, že metoda GDDRHammer modifikuje tabulku stránek poslední úrovně (PT — Last Level Page Table), zatímco metoda GeForge — katalog stránek poslední úrovně (PD0 — Last Level Page Directory).

Mezi jinými se uvedené tabulky pro překlad adres používají k organizaci přímého přístupu GPU k paměti CPU, proto změna adresy v tabulce stránek GPU na fyzickou adresu v hlavní operační paměti a nastavení příznaku APERTURE, který zapíná režim mapování paměti CPU, umožňuje číst a zapisovat data s přístupem k hlavní paměti přes sběrnici PCIe při vypnutém IOMMU (ve výchozím stavu vypnuto).

Útoky GDDRHammer a GeForge, které zkreslují paměť GPU pro přístup ke všem pamětem CPU
Útoky GDDRHammer a GeForge, které zkreslují paměť GPU pro přístup ke všem pamětem CPU

Úspěšné útoky byly demonstrovány na vysoce výkonných profesionálních grafických kartách NVIDIA RTX A6000 založených na mikroarchitektuře Ampere (cena nových karet začíná od 6850 USD, použité začínají od 4000 USD) a na domácích modelech NVIDIA RTX 3060 (250-300 USD). Vyvinutá technika obcházení ochrany proti Rowhammer v kombinaci s využitím prostředků paralelního zpracování operací poskytovaných GPU umožnila zvýšit frekvenci výskytu poškození buněk 64krát ve srovnání se staršími útoky. Jako dočasné opatření pro blokování útoků může být aktivován režim korekce chyb ECC (Error Correcting Codes) pomocí příkazu „nvidia-smi -e 1“, ale tento režim přináší dodatečné režijní náklady a potenciálně může být obchází pomocí takových metod útoků jako ECCploit a ECC.fail.

Ú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 čemž mezi výzkumníky v oblasti bezpečnosti a výrobci hardwaru začala hra na „kočku a myš“ — výrobci paměťových čipů se snažili zablokovat zranitelnost, zatímco výzkumníci nacházeli 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 poškození buněk pouze v určitých případech a nechrání před všemi možnými variantami útoku. Útoky byly vyvinuty pro čipy DDR3, DDR4 a DDR5 na systémech s procesory Intel, AMD a ARM, stejně jako pro GDDR paměť GPU NVIDIA. Kromě toho byly nalezeny způsoby, jak obejít korekci chyb ECC a byly navrženy varianty útoku přes síť a pomocí JavaScriptu v prohlížeči.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster