Blacksmith – nauja ataka prieš DRAM atmintį ir DDR4 lustus

ETH Ciuricho, Vrije Universiteit Amsterdam ir Qualcomm mokslininkų komanda paskelbė naują RowHammer atakos metodą, galintį pakeisti atskirų dinaminės laisvosios kreipties atminties (DRAM) bitų turinį. Ataka buvo kodiniu pavadinimu Blacksmith ir identifikuojama kaip CVE-2021-42114. Daugelis DDR4 lustų su apsauga nuo anksčiau žinomų RowHammer klasės metodų yra jautrūs šiai problemai. Įrankiai, skirti jūsų sistemų pažeidžiamumui tikrinti, paskelbti „GitHub“.

Prisiminkite, kad RowHammer klasės atakos leidžia iškraipyti atskirų atminties bitų turinį cikliškai nuskaitant duomenis iš gretimų atminties ląstelių. Kadangi DRAM atmintis yra dvimatis elementų masyvas, kurį sudaro kondensatorius ir tranzistorius, nuolatinis tos pačios atminties srities skaitymas sukelia įtampos svyravimus ir anomalijas, dėl kurių gretimose ląstelėse prarandamas nedidelis įkrovimas. Jei skaitymo intensyvumas yra didelis, kaimyninė ląstelė gali prarasti pakankamai didelį krūvį ir kitam regeneravimo ciklui nebus laiko atkurti pradinės būsenos, todėl pasikeis elemente saugomų duomenų vertė. .

Siekdami apsisaugoti nuo RowHammer, lustų gamintojai pasiūlė TRR (Target Row Refresh) mechanizmą, kuris apsaugo nuo gretimų eilučių ląstelių sugadinimo, tačiau kadangi apsauga buvo pagrįsta „apsaugos nuo nežinomybės“ principu, tai problemos neišsprendė. šaknis, tačiau apsaugota tik nuo žinomų ypatingų atvejų, todėl buvo nesunku rasti būdų, kaip apeiti apsaugą. Pavyzdžiui, gegužę „Google“ pasiūlė „Half-Double“ metodą, kuriam TRR apsauga neturėjo įtakos, nes ataka paveikė ląsteles, kurios nebuvo tiesiogiai greta taikinio.

Naujasis Blacksmith metodas siūlo kitokį būdą apeiti TRR apsaugą, pagrįstą netolygia prieiga prie dviejų ar daugiau agresoriaus stygų skirtingais dažniais, kad sukeltų įkrovos nuotėkį. Norint nustatyti prieigos prie atminties modelį, dėl kurio atsiranda įkrovos nutekėjimas, buvo sukurtas specialus fuzzeris, kuris automatiškai parenka konkrečios lusto atakos parametrus, keičiant ląstelių prieigos tvarką, intensyvumą ir sistemingumą.

Toks požiūris, nesusijęs su įtaka toms pačioms ląstelėms, daro dabartinius TRR apsaugos metodus neveiksmingus, kurie viena ar kita forma susiveda į pakartotinių skambučių į ląsteles skaičių ir, pasiekus tam tikras vertes, inicijuoja įkrovimą. kaimyninių ląstelių. „Blacksmith“ prieigos modelis paskirstomas keliose ląstelėse vienu metu iš skirtingų taikinio pusių, o tai leidžia pasiekti įkrovos nuotėkį nepasiekus slenkstinių verčių.

Metodas pasirodė esąs žymiai efektyvesnis nei anksčiau pasiūlyti TRR apėjimo metodai – tyrėjams pavyko pasiekti bitų iškraipymą visuose 40 neseniai įsigytų skirtingų DDR4 atminties lustų, pagamintų Samsung, Micron, SK Hynix ir nežinomo gamintojo (gamintojas buvo nenurodyta ant 4 žetonų). Palyginimui, anksčiau tų pačių mokslininkų pasiūlytas TRRespass metodas buvo veiksmingas tik 13 iš 42 tuo metu išbandytų lustų.

Apskritai, Blacksmith metodas turėtų būti taikomas 94% visų rinkoje esančių DRAM lustų, tačiau mokslininkai teigia, kad kai kurie lustai yra labiau pažeidžiami ir lengviau atakuojami nei kiti. Klaidų taisymo kodų (ECC) naudojimas lustuose ir atminties atnaujinimo dažnio padvigubinimas neužtikrina visiškos apsaugos, tačiau apsunkina veikimą. Pastebėtina, kad problema negali būti užblokuota jau išleistuose lustuose ir reikalauja naujos apsaugos įdiegimo aparatūros lygiu, todėl ataka išliks aktuali daugelį metų.

Praktiniai pavyzdžiai apima metodus, kaip naudojant Blacksmith pakeisti įrašų turinį atminties puslapių lentelėje (PTE, puslapio lentelės įrašą), siekiant įgyti branduolio privilegijas, sugadinant RSA-2048 viešąjį raktą, saugomą OpenSSH atmintyje (galite įnešti viešąjį raktą kieno nors kito virtualią mašiną, kad atitiktų užpuoliko privatų raktą, kad būtų galima prisijungti prie aukos VM) ir apeikite kredencialų patikrinimą modifikuodami sudo proceso atmintį, kad įgytumėte root teises. Priklausomai nuo lusto, norint pakeisti vieną tikslinį bitą, užtrunka nuo 3 sekundžių iki kelių valandų atakos laiko.

Be to, galime atkreipti dėmesį į atviros LiteX Row Hammer Tester sistemos, skirtos atminties apsaugos metodų nuo RowHammer klasės atakų testavimui, paskelbimą, kurią sukūrė „Antmicro“, skirtą „Google“. Sistema pagrįsta FPGA naudojimu, siekiant visiškai valdyti komandas, perduodamas tiesiai į DRAM lustą, kad būtų pašalinta atminties valdiklio įtaka. „Python“ įrankių rinkinys siūlomas sąveikai su FPGA. FPGA pagrindu veikiantis šliuzas apima paketinių duomenų perdavimo modulį (apibrėžia atminties prieigos modelius), „Payload Executor“, „LiteDRAM“ pagrindu veikiantį valdiklį (apdoroja visą DRAM reikalingą logiką, įskaitant eilučių aktyvavimą ir atminties atnaujinimą) ir „VexRiscv“ centrinį procesorių. Projekto plėtra platinama pagal Apache 2.0 licenciją. Palaikomos įvairios FPGA platformos, įskaitant Lattice ECP5, Xilinx Series 6, 7, UltraScale ir UltraScale+.

Šaltinis: opennet.ru

Добавить комментарий