Un nuovo attacco Rowhammer dimostra che l’ECC non basta sempre a proteggere la memoria delle GPU NVIDIA.
La ricerca su GPUThor riguarda quattro workstation Ampere con memoria GDDR6 e mostra come un attaccante possa aumentare in modo significativo la frequenza dei bit flip, fino a superare le capacità di correzione del sistema.
I test hanno prodotto centinaia di migliaia di errori per gigabyte e, in determinate condizioni, hanno provocato reset della GPU. La ricerca assume particolare rilievo per workstation condivise e infrastrutture dove più utenti possono eseguire codice CUDA sulla stessa scheda. Non emerge una vulnerabilità universale di tutte le GPU NVIDIA, ma il lavoro evidenzia un limite concreto delle attuali tecniche di protezione della memoria.
GPUThor porta Rowhammer oltre le difese ECC
Rowhammer sfrutta un fenomeno fisico della memoria DRAM: l’attivazione ripetuta di una riga può disturbare le celle appartenenti alle righe adiacenti, causando modifiche nei singoli bit. Il problema, noto da anni sulle memorie dei sistemi tradizionali, ha raggiunto anche le GPU attraverso la memoria GDDR ad alta densità.
GPUThor interviene su un limite importante degli attacchi precedenti. Il metodo utilizza un pattern di accesso non uniforme che concentra le attivazioni sulla riga bersaglio e distribuisce le richieste tra differenti warp e cache line. Il meccanismo riduce l’efficacia del memory request coalescing, evitando che troppe richieste vengano aggregate prima di raggiungere la DRAM.
I ricercatori hanno inoltre analizzato il comportamento del Target Row Refresh, una tecnica progettata per contrastare proprio gli effetti di Rowhammer. Sulle GPU testate, il pattern di GPUThor sfrutta la periodicità con cui il controller applica il refresh alle righe vicine, alternando le attivazioni della riga aggressore con accessi a righe esca.
Il risultato è una quantità di errori nettamente superiore rispetto a GPUHammer. Nei test con ECC disabilitato, le quattro GPU hanno raggiunto valori compresi tra circa 72.000 e 377.000 bit flip per gigabyte.
La RTX A5000 ha registrato il valore più elevato. Con una maggiore densità di errori, diventa possibile oltrepassare i limiti della correzione hardware e creare condizioni che gli attacchi precedenti raggiungevano con molta più difficoltà.
Il problema riguarda in particolare l’ECC SECDED utilizzato sulle schede analizzate. La tecnologia può correggere un singolo errore di bit e rilevare determinate condizioni con due bit errati, ma non può garantire la correzione di molteplici errori concentrati nello stesso blocco. GPUThor ha osservato anche casi nei quali errori multipli hanno prodotto una correzione errata, aprendo alla possibilità di una corruzione silenziosa.
Il rischio riguarda anche GPU condivise e server
La conseguenza più delicata emerge quando la corruzione della memoria interessa strutture utilizzate per la gestione degli indirizzi. Una ricerca precedente, GPUBreach, aveva mostrato come la manipolazione delle GPU page table potesse contribuire a una catena di escalation dal codice CUDA fino al sistema host. GPUThor dimostra che una tecnica di Rowhammer più aggressiva può rendere praticabile questa classe di attacco anche con ECC attivo, arrivando nei test dei ricercatori a una shell root.
La condizione necessaria resta importante: l’attaccante deve poter eseguire codice CUDA sulla GPU bersaglio. Il risultato non descrive quindi un attacco remoto generalizzato contro qualsiasi computer NVIDIA. Il rischio cresce invece su workstation multiutente, server e servizi cloud nei quali utenti o applicazioni non completamente fidati condividono fisicamente la stessa GPU.
Anche senza ottenere privilegi elevati, un attacco può avere conseguenze operative. Sulla RTX A6000, con ECC attivo, i ricercatori hanno osservato reset della GPU durante i test. Errori ripetuti possono interrompere processi CUDA e compromettere carichi di lavoro lunghi, inclusi training e inferenza.
NVIDIA raccomanda di mantenere attivo il System-Level ECC e di affiancarlo all’IOMMU, che limita gli accessi DMA verso la memoria del sistema. Il monitoraggio degli errori correggibili e non correggibili tramite gli strumenti NVIDIA può inoltre aiutare a individuare anomalie. La ricerca indica infine che la protezione futura dovrà combinare ECC più robusto, gestione delle attivazioni delle righe e isolamento DMA. GPUThor non rende obsolete le difese esistenti, ma dimostra che nessuna di esse dovrebbe essere considerata sufficiente da sola.