ZenHammer - metodă de atac pentru coruperea conținutului de memorie pe platformele AMD Zen

Cercetătorii de la ETH Zurich au dezvoltat atacul ZenHammer, o variantă a clasei de atacuri RowHammer pentru a modifica conținutul biților individuali de memorie dinamică cu acces aleatoriu (DRAM), adaptate pentru utilizare pe platforme cu procesoare AMD. Atacurile RowHammer din trecut au fost limitate la sisteme bazate pe procesoare Intel, dar cercetările au arătat că coruperea memoriei poate fi realizată și pe platformele cu controlere de memorie AMD.

Metoda a fost demonstrată pe sistemele AMD Zen 2 și Zen 3 cu memorie DDR4 de la trei producători de top (Samsung, Micron și SK Hynix). Atacul ocolește cu succes mecanismul TRR (Target Row Refresh) implementat în cipurile de memorie, care are ca scop protejarea împotriva coruperii celulelor de memorie din rândurile adiacente. Potrivit cercetătorilor, sistemele bazate pe procesoarele AMD Zen 3 sunt mai vulnerabile decât sistemele cu procesoare Intel Coffee Lake și sunt mai ușor și mai eficiente de atacat. Pe sistemele AMD Zen 2, distorsiunea celulară a fost realizată pentru 7 din 10 cipuri DDR4 testate, iar pe sistemele Zen 3 pentru 6 din 10. Cercetătorii au analizat și posibilitatea unui atac asupra sistemelor AMD Zen 4 cu memorie DDR5, dar atacul metoda dezvoltată pentru DDR4 a fost reprodusă cu succes pe doar 1 din 10 cipuri de memorie DDR5 testate, în timp ce posibilitatea unui atac în sine nu este exclusă, dar necesită dezvoltarea unor modele de citire mai eficiente, potrivite pentru dispozitivele DDR5.

Pentru a lucra cu cipuri AMD, au reușit să adapteze exploatările dezvoltate anterior care modifică conținutul intrărilor din tabelul paginii de memorie (PTE, intrarea tabelului de pagini) pentru a obține privilegii de kernel, ocolirea parolelor/verificărilor de autoritate prin modificarea memoriei procesului sudo. și deteriorați cheia publică RSA-2048 stocată în memorie în OpenSSH pentru a recrea cheia privată. Atacul pe pagina de memorie a fost reprodus pe 7 din 10 cipuri DDR4 testate, atacul cu cheia RSA pe 6 cipuri și atacul sudo pe 4 cipuri, cu timpi de atac de 164, 267 și, respectiv, 209 secunde.

ZenHammer - metodă de atac pentru a corupe conținutul memoriei pe platformele AMD Zen

Metoda poate fi folosită și pentru a ataca un sistem prin browsere, pentru a face modificări de la mașinile virtuale sau pentru a lansa un atac asupra unei rețele. Codul sursă pentru setul de instrumente DARE pentru inginerie inversă a aspectului adresei în memoria DRAM este postat pe GitHub sub o licență MIT, precum și două seturi de utilitare pentru testarea fuzzing a corupției biților în memorie - ddr4_zen2_zen3_pub pentru cipurile DDR4 (Zen 2 și Zen 3) și ddr5_zen4_pub pentru cipurile DDR5 ( Zen 4), care pot fi folosite pentru a-și testa sistemele pentru susceptibilitatea la atac.

ZenHammer - metodă de atac pentru a corupe conținutul memoriei pe platformele AMD Zen

Metoda RowHammer este utilizată pentru a distorsiona biții, care se bazează pe faptul că în memoria DRAM, care este o matrice bidimensională de celule constând dintr-un condensator și un tranzistor, efectuarea de citiri continue ale aceleiași regiuni de memorie duce la fluctuații de tensiune și anomalii care provoacă o mică pierdere de încărcare a celulelor vecine. Dacă intensitatea citirii este mare, atunci celula vecină poate pierde o cantitate suficient de mare de încărcare, iar următorul ciclu de regenerare nu va avea timp să-și restabilească starea inițială, ceea ce va duce la o modificare a valorii datelor stocate în celulă. . Cercetătorul a identificat caracteristicile mapării memoriei fizice și sincronizării cu mecanismele de actualizare a memoriei utilizate în procesoarele AMD, care au făcut posibilă recrearea adresei DRAM de nivel scăzut, determinarea adreselor celulelor învecinate, dezvoltarea metodelor de ocolire a memoriei cache și calcularea tiparelor și frecvenței. a operațiunilor care duc la pierderea sarcinii.

Pentru a se proteja împotriva RowHammer, producătorii de cipuri folosesc mecanismul TRR (Target Row Refresh), care blochează corupția celulelor în cazuri speciale, dar nu protejează împotriva tuturor opțiunilor de atac posibile. Cea mai eficientă metodă de protecție rămâne utilizarea memoriei cu coduri de corectare a erorilor (ECC), care complică semnificativ, dar nu elimină complet, atacurile RowHammer. Creșterea frecvenței regenerării memoriei poate reduce, de asemenea, probabilitatea unui atac de succes.

AMD a publicat un raport despre această problemă care afirmă că procesoarele AMD folosesc controlere de memorie care respectă specificațiile DDR și, deoarece succesul atacului depinde în primul rând de setările sistemului și de memoria DRAM, întrebările despre rezolvarea problemei ar trebui adresate producătorilor de memorie. și sisteme Modalitățile existente de a face atacurile din clasa Rowhammer mai dificile includ utilizarea memoriei ECC, creșterea frecvenței de regenerare a memoriei, dezactivarea modului de regenerare amânată și utilizarea procesoarelor cu controlere care acceptă modul MAC (Număr maxim de activare) pentru DDR4 (1, 2 și 3). generația AMD EPYC „Naple”, „Roma” și „Milan”) și RFM (Refresh Management) pentru DDR5 (a patra generație AMD EPYC).

Sursa: opennet.ru

Adauga un comentariu