In questo articolo Indice dei contenuti 2 sezioni
Si chiama GPUThor ed è l’ultima variante di attacco Rowhammer capace di aggirare le protezioni ECC delle GPU NVIDIA, aprendo la strada sia al blocco totale della scheda sia a un’escalation dei privilegi fino al livello root. A metterlo a punto è stato un gruppo di ricercatori dell’Università di Toronto, gli stessi che in passato avevano firmato GPUHammer e GPUBreach, tecniche poi diventate poco più che curiosità accademiche una volta introdotto l’error correcting code. Qui invece il discorso cambia, perché i numeri sono di un altro ordine di grandezza e le schede coinvolte sono quelle che popolano data center e workstation dedicate all’intelligenza artificiale.
Il bersaglio della dimostrazione sono state le GPU NVIDIA di classe Ampere con memoria GDDR6, nello specifico RTX A4000, RTX A4500, RTX A5000 e RTX A6000. Modelli tutt’altro che marginali, visto quanto sono diffusi nelle infrastrutture cloud e nei laboratori che addestrano modelli di machine learning.
Come funziona il martellamento della memoria
Il principio del Rowhammer è noto da anni e resta concettualmente semplice, quasi brutale. Si accede ripetutamente a determinate righe di memoria, le si martella appunto, finché l’interferenza elettrica non fa cambiare stato ai bit contenuti nelle righe vicine. Uno diventa zero, zero diventa uno, e i dati si corrompono. In un contesto di addestramento di modelli AI, dove tutto poggia sulla potenza di calcolo delle GPU, un attacco riuscito può compromettere l’accuratezza del modello in modo silenzioso e difficile da individuare.
NVIDIA si difende con il SECDED ECC, che corregge gli errori a singolo bit e rileva quelli a doppio bit nei blocchi di memoria monitorati. I ricercatori canadesi hanno però ricalibrato GPUThor perché il martellamento seguisse uno schema non uniforme, a una frequenza tale da non far scattare le contromisure Target Row Refresh della GDDR6. Per riuscirci hanno sfruttato due comportamenti non documentati delle GPU, ovvero il modo in cui le richieste ripetute alla memoria vengono accorpate e la frequenza con cui il TRR entra in azione. Il risultato è 6,6 volte più attivazioni delle righe aggressore rispetto al passato, con un numero di bit flip compreso tra 72.000 e 377.000 per gigabyte sulle schede testate senza ECC attivo. Valori da 4.548 a 23.597 volte superiori a quelli di GPUHammer e vicini a quanto ottengono attacchi Rowhammer su CPU come Blacksmith. Tradotto in tempo reale, trovare un bit flip sfruttabile richiede circa 1,1 minuti contro le 21,9 ore della tecnica precedente. Con ECC attivo, GPUThor ha generato 387 errori a doppio bit che il sistema rileva ma non riesce a correggere, più due errori a triplo bit riparati in modo sbagliato, quindi con corruzione dei dati.
Dal blocco della scheda all’accesso root
Su una RTX A6000 con ECC abilitato i ricercatori hanno provocato una condizione di denial of service, con la GPU che si resettava ogni due ore interrompendo tutti i carichi di lavoro. Ripetendo l’operazione sulla stessa scheda, il dispositivo finisce per segnalarsi da solo come da sostituire.
La parte più delicata riguarda però l’escalation dei privilegi. Corrompendo le tabelle delle pagine della GPU, un programma CUDA senza permessi particolari può ottenere accesso arbitrario alla memoria e arrivare ad aprire una shell root sul sistema host. Oltre ai quattro modelli confermati, la tecnica resta praticabile anche sulle GPU Ampere da server come A100, che continuano ad affidarsi a un ECC di livello SECDED. Sulle Blackwell la funzione RAS Repair rende l’attacco più lento ma non lo blocca, e secondo il documento pubblicato dal gruppo di ricerca anche le GPU con HBM3/e e GDDR7 dotate di ECC on die potrebbero risultare vulnerabili se si innescano flip multibit.
La segnalazione a NVIDIA è arrivata il 29 aprile, mentre l’azienda ha pubblicato il proprio avviso il 21 agosto. Le raccomandazioni riguardano l’attivazione congiunta di SYS-ECC e dell’isolamento IOMMU/DMA, il monitoraggio della telemetria degli errori e la limitazione nella condivisione o esecuzione di carichi di lavoro non affidabili. NVIDIA sottolinea che il rischio varia in base al dispositivo DRAM, alla tecnologia di memoria, al design della piattaforma, alle difese interne alla DRAM e alla configurazione di sistema, precisando che sulle GPU testate con GDDR6X o HBM2e non sono stati osservati bit flip usando gli stessi schemi di attacco. I ricercatori, dal canto loro, consigliano di evitare quando possibile la condivisione delle GPU tra tenant diversi, tenere d’occhio i contatori di errori ECC e limitare i carichi CUDA non fidati, aggiungendo che una protezione completa richiederà ECC multibit più robusti e difese a livello hardware nelle prossime generazioni di schede.










