Blacksmith – nový útok na pamäť DRAM a čipy DDR4

Tím výskumníkov z ETH Zurich, Vrije Universiteit Amsterdam a Qualcomm zverejnil novú metódu útoku RowHammer, ktorá dokáže zmeniť obsah jednotlivých bitov dynamickej pamäte s náhodným prístupom (DRAM). Útok mal kódové označenie Blacksmith a bol identifikovaný ako CVE-2021-42114. Mnoho čipov DDR4 vybavených ochranou proti predtým známym metódam triedy RowHammer je náchylných na tento problém. Nástroje na testovanie zraniteľnosti vašich systémov sú zverejnené na GitHub.

Pripomeňme, že útoky triedy RowHammer umožňujú skresľovať obsah jednotlivých pamäťových bitov cyklickým čítaním údajov zo susedných pamäťových buniek. Keďže pamäť DRAM je dvojrozmerné pole buniek, z ktorých každá pozostáva z kondenzátora a tranzistora, vykonávanie nepretržitého čítania rovnakej oblasti pamäte má za následok kolísanie napätia a anomálie, ktoré spôsobujú malú stratu náboja v susedných článkoch. 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. .

Na ochranu pred RowHammer výrobcovia čipov navrhli mechanizmus TRR (Target Row Refresh), ktorý chráni pred poškodením buniek v susedných radoch, ale keďže ochrana bola založená na princípe „zabezpečenia nejasnosťou“, problém sa tým nevyriešil. koreň, ale chránený len pred známymi špeciálnymi prípadmi, čo uľahčilo hľadanie spôsobov, ako ochranu obísť. Napríklad v máji Google navrhol metódu Half-Double, ktorá nebola ovplyvnená ochranou TRR, pretože útok zasiahol bunky, ktoré priamo nesusedili s cieľom.

Nová metóda Blacksmith ponúka iný spôsob, ako obísť ochranu TRR, založenú na nerovnomernom prístupe k dvom alebo viacerým reťazcom agresora pri rôznych frekvenciách, ktoré spôsobujú únik náboja. Na určenie vzoru prístupu do pamäte, ktorý vedie k úniku náboja, bol vyvinutý špeciálny fuzzer, ktorý automaticky vyberá parametre útoku pre konkrétny čip, pričom mení poradie, intenzitu a systematickosť prístupu bunky.

Takýto prístup, ktorý nie je spojený s ovplyvňovaním rovnakých buniek, robí súčasné metódy ochrany TRR neúčinnými, čo sa v tej či onej forme scvrkáva na počítanie počtu opakovaných volaní do buniek a pri dosiahnutí určitých hodnôt spustenie nabíjania. susedných buniek. V Blacksmith je prístupový vzor rozprestretý cez niekoľko buniek naraz z rôznych strán cieľa, čo umožňuje dosiahnuť únik náboja bez dosiahnutia prahových hodnôt.

Metóda sa ukázala ako podstatne efektívnejšia ako predtým navrhované metódy na obídenie TRR - výskumníkom sa podarilo dosiahnuť bitové skreslenie vo všetkých 40 nedávno zakúpených rôznych pamäťových čipoch DDR4 vyrobených spoločnosťami Samsung, Micron, SK Hynix a neznámym výrobcom (výrobcom bol nie je uvedené na 4 čipoch). Pre porovnanie, metóda TRRespass, ktorú predtým navrhli tí istí výskumníci, bola účinná iba pre 13 zo 42 testovaných čipov v tom čase.

Vo všeobecnosti sa očakáva, že metóda Blacksmith sa bude vzťahovať na 94 % všetkých čipov DRAM na trhu, no výskumníci tvrdia, že niektoré čipy sú zraniteľnejšie a ľahšie napadnuteľné ako iné. Použitie kódov na opravu chýb (ECC) v čipoch a zdvojnásobenie obnovovacej frekvencie pamäte neposkytuje úplnú ochranu, ale komplikuje prevádzku. Je pozoruhodné, že problém nemožno zablokovať v už vydaných čipoch a vyžaduje implementáciu novej ochrany na hardvérovej úrovni, takže útok zostane relevantný mnoho rokov.

Praktické príklady zahŕňajú metódy použitia Blacksmith na zmenu obsahu záznamov v tabuľke stránok pamäte (PTE, záznam v tabuľke stránok) na získanie privilégií jadra, poškodenie verejného kľúča RSA-2048 uloženého v pamäti v OpenSSH (verejný kľúč môžete vložiť do virtuálny počítač niekoho iného, ​​aby sa zhodoval so súkromným kľúčom útočníka na pripojenie k virtuálnemu počítaču obete) a obišiel kontrolu poverení úpravou pamäte procesu sudo, aby získal oprávnenia root. V závislosti od čipu trvá zmena jedného cieľového bitu od 3 sekúnd do niekoľkých hodín času útoku.

Okrem toho si môžeme všimnúť zverejnenie otvoreného rámca LiteX Row Hammer Tester na testovanie metód ochrany pamäte pred útokmi triedy RowHammer, ktorý vyvinula spoločnosť Antmicro pre Google. Rámec je založený na použití FPGA na úplné riadenie príkazov prenášaných priamo na čip DRAM, aby sa eliminoval vplyv pamäťového radiča. Pre interakciu s FPGA je ponúkaný Toolkit v Pythone. Brána na báze FPGA obsahuje modul na prenos paketových dát (definuje vzory prístupu do pamäte), Payload Executor, radič založený na LiteDRAM (spracúva všetku logiku potrebnú pre DRAM, vrátane aktivácie riadkov a aktualizácie pamäte) a VexRiscv CPU. Vývoj projektu je distribuovaný pod licenciou Apache 2.0. Podporované sú rôzne platformy FPGA, vrátane Lattice ECP5, Xilinx Series 6, 7, UltraScale a UltraScale+.

Zdroj: opennet.ru

Pridať komentár