Rowhammer è una nota tecnica che permette di accedere ai dati conservati nella DRAM (DDR3/DDR4). Tre gruppi di ricercatori hanno descritto tre nuovi attacchi contro le memorie GDDR delle GPU NVIDIA che consentono di prendere il controllo dei computer, uno dei quali funziona anche quando è attiva la protezione IOMMU (Input–Output Memory Management Unit).
GDDRHammer, GeForge e GPUBreach
Il primo attacco Rowhammer è stato descritto nel 2014. I ricercatori hanno dimostrato che accessi rapidi e ripetuti alle celle di memoria DDR3, denominati martellamenti (da cui il nome), causa disturbi elettrici che comportano lo switch dei bit (0 diventa 1 e viceversa). Questo fenomeno può essere sfruttato per ottenere privilegi elevati, aggirare la sandbox e accedere a dati sensibili.
L’anno scorso è stato descritto per la prima volta un attacco Rowhammer contro la memoria GDDR di una GPU NVIDIA, ma i risultati erano modesti (solo otto “bit flips”). Tre gruppi di ricercatori hanno ora scoperto che si può ottenere il controllo completo della memoria della CPU. Gli attacchi sono GDDRHammer, GeForge e GPUBreach.
GDDRHammer funziona con le GPU RTX A6000 (architettura Ampere) e permette di cambiare 129 bit in media. È possibile inoltre manipolare l’allocatore di memoria per rompere l’isolamento tra le tabelle delle pagine della GPU (strutture dati utilizzate per memorizzare le mappature tra indirizzi virtuali e indirizzi fisici) e i dati utente memorizzati sulla GPU. Un cybercriminale potrebbe così accedere alla memoria della GPU in lettura e scrittura.
GeForge è simile a GDDRHammer, ma invece della tabella delle pagine prende di mira la directory delle pagine. Il risultato finale è lo stesso: accesso alla memoria della CPU, escalation dei privilegi, apertura di una root shell ed esecuzione di comandi arbitrari.
GPUBreach infine sfrutta vulnerabilità dei driver per ottenere privilegi root e funziona anche se è attivata la protezione IOMMU. Nei primi due casi è sufficiente attivare IOMMU nel BIOS. Nel terzo caso si dovrebbe attivare l’opzione Error Correcting Codes (ECC) tramite linea di comando (ma ciò riduce la memoria disponibile).
I tre attacchi non funzionano sulle GPU più recenti. Si tratta tuttavia di “esercizi teorici” da ricercatori difficilmente sfruttabili in pratica.