Pochi giorni fa sono state diffuse informazioni da un team di ricercatori sullo sviluppo del primo attacco Rowhammer che è stato indirizzato con successo a la Memoria video GDDR6 di una GPU, nello specifico una NVIDIA A6000.
La tecnica, soprannominato GPUHammer, consente la manipolazione di singoli bit nella DRAM della GPU, degradando drasticamente l'accuratezza dei modelli di apprendimento automatico alterando un singolo bit dei loro parametri. Queste inversioni di bit consentono a un utente GPU malintenzionato di manipolare i dati GPU di un altro utente in ambienti condivisi e suddivisi in intervalli temporali.
Finora, L'applicazione di Rowhammer alle memorie video era considerata poco pratica A causa di diverse limitazioni tecniche. Il layout fisico delle celle di memoria nei chip GDDR è difficile da mappare, le latenze di accesso sono fino a quattro volte più lente rispetto alle DRAM convenzionali e le frequenze di aggiornamento sono significativamente più elevate. A ciò si aggiungono meccanismi di protezione proprietari contro la perdita prematura di carica, la cui reverse engineering richiedeva apparecchiature specializzate.
Per superare questi ostacoli, I ricercatori hanno sviluppato una nuova tecnica di reverse engineering mirata alla DRAM GDDRUtilizzando codice CUDA di basso livello, hanno eseguito l'attacco attraverso ottimizzazioni specifiche che hanno intensificato l'accesso a determinate celle di memoria, creando condizioni favorevoli alla manipolazione dei bit. La chiave del successo risiedeva nel raggiungimento di un calcolo parallelo altamente organizzato, che agisse da amplificatore della pressione sulle celle adiacenti.
Come funziona l'attacco?
L'attacco sfrutta una debolezza fisica nella DRAM, dove l'accesso intensivo a una riga di memoria (noto come "martellamento") può indurre alterazioni nelle file adiacentiSebbene questa vulnerabilità sia stata identificata nel 2014 e ampiamente studiata nella memoria DDR della CPU, il suo trasferimento sulle GPU è stato finora una sfida a causa di:
- L'elevata latenza di accesso della GDDR6 (fino a 4 volte superiore alla DDR4).
- La complessità nell'allocazione fisica della memoria.
- La presenza di mitigazioni proprietarie e scarsamente documentate, come TRR.
Rowhammer è una vulnerabilità hardware in cui l'attivazione rapida di una riga di memoria introduce inversioni di bit nelle righe adiacenti. Dal 2014, questa vulnerabilità è stata ampiamente studiata nelle CPU e nelle memorie basate su CPU come DDR3, DDR4 e LPDDR4. Tuttavia, poiché i carichi di lavoro critici di intelligenza artificiale e apprendimento automatico ora vengono eseguiti su GPU discrete nel cloud, valutare la vulnerabilità della memoria GPU agli attacchi Rowhammer è fondamentale.
Nonostante questi ostacoli, il I ricercatori sono riusciti ad applicare l'ingegneria inversa sull'allocazione della memoria virtuale/fisica in CUDA, Hanno sviluppato un metodo per identificare specifiche banche di memoria DRAM e accesso parallelo ottimizzato utilizzando più thread e warp, massimizzando la frequenza di hammering senza causare latenza aggiuntiva.
La dimostrazione di fattibilità ha mostrato come un'inversione di un singolo bit nei pesi dei modelli di reti neurali profonde (DNN), in particolare negli esponenti FP16, possa ridurre l'accuratezza top-1 dei modelli di classificazione delle immagini su ImageNet dall'80% allo 0,1%. Questa scoperta è allarmante per i data center e i servizi cloud che eseguono carichi di lavoro di intelligenza artificiale in ambienti condivisi con GPU.
Mitigazioni e limitazioni
NVIDIA ha confermato la vulnerabilità e consiglia di abilitare il supporto ECC. (codice di correzione degli errori) utilizzando il comando nvidia-smi -e 1. Sebbene Questa misura può correggere gli errori singolo bit, Ciò implica una perdita di prestazioni fino al 10%. e una riduzione del 6,25% della memoria disponibile. Inoltre, non protegge da futuri attacchi che coinvolgono più inversioni di bit.
Abbiamo confermato fluttuazioni di bit Rowhammer sulle GPU NVIDIA A6000 con memoria GDDR6. Altre GPU GDDR6, come la RTX 3080, non hanno mostrato fluttuazioni di bit nei nostri test, probabilmente a causa di variazioni nel fornitore della DRAM, nelle caratteristiche del chip o in condizioni operative come la temperatura. Inoltre, non abbiamo osservato alcuna fluttuazione su una GPU A100 con memoria HBM.
Il team sottolinea che GPUHammer è stato attualmente verificato solo sulla GPU A6000 con GDDR6, e non su modelli come A100 (HBM) o RTX 3080. Tuttavia, poiché si tratta di un attacco estensibile, si incoraggiano altri ricercatori a replicare ed espandere l'analisi su diverse architetture e modelli di GPU.
Infine, se siete interessati a saperne di più, potete consultare i dettagli nel seguente link