Un gruppo di ricercatori dell'Università Libera di Amsterdam, dell'ETH di Zurigo e dell'azienda Qualcomm ha studiato l'efficacia della protezione implementata nei moderni chip di memoria DDR4 contro gli attacchi di , che consentono di alterare il contenuto di singoli bit della memoria dinamica (DRAM). I risultati sono stati poco confortanti e i chip DDR4 dei principali produttori sono ancora vulnerabili ().
La vulnerabilità RowHammer consente di alterare il contenuto di singoli bit di memoria attraverso una lettura ciclica dei dati da celle di memoria adiacenti. Poiché la memoria DRAM è costituita da una matrice bidimensionale di celle, ognuna delle quali è composta da un condensatore e un transistor, eseguire letture continue della stessa area di memoria provoca fluttuazioni di tensione e anomalie, che portano a una leggera perdita di carica nelle celle adiacenti. Se l'intensità della lettura è sufficientemente elevata, la cella può perdere una quantità significativa di carica e il ciclo di rigenerazione successivo non riesce a ripristinarne lo stato originale, causando un cambiamento nel valore dei dati salvati nella cella.
Per bloccare questo effetto, nei moderni chip DDR4 viene utilizzata la tecnologia TRR (Target Row Refresh), progettata per prevenire l'alterazione delle celle durante un attacco RowHammer. Il problema è che non esiste un approccio unico per l'implementazione di TRR e ogni produttore di CPU e memoria interpreta TRR a modo suo, applicando le proprie varianti di protezione e non rivelando i dettagli di implementazione.
Lo studio dei metodi di blocco RowHammer utilizzati dai produttori ha reso facile trovare vie per aggirare la protezione. Durante il controllo, è emerso che il principio praticato dai produttori di「 (security by obscurity) nell'implementazione del TRR aiuta solo per la protezione in casi specifici, coprendo attacchi standard che manipolano la carica delle celle in una o due righe vicine.
L'utilità sviluppata dai ricercatori consente di verificare la vulnerabilità dei chip a molteplici varianti dell'attacco RowHammer, in cui il tentativo di influenzare la carica avviene simultaneamente su più righe di celle di memoria. Questi attacchi permettono di eludere la protezione TRR implementata da alcuni produttori e portano a distorsioni dei bit di memoria anche su nuove apparecchiature con memoria DDR4.
Dei 42 moduli DIMM studiati, 13 moduli si sono rivelati vulnerabili a varianti non standard dell'attacco RowHammer, nonostante la protezione dichiarata. I moduli problematici sono stati prodotti da SK Hynix, Micron e Samsung, le cui produzioni il 95% del mercato DRAM.
Oltre alla DDR4, sono stati studiati e utilizzati nei dispositivi mobili i chip LPDDR4, che si sono rivelati vulnerabili a varianti avanzate dell'attacco RowHammer. In particolare, la memoria utilizzata negli smartphone Google Pixel, Google Pixel 3, LG G7, OnePlus 7 e Samsung Galaxy S10 è risultata problematica.
I ricercatori sono riusciti a riprodurre su chip DDR4 problematici diverse tecniche di exploitazione. Ad esempio, l'uso del RowHammer- per le PTE (Page Table Entries) ha richiesto per ottenere i privilegi del kernel un tempo che varia da 2,3 secondi a tre ore e quindici secondi, a seconda dei chip testati. per danneggiare la chiave pubblica RSA-2048 memorizzata in memoria ha impiegato da 74,6 secondi a 39 minuti e 28 secondi. per eludere il controllo delle autorizzazioni tramite la modifica della memoria del processo sudo ha richiesto 54 minuti e 16 secondi.
Per controllare i chip di memoria DDR4 utilizzati dagli utenti è stata pubblicata un'utilità . Per eseguire con successo l'attacco è necessaria informazioni sulla mappatura degli indirizzi fisici associata ai banchi e alle righe delle celle di memoria nel controller di memoria. Per determinare la mappatura è stata inoltre sviluppata un'utilità , che richiede l'avvio con privilegi di root. A breve verrà pubblicata anche un'applicazione per il test della memoria degli smartphone.
Compagnie e si consiglia di utilizzare memoria con correzione degli errori (ECC), controller di memoria con supporto Maximum Activate Count (MAC) e di applicare una frequenza di rigenerazione aumentata. Tuttavia, i ricercatori credono che non ci sia una soluzione garantita per la protezione dai chip già rilasciati contro il Rowhammer, e che l'uso di ECC e l'aumento della frequenza di rigenerazione della memoria si siano rivelati inefficaci. Ad esempio, è già stato proposto di attacco alla memoria DRAM eludendo la protezione ECC, e sono state dimostrate le possibilità di effettuare un attacco sulla DRAM tramite , da e eseguendo JavaScript nel browser.
Fonte: opennet.ru
