GPUHammer — una variante dell'attacco Rowhammer sulla memoria GPU

I ricercatori dell'Università di Toronto hanno presentato il primo attacco di classe Rowhammer applicato alla corruzione del contenuto della memoria video. L'attacco, che può sostituire fino a 8 bit di dati, è stato dimostrato su una GPU discreta NVIDIA A6000 con memoria GDDR6. Come esempio pratico, è stato mostrato come una tale corruzione possa essere utilizzata per interferire con l'esecuzione di modelli di machine learning e ridurre in modo significativo (da 80% a 0,1%) la precisione dei risultati che producono modificando il valore di un solo bit.

GPUHammer è una variante dell'attacco Rowhammer alla memoria GPU.

Fino ad ora, la creazione di attacchi di classe Rowhammer per la memoria video è stata ostacolata dalla difficoltà di determinare la disposizione fisica della memoria nei chip GDDR, da maggiori ritardi nell'accesso alla memoria (4 volte più lenti) e da una maggiore frequenza di aggiornamento della memoria. Inoltre, il progresso della ricerca era stato rallentato dall'implementazione nei chip GDDR di meccanismi di protezione proprietari contro la manipolazione che portano a una perdita prematura di carica, per l'analisi dei quali era necessario costruire apposite piattaforme di test hardware basate su FPGA.

Per studiare la memoria video, i ricercatori hanno sviluppato una nuova tecnica di reverse engineering della DRAM GDDR, e nell'attacco sono stati coinvolti metodi utilizzati per l'organizzazione di calcoli paralleli, ottimizzando l'accesso alla memoria, che sono stati utilizzati come amplificatori dell'intensità dell'accesso a singole celle. Per condurre l'attacco alla GPU NVIDIA è stato utilizzato codice CUDA a basso livello.

Nel codice CUDA dell'utente non viene effettuato l'accesso agli indirizzi fisici della memoria, ma nel driver NVIDIA veniva eseguito il mapping della memoria virtuale su una stessa memoria fisica, cosa 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 è stato realizzato attraverso l'analisi dei ritardi, che variavano a seconda che si accedesse a una singola o a diverse banche di memoria.

Nei sistemi che condividono la GPU, come servers Per eseguire modelli di apprendimento automatico, un 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 serie di schede video che supportano OD-ECC (On-Die ECC), come GeForce RTX 50, RTX PRO, GB200, B200, B100, H100, H200, H20 e GH200.

Secondo i ricercatori, l'attivazione di ECC su sistemi con GPU A6000 riduce le prestazioni nell'esecuzione di modelli di apprendimento automatico di circa il 10% e diminuisce la memoria del 6,25%. Gli strumenti per condurre attacchi e per effettuare reverse engineering del layout a basso livello della memoria video sui sistemi con GPU NVIDIA sono stati pubblicati su GitHub.

L'attacco RowHammer consente di distorcere il contenuto di singoli bit della memoria DRAM mediante letture cicliche dei dati dalle celle di memoria adiacenti. Poiché la memoria DRAM è un array bidimensionale di celle, ognuna delle quali composta da un condensatore e un transistor, la lettura continua della stessa area di memoria porta a fluttuazioni di tensione e anomalie che causano una leggera perdita di carica nelle celle vicine. Se l'intensità della lettura è elevata, la cella adiacente può perdere un volume di carica sufficientemente grande e il ciclo di rigenerazione successivo non riesce a ripristinare il suo stato originale, causando una modifica del valore dei dati conservati nella cella.

Il metodo di attacco Rowhammer è stato proposto nel 2014, dopo di che è iniziato un gioco del gatto e del topo tra i ricercatori di sicurezza e i produttori di hardware: i produttori di chip di memoria cercavano di bloccare la vulnerabilità, mentre i ricercatori trovavano nuovi modi per eluderla. Ad esempio, per proteggere dai RowHammer, i produttori di chip hanno aggiunto un meccanismo TRR (Target Row Refresh), ma si è scoperto che esso blocca la distorsione delle celle solo in casi specifici e non protegge da tutte le possibili varianti di attacco. Metodi di attacco sono stati sviluppati per chip DDR3, DDR4 e DDR5 su sistemi con processori Intel, AMD e ARM. Sono stati anche trovati modi per eludere la correzione degli errori ECC e sono state proposte varianti di attacco tramite rete e attraverso 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