GPUHammer — una variante dell'attacco Rowhammer contro la memoria GPU

I ricercatori dell'Università di Toronto hanno presentato il primo attacco di tipo Rowhammer, utilizzato per alterare il contenuto della memoria video. È stata dimostrata la possibilità di un attacco che sostituisce fino a 8 bit di dati su una GPU NVIDIA A6000 con memoria video GDDR6. Come esempio pratico, è stato mostrato come tale distorsione possa interferire con l'esecuzione di modelli di machine learning, portando a una significativa riduzione della loro precisione (da 80% a 0.1%) con la modifica di un solo bit.

GPUHammer - una variante dell'attacco Rowhammer sulla memoria GPU

Fino ad ora, la creazione di attacchi Rowhammer per la memoria video è stata complicata a causa della difficoltà di determinare la disposizione fisica della memoria nei chip GDDR, dei lunghi tempi di accesso alla memoria (4 volte più lenti) e della maggiore frequenza di aggiornamento della memoria. Inoltre, la ricerca è stata ostacolata dall'implementazione di meccanismi di protezione proprietari nei chip GDDR contro le manipolazioni che portano a una perdita prematura di carica, il che ha richiesto la creazione di banchi di test hardware specializzati basati su FPGA.

Per studiare la memoria video, i ricercatori hanno sviluppato una nuova tecnica di reverse engineering per la GDDR DRAM, utilizzando tecniche di ottimizzazione dell'accesso alla memoria impiegate per organizzare calcoli paralleli, le quali sono state sfruttate come amplificatori della frequenza di accesso a singole celle. Per condurre l'attacco alla GPU NVIDIA è stato utilizzato codice CUDA a basso livello.

Nel codice CUDA dell'utente, non si accede agli indirizzi fisici della memoria, ma nel driver NVIDIA è stata effettuata una mappatura della memoria virtuale alla stessa memoria fisica, di cui i ricercatori hanno approfittato per calcolare lo spostamento della memoria virtuale e determinare la disposizione delle banche di memoria. Il riconoscimento degli accessi a diverse banche di memoria è avvenuto attraverso l'analisi dei ritardi, che differivano nell'accesso a una o a più banche di memoria.

Nei sistemi che utilizzano GPU, come server per eseguire modelli di machine learning, l'attacco consente a un utente di modificare il contenuto della memoria video con i dati di un altro utente. Come misura di protezione, NVIDIA consiglia di attivare i codici di correzione degli errori (ECC, Error Correction Codes) con il comando «nvidia-smi -e 1» oppure di utilizzare schede grafiche delle serie supportanti OD-ECC (On-Die ECC), come GeForce RTX 50, RTX PRO, GB200, B200, B100, H100, H200, H20 e GH200.

Secondo i ricercatori, l'attivazione dell'ECC nei sistemi con GPU A6000 comporta una riduzione delle prestazioni nell'esecuzione di modelli di machine learning di circa il 10% e una diminuzione della capacità di memoria del 6.25%. Gli strumenti per condurre l'attacco e per eseguire il reverse engineering della disposizione a basso livello della memoria video nei sistemi con GPU NVIDIA sono stati pubblicati su GitHub.

L'attacco RowHammer consente di alterare il contenuto di singoli bit di memoria DRAM attraverso la lettura ciclica dei dati dalle celle di memoria adiacenti. Poiché la memoria DRAM è costituita da un array bidimensionale di celle, ognuna delle quali è composta da un condensatore e un transistor, la lettura continua della stessa area di memoria provoca fluttuazioni di tensione e anomalie che possono causare una leggera perdita di carica nelle celle vicine. Se l'intensità di lettura è elevata, una cella adiacente può perdere una quantità sufficiente di carica e il successivo ciclo di rigenerazione potrebbe non riuscire a ripristinare il suo stato originale, portando a una modifica del valore dei dati memorizzati nella cella.

Il metodo di attacco Rowhammer è stato proposto nel 2014, dopo di che è iniziato un gioco di ‘gatti e topi’ tra i ricercatori di sicurezza e i produttori di hardware — i produttori di chip di memoria hanno cercato di bloccare l vulnerabilità, mentre i ricercatori trovavano nuovi modi per aggirarla. Ad esempio, per proteggere dai RowHammer, i produttori di chip hanno aggiunto il meccanismo TRR (Target Row Refresh), ma si è scoperto che questo blocca la distorsione delle celle solo in casi isolati, senza proteggere da tutte le possibili varianti di attacco. Sono stati sviluppati metodi di attacco per chip DDR3, DDR4 e DDR5 su sistemi con processori Intel, AMD e ARM. Inoltre, sono stati trovati modi per aggirare la correzione degli errori ECC e sono state proposte opzioni per condurre attacchi attraverso la rete o tramite l'esecuzione di codice JavaScript nel browser.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster