Due nuovi attacchi Rowhammer dimostrano che un utente malintenzionato può ottenere il pieno controllo root di una macchina host sfruttando le GPU ad alte prestazioni di Nvidia. La cosa è tutt’altro che teorica: il costo elevato di queste schede grafiche, in genere circa 7.500 euro o più, fa sì che vengano condivise tra decine di utenti negli ambienti cloud. E proprio questa condivisione apre scenari di rischio che, fino a poco tempo fa, nessuno aveva davvero preso sul serio.
Gli attacchi sfruttano la crescente vulnerabilità dell’hardware di memoria ai cosiddetti bit flip, ovvero inversioni dei valori binari (gli 0 diventano 1 e viceversa) nella memoria DRAM. Il fenomeno è noto dal 2014, quando un gruppo di ricercatori dimostrò che l’accesso ripetuto e rapido alla DRAM genera disturbi elettrici capaci di provocare queste inversioni. Un anno dopo, un altro team mostrò come, prendendo di mira righe specifiche della DRAM contenenti dati sensibili, fosse possibile scalare i privilegi da utente comune a root o aggirare le protezioni sandbox. Da allora, le tecniche si sono moltiplicate, colpendo generazioni più recenti di DRAM e arrivando perfino a rubare chiavi di crittografia a 2048 bit o a compromettere dispositivi Android.
L’anno scorso, per la prima volta, qualcuno era riuscito a colpire la memoria GDDR usata con le GPU Nvidia ad alte prestazioni. I risultati, però, erano stati modesti: appena otto bit flip e danni limitati al degrado dell’output di una rete neurale. Giovedì scorso, due team di ricerca indipendenti hanno alzato drasticamente il livello della minaccia, dimostrando attacchi contro due schede della generazione Ampere di Nvidia che permettono di ottenere il controllo completo della memoria CPU e, di conseguenza, dell’intera macchina host. Perché l’attacco funzioni, la gestione della memoria IOMMU deve essere disabilitata, che è poi l’impostazione predefinita nel BIOS.
GDDRHammer e GeForge: come funzionano i due exploit
Il primo attacco si chiama GDDRHammer, dove le prime quattro lettere stanno sia per “Graphics DDR” sia per “Greatly Disturbing DRAM Rows”. Funziona contro la RTX 6000 della generazione Ampere, ma non contro i modelli RTX 6000 della più recente generazione Ada, che utilizzano una forma più nuova di GDDR non ancora sottoposta a reverse engineering dai ricercatori.
Utilizzando schemi di hammering inediti e una tecnica chiamata memory massaging, GDDRHammer ha indotto in media 129 bit flip per banco di memoria: un aumento di 64 volte rispetto al precedente attacco GPUHammer. Ma il vero salto di qualità è un altro: GDDRHammer riesce a manipolare l’allocatore di memoria per rompere l’isolamento delle page table della GPU, acquisendo la capacità di leggere e scrivere nella memoria GPU. Andrew Kwong, coautore del paper, ha spiegato che un attaccante può modificare le page table della GPU per puntare alla memoria della CPU, ottenendo così accesso completo in lettura e scrittura a tutta la memoria del sistema.
Il secondo attacco, GeForge, segue un approccio simile ma manipola la page directory anziché la page table. Ha prodotto 1.171 bit flip contro la RTX 3060 e 202 contro la RTX 6000. La dimostrazione pratica di GeForge contro la RTX 3060 si conclude con l’apertura di una shell root che consente all’attaccante di eseguire comandi con privilegi illimitati sulla macchina host.
Mitigazioni e schede vulnerabili: cosa sappiamo
Il driver GPU di Nvidia conserva le page table in una regione riservata della memoria a basso livello, dove i bit non dovrebbero essere alterabili tramite Rowhammer. Entrambi gli attacchi aggirano questa protezione spostando le tabelle in regioni non protette, attraverso tecniche di memory massaging piuttosto sofisticate.
Le uniche schede attualmente note come vulnerabili sono la RTX 3060 e la RTX 6000 della generazione Ampere, introdotte nel 2020. Abilitare IOMMU nel BIOS chiude la vulnerabilità, anche se comporta una penalizzazione delle prestazioni. Un’altra mitigazione consiste nell’attivare i codici di correzione errori (ECC) sulla GPU tramite riga di comando, sebbene anche questa opzione riduca la memoria disponibile e alcune varianti di Rowhammer possano superare le protezioni ECC.
Non esistono casi noti di attacchi Rowhammer utilizzati attivamente in contesti reali, e le principali piattaforme cloud offrono in genere livelli di sicurezza superiori a quelli predefiniti su macchine consumer. Nvidia ha indicato agli utenti di consultare una pagina pubblicata a luglio in risposta al precedente attacco GPUHammer per valutare la propria esposizione al rischio.