I ricercatori dell’ETH di Zurigo (l’Istituto Federale Svizzero di Tecnologia) hanno pubblicato a settembre 2025 un documento su Phoenix, una modifica dell’attacco Rowhammer che agisce sui moduli di memoria DDR5. Gli autori hanno dimostrato l’efficacia del nuovo attacco contro 15 moduli testati, proponendo anche tre casi d’uso pratici: lettura e scrittura dei dati dalla memoria, furto di una chiave di criptaggio privata archiviata in memoria e aggiramento delle protezioni dell’utilità sudo di Linux per scalare i privilegi.
L’attacco Rowhammer: una breve storia
Per comprendere questo studio piuttosto complesso, è necessario prima rivisitare brevemente la storia di Rowhammer. L’attacco Rowhammer è stato descritto per la prima volta in un documento di ricerca del 2014. All’epoca, i ricercatori sia della Carnegie Mellon University che di Intel dimostrarono come l’accesso ripetuto a righe di celle di memoria potesse causare variazioni di valore nelle celle di memoria adiacenti. Queste celle adiacenti potrebbero contenere dati critici, la cui alterazione potrebbe avere gravi ripercussioni (come l’escalation dei privilegi).
Questo accade perché ogni cella di un chip di memoria è essenzialmente un condensatore: un semplice componente in grado di mantenere una carica elettrica solo per un breve periodo. La memoria è volatile per questo motivo: spegnendo il computer o il server, i dati scompaiono. E per lo stesso motivo, la carica nelle celle deve essere aggiornata frequentemente anche se nessun processo sta effettivamente accedendo a una data regione di memoria.
Le celle di memoria non sono isolate, ma sono organizzate in righe e colonne interconnesse in modi che possono causare interferenze. L’accesso a una riga può influire su una riga adiacente: ad esempio, l’aggiornamento di una riga può danneggiare i dati di un’altra riga. Per anni questo effetto era noto solo ai produttori di memorie, che facevano del proprio meglio per attenuarlo al fine di migliorare l’affidabilità. Però, man mano che l’industria trovava modi di rimpicciolire le celle, e quindi ammassarle più strettamente tra loro, l’effetto “martello” apriva il fianco ad attacchi del mondo reale.
Dopo la dimostrazione dell’attacco Rowhammer, gli sviluppatori di memorie hanno iniziato a introdurre difese, fino a produrre la tecnologia hardware Target Row Refresh (TRR). La TRR è semplice, in teoria: monitora accessi aggressivi alle righe e, se rilevati, aggiorna forzatamente le righe adiacenti. Nella pratica però non si è rivelata molto efficace. Nel 2021 venne descritto Blacksmith, un attacco che aggirava il TRR sfruttando modelli più sofisticati di accesso alle celle di memoria.
Gli sviluppatori hanno reagito aggiungendo difese ancora più avanzate contro gli attacchi di tipo Rowhammer nei moduli DDR5 e aumentando la frequenza di aggiornamento forzata. Per contrastare eventuali nuovi attacchi, i produttori non hanno divulgato le contromisure attuate. Ciò ha indotto molti a ritenere che le DDR5 avessero effettivamente risolto il problema Rowhammer. Invece, proprio l’anno scorso, sempre i ricercatori dell’ETH di Zurigo sono riusciti ad attaccare con successo i moduli DDR5, pur se in condizioni specifiche: la memoria doveva essere accoppiata con CPU AMD Zen 2 o Zen 3, lasciando comunque intatti alcuni moduli.
Caratteristiche del nuovo attacco
Per sviluppare Phoenix, i ricercatori hanno eseguito il reverse engineering della tecnologia TRR. Ne hanno analizzato il comportamento in base a vari modelli di accesso alle righe di memoria e hanno verificato se la protezione venisse attivata per le righe adiacenti. È risultato che la TRR è diventata significativamente più complessa e i modelli di accesso precedentemente noti non funzionavano più: ora la protezione contrassegnava correttamente tali modelli come potenzialmente pericolosi e forzava l’aggiornamento delle righe adiacenti. Il risultato è stata la scoperta che dopo 128 accessi alla memoria tracciati dalla TRR compare una “finestra di opportunità” di 64 accessi, durante la quale le difese risultano indebolite. Sebbene il sistema di protezione non incorra in un errore completo, le sue reazioni sono insufficienti per impedire una modifica del valore in una cella di memoria. La seconda finestra si presenta dopo l’accesso alle celle di memoria su 2608 intervalli di aggiornamento.
I ricercatori hanno quindi studiato in dettaglio questi punti vulnerabili per sferrare un attacco altamente mirato sulle celle di memoria, abbattendo allo stesso tempo le difese. In parole povere, l’attacco funziona in questo modo: il codice dannoso esegue una serie di accessi fittizi che di fatto inducono un falso senso di sicurezza nel meccanismo TRR. A questo punto si verifica la fase attiva dell’attacco, che alla fine modifica il valore della cella bersagliata. Il team ha quindi confermato l’affidabilità dell’attacco contro tutti i 15 moduli DDR5 testati prodotti da SK Hynix, uno dei leader di mercato.
Tre reali scenari di attacco
Un attacco realistico deve modificare un valore in un’area della memoria ben definita: un compito non facile. In primo luogo, il pirata informatico deve avere una conoscenza dettagliata del software di destinazione. Deve aggirare più controlli di sicurezza convenzionali e, se dovesse mancare il bersaglio per uno o due soli bit, potrebbe causare un arresto anomalo del sistema ma non un attacco pienamente riuscito.
I ricercatori svizzeri hanno perciò inteso dimostrare come Phoenix potrebbe essere utilizzato per causare danni nel mondo reale. A tale scopo hanno valutato tre scenari di attacco. Il primo (PTE) prevede l’accesso alla tabella delle pagine per creare le condizioni per la lettura/scrittura arbitraria dei dati RAM. Il secondo (RSA) mira a rubare una chiave di criptaggio privata RSA-2048 dalla memoria. Il terzo (sudo) prevede l’elusione delle protezioni dell’utilità sudo Linux allo scopo di scalare i privilegi. I risultati finali dello studio sono mostrati in questa tabella:

