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

Skupina výskumníkov z ETH Zürich, Vrije Universiteit Amsterdam a spoločnosti Qualcomm zverejnila novú metódu útoku triedy RowHammer, ktorá umožňuje meniť obsah jednotlivých bitov dynamickej operačnej pamäte (DRAM). Útoku bolo priradené kódové meno Blacksmith a identifikátor CVE-2021-42114. Problému podlieha mnoho DDR4 čipov, ktoré majú ochranu proti predtým známym metódam triedy RowHammer. Nástroj na testovanie svojich systémov na zraniteľnosť bol zverejnený na GitHub.

Pripomíname, že útoky triedy RowHammer umožňujú skresliť obsah jednotlivých bitov pamäte cyklickým čítaním údajov z susedných pamäťových buniek. Keďže pamäť DRAM je dvojrozmerné pole buniek, z ktorých každá sa skladá z kondenzátora a tranzistora, nepretržité čítanie jednej a tej istej oblasti pamäte vedie k fluktuáciám napätia a anomáliám, ktoré spôsobujú malé straty náboja v susedných bunkách. Ak je intenzita čítania veľká, susedná bunka môže stratiť dostatočne veľký objem náboja a ďalší cyklus regenerácie nestačí obnoviť jej pôvodný stav, čo vedie k zmene hodnoty uložených údajov v bunke.

Na ochranu pred RowHammer výrobcovia čipov navrhli mechanizmus TRR (Target Row Refresh), ktorý chráni pred skreslením buniek v susedných radoch, ale pretože ochrana bola založená na princípe „bezpečnosť prostredníctvom nejasnosti (security by obscurity)“, neriešila problém v základe a chránila iba pred známych špecifickými prípadmi, čo umožňovalo ľahké nájdenie spôsobov, ako obísť ochranu. Napríklad v máji spoločnosť Google navrhla metódu Half-Double, na ktorú ochrana TRR nepôsobila, pretože pri útoku boli zasahované bunky, ktoré nie sú priamo susediace s cieľovou.

Nová metóda Blacksmith ponúka iný spôsob obídenia ochrany TRR, založený na heterogénnom prístupe s rôznou frekvenciou prístupu k dvom alebo viacerým agresorom, aby vyvolala únik náboja. Na určenie vzoru prístupu k pamäti, ktorý vedie k úniku náboja, bol vyvinutý špeciálny fuzzer, ktorý automaticky prispôsobuje parametre útoku pre konkrétny čip, variabilne meniac poradie, intenzitu a systematickosť prístupu k bunkám.

Podobný prístup, ktorý nie je spojený s ovplyvňovaním tých istých buniek, robí aktuálne metódy ochrany TRR neefektívnymi, ktoré sa v jednom alebo druhom smere zredukujú na počítanie počtu opakovaných prístupov k bunkám a pri dosiahnutí určitých hodnôt iniciujú opätovné nabitie susedných buniek. V Blacksmith sa prístupový vzor okamžite rozprestiera na niekoľko buniek z rôznych strán od cieľovej, čo umožňuje dosiahnuť únik náboja bez dosiahnutia prahových hodnôt.

Metóda sa ukázala ako značne efektívnejšia než predtým navrhnuté spôsoby obchádzania TRR – výskumníkom sa podarilo dosiahnuť skreslenie bitov vo všetkých 40 nedávno zakúpených rôznych čipoch pamäte DDR4 od spoločností Samsung, Micron, SK Hynix a neznámeho výrobcu (u 4 čipov nebol výrobca uvedený). Na porovnanie, predtým navrhnutá metóda TRRespass bola účinná iba pre 13 z 42 v tom čase testovaných čipov.

Vo všeobecnosti sa predpokladá, že metóda Blacksmith je aplikovateľná na 94% všetkých DRAM čipov dostupných na trhu, ale podľa vyhlásenia výskumníkov sú niektoré čipy zraniteľnejšie a jednoduchšie na útok ako iné. Využitie kódov na opravu chýb (ECC) v čipoch a zdvojnásobenie frekvencie obnovovania pamäte neposkytuje úplnú ochranu, ale komplikuje zneužitie. Zaujímavé je, že problém nemožno zablokovať v už vydaných čipoch a vyžaduje zavedenie novej ochrany na hardvérovej úrovni, preto útok zostane relevantný ešte mnoho rokov.

Ako praktické príklady sú uvedené metódy aplikácie Blacksmith na zmenu obsahu záznamov v tabuľke strán pamäte (PTE, page table entry) na získanie privilégií jadra, poškodenie uloženého v pamäti otvoreného kľúča RSA-2048 v OpenSSH (otvorený kľúč je možné uviesť do zhody so súkromným kľúčom útočníka na pripojenie k VM obete) a obchádzanie overovania oprávnení cez modifikáciu pamäte procesu sudo na získanie oprávnení root. V závislosti od čipu na zmenu jedného cieľového bitu je potrebné od 3 sekúnd do niekoľkých hodín vykonávania útoku. virtuálnom stroji k zodpovedajúcemu uzavretému kľúču útočníka na pripojenie k VM obete) a obchádzanie overovania oprávnení cez modifikáciu pamäte procesu sudo na získanie oprávnení root. V závislosti od čipu na zmenu jedného cieľového bitu je potrebné od 3 sekúnd do niekoľkých hodín vykonávania útoku.

Prehrajte video

Dodatkovo sa môže zdôrazniť publikácia otvoreného rámca LiteX Row Hammer Tester na testovanie ochrany pamäte pred útokmi typu RowHammer, ktorý vyvinula spoločnosť Antmicro na objednávku Google. Rámec je založený na využití FPGA na úplné ovládanie príkazov, ktoré sa posielajú priamo do DRAM čipu, aby sa eliminoval dopad pamäťového kontroléra. Na interakciu s FPGA je k dispozícii nástroj na programovanie v jazyku Python. Brána na báze FPGA obsahuje modul pre hromadný prenos údajov (určuje vzory prístupu k pamäti), Payload Executor, ovládač na báze LiteDRAM (spracováva všetku požadovanú logiku pre DRAM vrátane aktivácie riadkov a aktualizácie pamäte) a CPU VexRiscv. Vývoj projektu sa distribuuje pod licenciou Apache 2.0. Podporuje sa použitie rôznych FPGA platforiem, vrátane Lattice ECP5, Xilinx Series 6, 7, UltraScale a UltraScale+.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster