GDDRHammer e GeForge: due nuovi attacchi Rowhammer alle GPU

Punti chiave:
  • I ricercatori sviluppano tecniche per amplificare gli attacchi Rowhammer sulla memoria GDDR6, ottenendo migliaia di alterazioni di bit.
  • Gli attacchi GDDRHammer e GeForge manipolano l'allocatore di memoria per posizionare le tabelle delle pagine in settori vulnerabili.
  • Modificando un bit nella tabella delle pagine, l'attaccante può reindirizzare i puntatori di memoria verso strutture controllate dall'attaccante stesso.
  • Modificando il campo di apertura del sistema nella voce della tabella, la GPU ottiene l'accesso diretto in lettura e scrittura alla memoria fisica dell'host.
  • La vulnerabilità interessa modelli come la RTX 3060 e la RTX A6000, rendendo necessaria l'attivazione dell'IOMMU come principale misura di difesa.

Attacchi Rowhammer alle GPU

I ricercatori della sicurezza hanno dimostrato che La vulnerabilità fisica di Rowhammer rappresenta una grave minaccia per le moderne unità di elaborazione grafica, dotate di due catene di attacco complete chiamate GeForce e GDDRHammerA differenza delle ricerche preliminari, che riuscivano a malapena a indurre una minima alterazione dei bit per degradare l'inferenza delle reti neurali, questi nuovi tipi di attacco raggiungono una compromissione assoluta a livello di sistema.

Quando si esegue codice standard non privilegiato su una GPU NVIDIA, un Un utente malintenzionato può corrompere le strutture di memoria interne del dispositivo per ottenere accesso arbitrario in lettura e scrittura. attraverso l'intera memoria fisica della CPU host. Questa manipolazione incrociata consente all'attaccante di elevare i privilegi e ottenere una console di superutente sul sistema operativo principale.

Elusione delle misure di mitigazione e dei modelli

Il successo di questi attacchi dipende da tecniche senza precedenti. per aggirare le mitigazioni del target row refresh (TRR) implementate nella memoria GDDR6. La ricerca GeForge introduce modelli non uniformi che si estendono su più intervalli di aggiornamento, variando l'intensità e l'ordine delle attivazioni delle righe di memoria per evitare il rilevamento da parte dell'hardware.

Per applicare le mappe degli indirizzi fisici ottenute tramite profilazione offline alle allocazioni di memoria dinamiche, Hanno sviluppato una tecnica di ancoraggio della pagina che sfrutta l'assegnazione non lineare dagli indirizzi fisici ai set di cache L2.

Contemporaneamente, Il team GDDRHammer ha scoperto che le file di memoria DRAM sulle schede grafiche Seguono una disposizione geometrica non monotonaCiò ha permesso loro di costruire schemi a doppia faccia altamente efficaci, anche se gli indirizzi fisici apparivano distanti. Assegnando singoli compiti di memoria a diversi multiprocessori di streaming e sincronizzando parzialmente l'esecuzione, sono stati in grado di massimizzare le prestazioni di attivazione aggirando al contempo il campionamento di sicurezza.

Questi approcci hanno generato risultati straordinari; Il metodo GeForge ha indotto 1,171 modifiche a bit in una RTX 3060 per consumatori e 202 in una RTX A6000 professionale., mentre GDDRHammer ha raggiunto una media di 1,032 alterazioni per gigabyte, rappresentando un aumento di 64 volte rispetto ai tentativi precedenti.

Manipolazione delle tabelle delle pagine e massaggio della memoria

Per trasformare in arma questi disturbi elettrici, il Gli aggressori prendono di mira le tabelle delle pagine gerarchiche gestite dall'unità di gestione della memoria della GPU.Poiché il controller in genere alloca queste strutture in regioni protette o imprevedibili, gli exploit si basano su tecniche di manipolazione della memoria per forzare il posizionamento delle voci della tabella delle pagine in posizioni fisiche che l'attaccante sa essere vulnerabili.

L'attacco GDDRHammer utilizza mappature di memoria condivisa per inondare l'allocatore, riducendo lo spazio tra le regioni della tabella delle pagine e la memoria controllata dall'utente. GeForge si concentra specificamente sulla corruzione delle voci nella directory Pages. 0 (PD0).

Allocando e liberando con cura frammenti di memoria virtuale unificata (UNM), l'attaccante indirizza la creazione di nuove strutture PD0 direttamente a una specifica sottopagina da 4 kilobyte. Una volta posizionata, il processo modifica un bit all'interno del puntatore all'indirizzo fisico della voce, reindirizzandolo a una tabella delle pagine contraffatta interamente controllata dal codice malevolo.

Escalation dei privilegi tramite il bus PCIe

El Il controllo della tabella delle pagine della scheda grafica si traduce direttamente nel controllo del processore centrale del computer.Le voci della tabella delle pagine NVIDIA contengono uno specifico campo di apertura che determina se l'indirizzo fisico associato risiede nella memoria locale del dispositivo o nella memoria del sistema host. Modificando questo campo nella voce falsificata, qualsiasi operazione leggere o scrivere in seguito I dati generati dalla GPU vengono instradati tramite il bus PCIe direttamente alla RAM fisica. dell'ospite.

Questo accesso diretto alla memoria aggira l'unità di gestione della memoria della CPU e i sistemi di protezione dalla copia e dalla scrittura del sistema operativo. Nella sua dimostrazione pratica, i ricercatori Hanno sfruttato questa capacità per sovrascrivere il segmento di codice della libreria standard C direttamente nella memoria dell'host. Nello specifico, hanno iniettato del codice macchina nella funzione di chiusura del log, che è stato successivamente eseguito da un programma legittimo con privilegi elevati, garantendo immediatamente all'attaccante l'accesso assoluto al sistema.

Diffusione dell'hardware e misure di mitigazione

LaNumerosi test hanno confermato che questa vulnerabilità è diffusa nell'hardware attualmente in uso.Lo studio GDDRHammer ha valutato 25 schede grafiche di fascia alta, scoprendo che 16 dei 17 modelli RTX A6000 basati sull'architettura Ampere erano vulnerabili a questi attacchi. Sebbene la memoria con codice di correzione degli errori (ECC) possa mitigare l'affidabilità dell'attacco correggendo gli errori a singolo bit, questa funzionalità è disabilitata di default su molte schede per workstation a causa della penalizzazione delle prestazioni ed è completamente assente nei modelli destinati al mercato di massa.

La difesa immediata più efficace contro la compromissione dell'host è il Applicazione di un'unità di gestione della memoria di input/output (IOMMU). Quando abilitato, IOMMU limita l'accesso diretto alla GPU ai frame di pagina host esplicitamente autorizzati, neutralizzando la mappatura aperta contraffatta. Tuttavia, entrambi i gruppi di ricerca sottolineano che IOMMU è spesso disabilitato di default sui sistemi Linux commerciali per motivi di compatibilità, lasciando un numero significativo di macchine vulnerabili a questo vettore di attacco.

Infine, se siete interessati a saperne di più, potete consultare i dettagli nel seguente link