Efficacia dell’attacco Phoenix. Fonte
Per alcuni moduli, la prima variante di attacco (128 intervalli di aggiornamento) si è rivelata efficace, mentre per gli altri moduli ha funzionato solo la seconda variante (2608 intervalli). In alcuni esperimenti il furto della chiave RSA e gli exploit sudo non hanno avuto esito positivo. Tuttavia, è stato trovato un metodo per la lettura/scrittura arbitraria della memoria per tutti i moduli e con un tempo di sfruttamento relativamente breve, da cinque secondi a sette minuti circa. Ciò è stato sufficiente per dimostrare che gli attacchi Rowhammer rappresentano un rischio reale, pur se in una serie di scenari molto circoscritti.
Minacce e contromisure
L’attacco Phoenix mostra che gli attacchi di tipo Rowhammer possono essere sferrati contro i moduli DDR5 con la stessa efficacia degli attacchi contro le DDR4 e DDR3. Sebbene i moduli di un singolo fornitore siano stati testati e i ricercatori abbiano scoperto un punto debole nell’algoritmo TRR di quel fornitore (abbastanza semplice e molto probabilmente facile da correggere), si tratta di un significativo passo avanti nella ricerca sulla sicurezza dei moduli di memoria.
Gli autori dello studio hanno proposto diverse contromisure contro gli attacchi di tipo Rowhammer. In primo luogo, la riduzione dell’intervallo di aggiornamento forzato in tutte le celle può ostacolare di molto l’attacco. Il consumo energetico e la temperatura del chip ne potrebbero risentire, ma è una soluzione semplice. In secondo luogo, è possibile utilizzare la memoria con un codice di correzione errori (ECC). Questo complica gli attacchi Rowhammer, anche se, paradossalmente, non li rende del tutto impossibili.
Al di là di queste ovvie misure, gli autori ne menzionano altre due. La prima riguarda il metodo di protezione Aggiornamento granularità fine, già in fase di attuazione. Integrato nel controller della memoria del processore, questo metodo modifica il comportamento di aggiornamento delle celle di memoria per resistere agli attacchi Rowhammer. Per quanto riguarda la seconda misura, i ricercatori esortano gli sviluppatori di moduli di memoria e chip a non fare più affidamento su misure di sicurezza proprietarie (la cosiddetta “security through obscurity”, cioè la protezione nascosta dall’opacità). Raccomandano invece di adottare un approccio comune al criptaggio, nel quale gli algoritmi di sicurezza siano disponibili al pubblico e soggetti a test indipendenti.