ZenHammer — o metodă de atac pentru distorsionarea conținutului memoriei pe platformele AMD Zen

Cercetătorii de la ETH Zurich au dezvoltat o metodă de atac denumită ZenHammer, care reprezintă o variantă a atacurilor din clasa RowHammer pentru a modifica conținutul anumitor biți din memoria RAM dinamică (DRAM), adaptată pentru utilizarea pe platformele cu procesoare AMD. Metodele anterioare de atac din clasa RowHammer au fost limitate la sistemele bazate pe procesoare Intel, dar cercetarea realizată a arătat că distorsiunile celulelor de memorie pot fi obținute și pe platforme cu controlere de memorie de la AMD.

Funcționarea metodei a fost demonstrată pe sistemele AMD Zen 2 și Zen 3 cu memorie DDR4 de la trei mari producători (Samsung, Micron și SK Hynix). Atacul reușește să ocolească mecanismul TRR (Target Row Refresh) implementat în cipurile de memorie, care are rolul de a proteja împotriva distorsiunilor celulelor de memorie din rândurile adiacente. Potrivit cercetătorilor, sistemele bazate pe CPU AMD Zen 3 sunt mai vulnerabile decât sistemele cu procesoare Intel Coffee Lake și sunt mai ușor și eficient de atacat. Pe sistemele AMD Zen 2, distorsiuni ale celulelor au fost obținute pentru 7 din cele 10 cipuri DDR4 testate, iar pe sistemele Zen 3 pentru 6 din 10. Cercetătorii au analizat, de asemenea, posibilitatea de a efectua un atac pe sistemele AMD Zen 4 cu memorie DDR5, însă metoda dezvoltată pentru DDR4 a reușit să fie reprodusă cu succes doar pe 1 din cele 10 cipuri de memorie DDR5 testate, fără a exclude însă posibilitatea atacului, care necesită dezvoltarea unor șabloane de citire mai eficiente, potrivite pentru dispozitivele DDR5.

Pentru a lucra cu cipurile AMD, au fost adaptate exploitatele dezvoltate anterior, care schimbă conținutul înregistrărilor din tabela de pagini de memorie (PTE, entry-ul din tabela de pagini) pentru a obține privilegii de kernel, ocolind verificarea parolei/credințelor prin modificarea memoriei procesului sudo și deteriorând cheia publică RSA-2048 stocată în memorie în OpenSSH pentru a recrea cheia privată. Atacul asupra paginilor de memorie a fost reprodus pe 7 din cele 10 cipuri DDR4 testate, atacul asupra cheii RSA pe 6 cipuri, iar atacul asupra sudo pe 4 cipuri, iar timpul atacului a fost de 164, 267 și, respectiv, 209 secunde.

ZenHammer - metoda de atac pentru modificarea conținutului memoriei pe platformele AMD Zen

Metoda poate fi, de asemenea, aplicată pentru a ataca sistemul prin intermediul browserelor, pentru a efectua modificări din mașini virtuale sau pentru organizarea unui atac prin rețea. Pe GitHub, sub licența MIT, este disponibil codul sursă al instrumentului DARE pentru inginerie inversă a adresei în memoria DRAM, precum și două seturi de utilitare pentru teste fuzzing de distorsiune a bitilor din 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 verifica sistemele proprii pentru vulnerabilitatea la atacuri.

ZenHammer - metoda de atac pentru modificarea conținutului memoriei pe platformele AMD Zen

Pentru distorsionarea bitilor se utilizează metoda RowHammer, care se bazează pe faptul că în memoria DRAM, care reprezintă un array bidimensional de celule compus dintr-un condensator și un tranzistor, citirea continuă a aceleași zone de memorie duce la fluctuații de voltaj și anomalii, cauzând o pierdere mică de sarcină în celulele vecine. Dacă intensitatea citirii este mare, celula vecină poate pierde un volum suficient de mare de sarcină, iar următorul ciclu de regenerare nu reușește să-i restabilească starea inițială, ceea ce duce la modificarea valorii datelor stocate în celulă. Cercetătorul a identificat particularitățile mecanismelor de mapare a memoriei fizice și sincronizarea actualizării memoriei utilizate în procesoarele AMD, ceea ce a permis recrearea adresării de nivel inferior DRAM, identificarea adreselor celulelor vecine, dezvoltarea metodelor de ocolire a memoriei cache, calcularea șabloanelor și frecvenței operațiunilor care duc la pierderea sarcinii.

Pentru a proteja împotriva RowHammer, producătorii de cipuri aplică mecanismul TRR (Target Row Refresh), care blochează distorsionarea celulelor în cazuri specifice, dar nu protejează împotriva tuturor variantelor posibile de atac. Cea mai eficientă metodă de protecție rămâne utilizarea memoriei cu coduri de corecție a erorilor (ECC), care complică semnificativ atacurile, dar nu le exclud complet. De asemenea, creșterea frecvenței de regenerare a memoriei poate reduce probabilitatea unui atac de succes.

Compania AMD a publicat un raport despre problema, în care se precizează că procesoarele AMD folosesc controlere de memorie care respectă specificațiile DDR. Deoarece succesul atacului depinde în mare măsură de setările sistemului și de memoria DRAM, întrebările privind rezolvarea problemei ar trebui adresate producătorilor de memorie și sistem. Din metodele existente de complicare a realizării atacurilor de tip Rowhammer se menționează utilizarea memoriei ECC, creșterea frecvenței de regenerare a memoriei, dezactivarea modului de regenerare întârziată și utilizarea procesoarelor cu controlere care suportă modul MAC (Maximum Activate Count) pentru DDR4 (1, 2 și 3 generație AMD EPYC „Naple”, „Rome” și „Milan”) și RFM (Refresh Management) pentru DDR5 (4 generație AMD EPYC).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster