Blacksmith - nov napad na pomnilnik DRAM in čipe DDR4

Skupina raziskovalcev iz ETH Zurich, Vrije Universiteit Amsterdam in Qualcomm je objavila novo metodo napada RowHammer, ki lahko spremeni vsebino posameznih bitov dinamičnega pomnilnika z naključnim dostopom (DRAM). Napad je bil pod kodnim imenom Blacksmith in identificiran kot CVE-2021-42114. Številni čipi DDR4, opremljeni z zaščito pred prej znanimi metodami razreda RowHammer, so dovzetni za težavo. Orodja za testiranje ranljivosti vaših sistemov so objavljena na GitHubu.

Spomnimo se, da napadi razreda RowHammer omogočajo izkrivljanje vsebine posameznih pomnilniških bitov s cikličnim branjem podatkov iz sosednjih pomnilniških celic. Ker je pomnilnik DRAM dvodimenzionalni niz celic, od katerih je vsaka sestavljena iz kondenzatorja in tranzistorja, neprekinjeno branje iste pomnilniške regije povzroči nihanje napetosti in anomalije, ki povzročijo majhno izgubo naboja v sosednjih celicah. Če je intenzivnost branja visoka, lahko sosednja celica izgubi dovolj veliko količino naboja in naslednji cikel regeneracije ne bo imel časa za vzpostavitev prvotnega stanja, kar bo povzročilo spremembo vrednosti podatkov, shranjenih v celici. .

Za zaščito pred RowHammerjem so proizvajalci čipov predlagali mehanizem TRR (Target Row Refresh), ki ščiti pred poškodbami celic v sosednjih vrsticah, a ker je zaščita temeljila na principu »security by obscurity«, ni rešil problema pri root, vendar zaščiten le pred znanimi posebnimi primeri, kar je olajšalo iskanje načinov za obhod zaščite. Na primer, maja je Google predlagal metodo Half-Double, na katero zaščita TRR ni vplivala, saj je napad prizadel celice, ki niso bile neposredno ob tarči.

Blacksmithova nova metoda ponuja drugačen način za obhod zaščite TRR, ki temelji na neenakomernem dostopu do dveh ali več agresorskih nizov pri različnih frekvencah, da povzroči uhajanje naboja. Za določitev vzorca dostopa do pomnilnika, ki vodi do uhajanja naboja, je bil razvit poseben fuzzer, ki samodejno izbere parametre napada za določen čip, spreminja vrstni red, intenzivnost in sistematičnost dostopa do celice.

S takšnim pristopom, ki ni povezan z vplivanjem na iste celice, postanejo neučinkoviti trenutni načini zaščite TRR, ki se v takšni ali drugačni obliki spuščajo v štetje števila ponovljenih klicev v celice in, ko so dosežene določene vrednosti, sprožitev polnjenja. sosednjih celic. V Blacksmithu je vzorec dostopa razporejen po več celicah hkrati z različnih strani tarče, kar omogoča doseganje uhajanja naboja brez doseganja mejnih vrednosti.

Metoda se je izkazala za bistveno bolj učinkovito od predhodno predlaganih metod za obhod TRR - raziskovalcem je uspelo doseči bitno popačenje v vseh 40 nedavno kupljenih različnih pomnilniških čipih DDR4 proizvajalcev Samsung, Micron, SK Hynix in neznanega proizvajalca (proizvajalec je bil ni določeno na 4 čipih). Za primerjavo, metoda TRRespass, ki so jo predhodno predlagali isti raziskovalci, je bila učinkovita le za 13 od 42 čipov, testiranih v tem času.

Na splošno se pričakuje, da bo Blacksmithova metoda veljala za 94 % vseh čipov DRAM na trgu, vendar raziskovalci pravijo, da so nekateri čipi bolj ranljivi in ​​jih je lažje napadati kot druge. Uporaba kod za popravljanje napak (ECC) v čipih in podvojitev frekvence osveževanja pomnilnika ne zagotavlja popolne zaščite, otežuje pa delovanje. Omeniti velja, da težave ni mogoče blokirati v že izdanih čipih in zahteva implementacijo nove zaščite na ravni strojne opreme, tako da bo napad ostal aktualen več let.

Praktični primeri vključujejo metode za uporabo Blacksmitha za spreminjanje vsebine vnosov v tabeli pomnilniških strani (PTE, vnos tabele strani), da pridobite privilegije jedra, poškodujete javni ključ RSA-2048, shranjen v pomnilniku v OpenSSH (javni ključ lahko vnesete virtualni stroj nekoga drugega, da se ujema z napadalčevim zasebnim ključem za povezavo z žrtvinim VM) in obide preverjanje poverilnic tako, da spremeni pomnilnik procesa sudo, da pridobi korenske pravice. Odvisno od čipa traja od 3 sekund do nekaj ur časa napada, da se en ciljni bit spremeni.

Poleg tega lahko opazimo objavo odprtega ogrodja LiteX Row Hammer Tester za testiranje metod zaščite pomnilnika pred napadi razreda RowHammer, ki ga je razvil Antmicro za Google. Ogrodje temelji na uporabi FPGA za popoln nadzor ukazov, ki se prenašajo neposredno na čip DRAM, da se odpravi vpliv pomnilniškega krmilnika. Zbirka orodij v Pythonu je na voljo za interakcijo s FPGA. Prehod, ki temelji na FPGA, vključuje modul za paketni prenos podatkov (definira vzorce dostopa do pomnilnika), Payload Executor, krmilnik, ki temelji na LiteDRAM (obdeluje vso logiko, potrebno za DRAM, vključno z aktivacijo vrstic in posodabljanjem pomnilnika) in CPE VexRiscv. Razvoj projekta se distribuira pod licenco Apache 2.0. Podprte so različne platforme FPGA, vključno z Lattice ECP5, Xilinx Series 6, 7, UltraScale in UltraScale+.

Vir: opennet.ru

Dodaj komentar