ZenHammer - metóda útoku na poškodenie obsahu pamäte na platformách AMD Zen

Výskumníci z ETH Zurich vyvinuli útok ZenHammer, variant triedy útokov RowHammer na zmenu obsahu jednotlivých bitov dynamickej pamäte s náhodným prístupom (DRAM), prispôsobenú na použitie na platformách s procesormi AMD. Predchádzajúce metódy útoku RowHammer boli obmedzené na systémy založené na procesoroch Intel, ale výskum ukázal, že poškodenie pamäte je možné dosiahnuť aj na platformách s radičmi pamäte AMD.

Metóda bola demonštrovaná na systémoch AMD Zen 2 a Zen 3 s pamäťou DDR4 od troch popredných výrobcov (Samsung, Micron a SK Hynix). Útok úspešne obchádza mechanizmus TRR (Target Row Refresh) implementovaný v pamäťových čipoch, ktorý je zameraný na ochranu pred poškodením pamäťových buniek v susedných riadkoch. Podľa výskumníkov sú systémy založené na procesoroch AMD Zen 3 zraniteľnejšie ako systémy s procesormi Intel Coffee Lake a ľahšie a efektívnejšie sa na ne útočí. Na systémoch AMD Zen 2 sa skreslenie buniek dosiahlo pri 7 z 10 testovaných čipov DDR4 a na systémoch Zen 3 pri 6 z 10. Výskumníci analyzovali aj možnosť útoku na systémy AMD Zen 4 s pamäťou DDR5, ale útok metóda vyvinutá pre DDR4 bola úspešne reprodukovaná len na 1 z 10 testovaných pamäťových čipov DDR5, pričom možnosť samotného útoku nie je vylúčená, vyžaduje si však vývoj efektívnejších vzorov čítania vhodných pre zariadenia DDR5.

Na prácu s čipmi AMD dokázali prispôsobiť predtým vyvinuté exploity, ktoré menia obsah položiek v tabuľke stránok pamäte (PTE, položka tabuľky stránok), aby získali privilégiá jadra, obchádzali kontroly hesiel/autority úpravou pamäte procesu sudo a poškodiť verejný kľúč RSA-2048 uložený v pamäti v OpenSSH na opätovné vytvorenie súkromného kľúča. Útok pamäťovej stránky bol reprodukovaný na 7 z 10 testovaných čipov DDR4, útok kľúčom RSA na 6 čipoch a útok sudo na 4 čipy s dobou útoku 164, 267 a 209 sekúnd.

ZenHammer - metóda útoku na poškodenie obsahu pamäte na platformách AMD Zen

Metódu možno použiť aj na útok na systém cez prehliadače, na vykonávanie zmien z virtuálnych strojov alebo na spustenie útoku cez sieť. Zdrojový kód súpravy nástrojov DARE na reverzné inžinierstvo rozloženia adries v pamäti DRAM je zverejnený na GitHub pod licenciou MIT, ako aj dve sady nástrojov na testovanie fuzzing bitovej korupcie v pamäti - ddr4_zen2_zen3_pub pre čipy DDR4 (Zen 2 a Zen 3) a ddr5_zen4_pub pre čipy DDR5 (Zen 4), ktoré možno použiť na testovanie ich systémov na náchylnosť k útoku.

ZenHammer - metóda útoku na poškodenie obsahu pamäte na platformách AMD Zen

Na skreslenie bitov sa používa metóda RowHammer, ktorá je založená na skutočnosti, že v pamäti DRAM, čo je dvojrozmerné pole buniek pozostávajúce z kondenzátora a tranzistora, vedie nepretržité čítanie rovnakej oblasti pamäte k kolísaniu napätia a anomálie, ktoré spôsobujú malú stratu náboja susedných buniek. Ak je intenzita čítania vysoká, susedný článok môže stratiť dostatočne veľké množstvo náboja a ďalší regeneračný cyklus nestihne obnoviť svoj pôvodný stav, čo povedie k zmene hodnoty dát uložených v článku. . Výskumník identifikoval vlastnosti mapovania a synchronizácie fyzickej pamäte s mechanizmami aktualizácie pamäte používanými v procesoroch AMD, čo umožnilo znovu vytvoriť adresovanie DRAM na nízkej úrovni, určiť adresy susedných buniek, vyvinúť metódy na obchádzanie vyrovnávacej pamäte a vypočítať vzory a frekvenciu. operácií, ktoré vedú k strate náboja.

Na ochranu pred RowHammer používajú výrobcovia čipov mechanizmus TRR (Target Row Refresh), ktorý v špeciálnych prípadoch blokuje poškodenie buniek, ale nechráni pred všetkými možnými možnosťami útoku. Najúčinnejším spôsobom ochrany zostáva využitie pamäte s kódmi na opravu chýb (ECC), ktoré výrazne komplikujú, ale nie úplne eliminujú útoky RowHammer. Zvýšenie frekvencie regenerácie pamäte môže tiež znížiť pravdepodobnosť úspešného útoku.

AMD zverejnilo správu o probléme, v ktorej uvádza, že procesory AMD používajú pamäťové radiče, ktoré vyhovujú špecifikáciám DDR, a keďže úspešnosť útoku závisí predovšetkým od nastavenia systému a pamäte DRAM, otázky týkajúce sa riešenia problému by mali smerovať na výrobcov pamätí. a systémov Existujúce spôsoby, ako sťažiť útoky triedy Rowhammer, zahŕňajú použitie pamäte ECC, zvýšenie frekvencie regenerácie pamäte, zakázanie režimu odloženej regenerácie a použitie procesorov s radičmi, ktoré podporujú režim MAC (Maximum Activate Count) pre DDR4 (1., 2. a 3. generácie AMD EPYC "Neapol", "Rím" a "Milán") a RFM (Refresh Management) pre DDR5 (4. generácia AMD EPYC).

Zdroj: opennet.ru

Pridať komentár