Cercetătorii de la Școala Politehnică Federală din Zurich, împreună cu inginerii de la Google, au dezvoltat o nouă tehnică de atac de tip Rowhammer — Phoenix (CVE-2025-6202), care permite ocolirea mecanismelor de protecție TRR (Target Row Refresh) aplicate în cipurile DDR5, care previn distorsionarea celulelor de memorie din cauza pierderii de sarcină. A fost publicat un prototip de exploit, care permite modificarea conținutului unui anumit bit din memoria RAM și creșterea privilegiilor în sistem. Demonstrarea atacului a fost realizată pe un PC cu procesor AMD bazat pe microarhitectura Zen 4 și memorie DDR5 SK Hynix, pe care s-au executat sarcini tipice pentru desktop.
Atacul RowHammer permite distorsionarea conținutului anumitor biți din memoria DRAM prin citirea ciclică a datelor din celulele de memorie adiacente. Deoarece memoria DRAM reprezintă un aranjament bidimensional de celule, fiecare având un condensator și un tranzistor, citirea constantă a aceleași zone de memorie duce la fluctuații de tensiune și anomalii, provocând o pierdere mică de sarcină în celulele adiacente. Dacă intensitatea citirii este mare, atunci celula adiacenta poate pierde o cantitate suficient de mare de sarcină, iar ciclul de regenerare nu va reuși să restabilească starea inițială, ceea ce va duce la o modificare a valorii datelor stocate în celulă.
Metoda de atac Rowhammer a fost propusă în 2014, moment în care a început o „joacă de-a șoarecele și pisica” între cercetătorii în securitate și producătorii de hardware — producătorii de cipuri de memorie au încercat să blocheze vulnerabilitatea, iar cercetătorii au găsit noi metode de a o ocoli. De exemplu, pentru a proteja împotriva RowHammer, producătorii de cipuri au adăugat mecanismul TRR (Target Row Refresh), dar s-a dovedit că acesta blochează distorsionarea celulelor doar în cazuri particulare, nefiind capabil să protejeze împotriva tuturor posibilelor variante de atac. Metodele de atac au fost dezvoltate pentru cipurile DDR3, DDR4 și DDR5 pe sisteme cu procesoare Intel, AMD și ARM, precum și pentru memoria video utilizată în plăcile grafice NVIDIA. Mai mult, au fost găsite metode de ocolire a corecției erorilor ECC și au fost propuse variante de atac prin rețea și prin executarea codului JavaScript în browser.
Un factor cheie pentru ocolirea protecției împotriva distorsionării celulelor de memorie în DRAM este înțelegerea logicii de funcționare a mecanismului TRR, care se bazează în principal pe ascunderea detaliilor de implementare și pe principiul „securitate prin obscuritate” (security by obscurity). Pentru a determina logica de funcționare și a efectua inginerie inversă, cercetătorii au creat plăci speciale bazate pe FGPA Arty-A7 și ZCU104, care permit testarea modulelor de memorie DDR5 SO-DIMM și RDIMM, identificând tiparele de acces la celulele de memorie, determinând ce comenzi DDR la nivel de bază sunt transmise după operațiuni software cu memoria și analizând reacția acestora.

