Atacurile GDDRHammer și GeForge, care deformează memoria GPU pentru a accesa întreaga memorie CPU

Cercetătorii de la mai multe universități din SUA și Australia au dezvoltat două atacuri de tip Rowhammer – GDDRHammer și GeForge, care permit obținerea distorsiunii unor biți individuali în cipurile de memorie video GDDR prin rularea unui nucleu CUDA fără privilegii pe GPU NVIDIA. Spre deosebire de metoda GPUHammer prezentată anul trecut, noile atacuri nu se limitează la influențarea datelor procesate în memoria GPU, ci permit accesul complet la întreaga memorie principală asociată cu spațiul de adresare CPU. Cercetătorii au demonstrat exploatații care oferă acces root la sistemul principal prin rularea unui nucleu CUDA fără privilegii pe GPU.

Ambele atacuri provoacă pierderi premature de sarcină în anumite celule de memorie video, la care atacatorii nu au acces direct, ceea ce duce la modificarea biților stocați în aceste celule. Posibilitatea de a citi și scrie în memorie, referitoare la spațiul de adresare CPU, este realizată prin intervenția în funcționarea alocării de memorie GPU (cudaMalloc) pentru a compromite izolarea memoriei GPU și a mapa adresele virtuale GPU la adrese fizice arbitrare ale memoriei GPU sau CPU.

Intervenția se realizează prin distorsionarea valorilor biților în memoria video, unde sunt stocate tabelele de pagini ale memoriei GPU, responsabile pentru traducerea adreselor virtuale în cele fizice. Diferențele dintre atacurile GDDRHammer și GeForge se reduc la faptul că metoda GDDRHammer modifică tabela de pagini de ultim nivel (PT – Last Level Page Table), iar metoda GeForge modifică catalogul paginilor de ultim nivel (PD0 – Last Level Page Directory).

Printre altele, tabelele de traducere a adreselor menționate sunt folosite pentru a organiza accesul direct al GPU la memoria CPU, prin urmare, modificarea adresei din tabela de pagini GPU la o adresă fizică în memoria RAM principală și setarea flag-ului APERTURE, care activează modul de mapare a memoriei CPU, permit citirea și scrierea de date cu acces la memoria principală prin bus-ul PCIe cu IOMMU dezactivat (dezactivat în mod implicit).

Atacurile GDDRHammer și GeForge, care deformează memoria GPU pentru a accesa întreaga memorie CPU
Atacurile GDDRHammer și GeForge, care deformează memoria GPU pentru a accesa întreaga memorie CPU

Atacurile de succes au fost demonstrate pe plăci grafice profesionale NVIDIA RTX A6000 bazate pe microarhitectura Ampere (prețul plăcilor noi începe de la $6850, iar al celor second hand — de la $4000) și pe modelele de consum NVIDIA RTX 3060 ($250-300). Tehnica dezvoltată pentru ocolirea protecției Rowhammer, împreună cu utilizarea resurselor de paralele oferite de GPU, a permis o creștere de 64 de ori a frecvenței de apariție a distorsiunii celulelor comparativ cu atacurile anterioare. Ca măsură temporară de blocare a atacurilor, echipa „nvidia-smi -e 1” poate activa modul de corectare a erorilor ECC (Error Correcting Codes), dar acesta aduce cheltuieli suplimentare și poate fi potențial ocolit folosind metode de atac cum ar fi ECCploit și ECC.fail.

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, după care a început o joc de tip „pisici și șoareci” între cercetătorii în securitate și producătorii de echipamente — producătorii de cipuri de memorie încercând să blocheze vulnerabilitatea, iar cercetătorii găsind noi modalități de a o ocoli. De exemplu, pentru a proteja împotriva RowHammer, producătorii de cipuri au adăugat mecanismul TRR (Target Row Refresh), însă s-a dovedit că acesta blochează distorsionarea celulelor doar în anumite cazuri, fără a proteja împotriva tuturor variantelor posibile de atac. Metode de atac au fost dezvoltate pentru cipurile DDR3, DDR4 și DDR5 pe sisteme cu procesoare Intel, AMD și ARM, precum și pentru memoriile GDDR ale GPU NVIDIA. În plus, au fost găsite modalități de ocolire a corectării erorilor ECC și au fost propuse variante de realizare a atacului prin rețea și prin executarea codului JavaScript în browser.

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