Blacksmith – nový útok na paměti DRAM a čipy DDR4

Tým výzkumníků z ETH Zurich, Vrije Universiteit Amsterdam a Qualcomm zveřejnil novou metodu útoku RowHammer, která dokáže změnit obsah jednotlivých bitů dynamické paměti s náhodným přístupem (DRAM). Útok byl označen jako Blacksmith a označen jako CVE-2021-42114. Mnoho čipů DDR4 vybavených ochranou proti dříve známým metodám třídy RowHammer je náchylných k problému. Nástroje pro testování zranitelnosti vašich systémů jsou publikovány na GitHubu.

Připomeňme, že útoky třídy RowHammer umožňují zkreslovat obsah jednotlivých paměťových bitů cyklickým čtením dat ze sousedních paměťových buněk. Protože paměť DRAM je 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í stejné oblasti paměti má za následek kolísání napětí a anomálie, které způsobují malou ztrátu náboje v sousedních článcích. 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. .

K ochraně proti RowHammer navrhli výrobci čipů mechanismus TRR (Target Row Refresh), který chrání před poškozením buněk v sousedních řadách, ale protože ochrana byla založena na principu „zabezpečení zatemněním“, problém nevyřešil. root, ale chráněna pouze před známými speciálními případy, což usnadnilo nalezení způsobů, jak ochranu obejít. Například v květnu Google navrhl metodu Half-Double, která nebyla ovlivněna ochranou TRR, protože útok zasáhl buňky, které přímo nesousedily s cílem.

Nová metoda Blacksmith nabízí jiný způsob, jak obejít ochranu TRR, založenou na nejednotném přístupu ke dvěma nebo více strun agresorů na různých frekvencích, které způsobují únik náboje. Pro určení vzoru přístupu do paměti, který vede k úniku náboje, byl vyvinut speciální fuzzer, který automaticky vybírá parametry útoku pro konkrétní čip a mění pořadí, intenzitu a systematičnost přístupu buňky.

Takový přístup, který není spojen s ovlivňováním stejných buněk, činí současné metody ochrany TRR neúčinnými, které se v té či oné podobě scvrkají na počítání počtu opakovaných volání do buněk a při dosažení určitých hodnot zahájí dobíjení. sousedních buněk. V Blacksmith je přístupový vzor rozprostřen přes několik buněk najednou z různých stran cíle, což umožňuje dosáhnout úniku náboje bez dosažení prahových hodnot.

Metoda se ukázala být výrazně efektivnější než dříve navrhované metody pro obcházení TRR - výzkumníkům se podařilo dosáhnout bitového zkreslení u všech 40 nedávno zakoupených různých paměťových čipů DDR4 vyrobených společnostmi Samsung, Micron, SK Hynix a neznámým výrobcem (výrobcem byl není uvedeno na 4 čipech). Pro srovnání, metoda TRRespass dříve navržená stejnými výzkumníky byla účinná pouze pro 13 ze 42 testovaných čipů v té době.

Obecně se očekává, že metoda Blacksmith bude aplikována na 94 % všech čipů DRAM na trhu, ale výzkumníci tvrdí, že některé čipy jsou zranitelnější a snadněji napadnutelné než jiné. Použití kódů pro opravu chyb (ECC) v čipech a zdvojnásobení obnovovací frekvence paměti neposkytuje úplnou ochranu, ale komplikuje provoz. Je pozoruhodné, že problém nelze zablokovat v již vydaných čipech a vyžaduje implementaci nové ochrany na hardwarové úrovni, takže útok zůstane relevantní po mnoho let.

Praktické příklady zahrnují metody pro použití Blacksmith ke změně obsahu záznamů v tabulce stránek paměti (PTE, záznam v tabulce stránek) za účelem získání práv jádra, poškození veřejného klíče RSA-2048 uloženého v paměti v OpenSSH (můžete zanést veřejný klíč do virtuální počítač někoho jiného, ​​aby se shodoval se soukromým klíčem útočníka pro připojení k virtuálnímu počítači oběti) a obešel kontrolu přihlašovacích údajů úpravou paměti procesu sudo, aby získal oprávnění root. V závislosti na čipu trvá změna jednoho cílového bitu od 3 sekund do několika hodin doby útoku.

Kromě toho můžeme zaznamenat zveřejnění otevřeného rámce LiteX Row Hammer Tester pro testování metod ochrany paměti proti útokům třídy RowHammer, který vyvinul Antmicro pro Google. Rámec je založen na použití FPGA pro plné řízení příkazů přenášených přímo na čip DRAM, aby se eliminoval vliv paměťového řadiče. Pro interakci s FPGA je nabízena sada nástrojů v Pythonu. Brána na bázi FPGA obsahuje modul pro přenos paketových dat (definuje vzory přístupu do paměti), Payload Executor, řadič založený na LiteDRAM (zpracovává veškerou logiku potřebnou pro DRAM, včetně aktivace řádků a aktualizace paměti) a VexRiscv CPU. Vývoj projektu je distribuován pod licencí Apache 2.0. Podporovány jsou různé platformy FPGA, včetně Lattice ECP5, Xilinx Series 6, 7, UltraScale a UltraScale+.

Zdroj: opennet.ru

Přidat komentář