S-a constatat că protecția în cipurile DDR5 analizate este implementată fără comenzi suplimentare de control al frecvenței de actualizare a memoriei și se bazează pe scheme cu frecvență de reîncărcare variabilă a celulelor. Pentru a reuși o atac Rowhammer în aceste condiții, este necesar un urmărire precisă a mii de operațiuni de actualizare a celulelor. În aceste condiții, metodele de atac Rowhammer existente anterior s-au dovedit a fi ineficiente, iar cercetătorii au dezvoltat o nouă metodă, care realizează autocorectarea modelului de acces pe măsură ce sunt identificate operațiile de actualizare a memoriei pierdute în timpul atacului.
Metoda s-a dovedit eficientă și, în timpul testelor, a permis obținerea unei distorsiuni controlate a bitului de memorie pe toate cele 15 cipuri DDR5 de la compania SK Hynix (care deține 36% din piața DRAM), fabricate între sfârșitul anului 2021 și sfârșitul anului 2024. O distorsiune a unui bit s-a dovedit suficientă pentru a crea un exploit care permite obținerea accesului root în sistem în timpul unui atac pe un sistem cu CPU AMD Ryzen 7 7700X și memorie SK Hynix DDR5 în decurs de 109 secunde. Pentru a bloca metoda de atac propusă, se recomandă triplarea frecvenței de actualizare a memoriei.
Ca metode de exploatare care permit obținerea drepturilor root prin distorsionarea unui bit, au fost analizate următoarele tehnici: modificarea conținutului înregistrărilor din tabela de pagini de memorie (PTE, page table entry) pentru a obține privilegiul de kernel; coruperea cheii publice RSA-2048 stocate în memorie în OpenSSH (poate fi adusă o cheie publică corespondentă cu cheia privată a atacatorului pentru a se conecta la VM-ul victimei); ocolirea verificării drepturilor prin modificarea memoriei procesului sudo. mașina virtuală Metoda cu PTE s-a dovedit a fi funcțională pentru toate cele 15 cipuri testate, atacul prin RSA a fost realizat cu succes pe 11 cipuri, iar prin sudo — pe 5.

În exploit-ul pentru plasarea tabelelor paginilor de memorie în celulele DRAM selectate, este utilizată tehnica Rubicon, dezvăluită simultan cu atacul Phoenix analizat. Rubicon manipulează caracteristicile optimizării din sistemul de alocare a memoriei al nucleului Linux și permite obținerea alocării de memorie în zone cu un alt tip de „migratetype”, rezervate pentru operațiuni privilegiate. Problema a fost confirmată în nucleele Linux începând cu 5.4 și până la 6.8, dar teoretic vulnerabilitatea acoperă toate nucleele cu mecanismul de alocare a memoriei Zoned Buddy Allocator.
Pe lângă simplificarea atacurilor din clasa Rowhammer, tehnica Rubicon este, de asemenea, aplicabilă pentru îmbunătățirea eficienței atacurilor microarhitecturale, cum ar fi Spectre, și pentru facilitarea determinării locației în memorie a datelor secrete care trebuie extrase prin scurgeri în timpul execuției speculative a instrucțiunilor. Rubicon permite evitarea unei etape îndelungate de scanare a memoriei și identificare a fișierelor, cum ar fi \/etc\/shadow. În schimb, se poate începe imediat exploatarea vulnerabilităților microarhitecturale, datorită plasării predefinite a fișierului la o adresă fizică cunoscută. De exemplu, aplicarea metodei Rubicon a permis accelerarea scurgerii de date pe un sistem cu CPU Intel i7-8700K de la 2698 la 9.5 secunde (de 284 de ori), iar pe CPU AMD EPYC 7252, de la 189 la 27.9 secunde (de 6.8 ori).

Între timp, un alt grup de cercetători de la Universitatea George Mason a demonstrat aplicabilitatea atacurilor din clasa Rowhammer pentru compromiterea sistemelor AI. Cercetătorii au propus metoda OneFlip, care permite modificarea punctuală a comportamentului modelelor AI prin distorsiunea unui bit de informație în memorie. Este disponibil un exemplu de cod pentru inserarea unei modificări troiene în rețeaua neurală. S-a demonstrat cum modificarea unui singur bit poate fi folosită pentru a distorsiona funcționarea modelului de pilot automat, schimbând interpretarea semnului de circulație „Stop” în semnul „Limitare de viteză”. A fost, de asemenea, explorată utilizarea metodei pentru ocolirea sistemelor de recunoaștere facială. Pentru modelele care stochează coeficienții de greutate sub formă de numere întregi pe 32 de biți, succesul atacului este evaluat la 99.9% fără a afecta caracteristicile inițiale ale modelului.

Sursa: opennet.ro
