ZenHammer - metoda útoku pro poškození obsahu paměti na platformách AMD Zen

Výzkumníci z ETH Zurich vyvinuli útok ZenHammer, variantu útoků třídy RowHammer k úpravě obsahu jednotlivých bitů dynamické paměti s náhodným přístupem (DRAM), přizpůsobené pro použití na platformách s procesory AMD. Minulé útoky RowHammer byly omezeny na systémy založené na procesorech Intel, ale výzkum ukázal, že poškození paměti lze dosáhnout také na platformách s řadiči paměti AMD.

Metoda byla demonstrována na systémech AMD Zen 2 a Zen 3 s pamětí DDR4 od tří předních výrobců (Samsung, Micron a SK Hynix). Útok úspěšně obchází mechanismus TRR (Target Row Refresh) implementovaný v paměťových čipech, který je zaměřen na ochranu před poškozením paměťových buněk v sousedních řadách. Podle výzkumníků jsou systémy založené na CPU AMD Zen 3 zranitelnější než systémy s procesory Intel Coffee Lake a je snazší a efektivnější na ně útočit. Na systémech AMD Zen 2 bylo dosaženo zkreslení buněk u 7 z 10 testovaných čipů DDR4 a na systémech Zen 3 u 6 z 10. Výzkumníci také analyzovali možnost útoku na systémy AMD Zen 4 s pamětí DDR5, ale útok metoda vyvinutá pro DDR4 byla úspěšně reprodukována pouze na 1 z 10 testovaných paměťových čipů DDR5, přičemž možnost samotného útoku není vyloučena, ale vyžaduje vývoj efektivnějších čtecích vzorů vhodných pro zařízení DDR5.

Pro práci s čipy AMD dokázali přizpůsobit dříve vyvinuté exploity, které mění obsah záznamů v tabulce stránek paměti (PTE, záznam v tabulce stránek), aby získali privilegia jádra, obcházeli kontroly hesel/autorit úpravou paměti procesu sudo a poškodit veřejný klíč RSA-2048 uložený v paměti v OpenSSH, aby mohl znovu vytvořit soukromý klíč. Útok paměťovou stránkou byl reprodukován na 7 z 10 testovaných čipů DDR4, útok klíčem RSA na 6 čipů a útok sudo na 4 čipy s dobou útoku 164, 267 a 209 sekund, v tomto pořadí.

ZenHammer - metoda útoku k poškození obsahu paměti na platformách AMD Zen

Metodu lze také použít k útoku na systém prostřednictvím prohlížečů, k provádění změn z virtuálních strojů nebo ke spuštění útoku přes síť. Zdrojový kód sady nástrojů DARE pro reverzní inženýrství rozložení adres v paměti DRAM je zveřejněn na GitHubu pod licencí MIT, stejně jako dvě sady nástrojů pro fuzzing testování bitové korupce v paměti - ddr4_zen2_zen3_pub pro čipy DDR4 (Zen 2 a Zen 3) a ddr5_zen4_pub pro čipy DDR5 (Zen 4), které lze použít k testování jejich systémů na náchylnost k útoku.

ZenHammer - metoda útoku k poškození obsahu paměti na platformách AMD Zen

Ke zkreslení bitů se používá metoda RowHammer, která je založena na skutečnosti, že v paměti DRAM, což je dvourozměrné pole buněk skládající se z kondenzátoru a tranzistoru, vede provádění nepřetržitého čtení stejné oblasti paměti ke kolísání napětí a anomálie, které způsobují malou ztrátu náboje sousedních buněk. Pokud je intenzita čtení vysoká, může sousední článek ztratit dostatečně velké množství náboje a další regenerační cyklus nestihne obnovit svůj původní stav, což povede ke změně hodnoty dat uložených v článku. . Výzkumník identifikoval vlastnosti mapování fyzické paměti a synchronizace s mechanismy aktualizace paměti používanými v procesorech AMD, což umožnilo znovu vytvořit nízkoúrovňové adresování DRAM, určit adresy sousedních buněk, vyvinout metody pro obcházení mezipaměti a vypočítat vzory a frekvenci. operací, které vedou ke ztrátě nabití.

K ochraně proti RowHammer používají výrobci čipů mechanismus TRR (Target Row Refresh), který ve speciálních případech blokuje poškození buněk, ale nechrání před všemi možnými možnostmi útoku. Nejúčinnějším způsobem ochrany zůstává využití paměti s kódy pro opravu chyb (ECC), které výrazně komplikují, ale ne zcela eliminují útoky RowHammer. Zvýšení frekvence regenerace paměti může také snížit pravděpodobnost úspěšného útoku.

AMD k problému zveřejnilo zprávu, v níž uvádí, že procesory AMD používají paměťové řadiče vyhovující specifikacím DDR, a protože úspěšnost útoku závisí především na nastavení systému a paměti DRAM, měly by dotazy ohledně řešení problému směřovat na výrobce pamětí a systémy Mezi stávající způsoby, jak ztížit útoky třídy Rowhammer, patří použití paměti ECC, zvýšení frekvence regenerace paměti, zakázání režimu odložené regenerace a použití procesorů s řadiči, které podporují režim MAC (Maximum Activate Count) pro DDR4 (1., 2. a 3. generace AMD EPYC "Neapol", "Řím" a "Milán") a RFM (Refresh Management) pro DDR5 (4. generace AMD EPYC).

Zdroj: opennet.ru

Přidat komentář