ZenHammer - un metodo di attacco per alterare il contenuto della memoria sulle piattaforme AMD Zen

I ricercatori dell'ETH di Zurigo hanno sviluppato un metodo di attacco chiamato ZenHammer, che rappresenta una variante degli attacchi di tipo RowHammer per modificare il contenuto di singoli bit nella memoria ad accesso casuale dinamica (DRAM), adattato per l'uso su piattaforme con processori AMD. I metodi di attacco RowHammer precedenti erano limitati ai sistemi basati su processori Intel, ma la ricerca condotta ha dimostrato che le distorsioni delle celle di memoria possono essere ottenute anche su piattaforme con controller di memoria di AMD.

Il funzionamento del metodo è stato dimostrato su sistemi AMD Zen 2 e Zen 3 con memoria DDR4 di tre importanti produttori (Samsung, Micron e SK Hynix). L'attacco riesce a eludere il meccanismo TRR (Target Row Refresh) implementato nei chip di memoria, progettato per proteggere contro la distorsione delle celle di memoria in righe adiacenti. Secondo gli studiosi, i sistemi con CPU AMD Zen 3 sono più vulnerabili rispetto ai sistemi con processori Intel Coffee Lake, risultando più facili ed efficaci da attaccare. Nei sistemi AMD Zen 2, è riuscita a produrre distorsioni delle celle per 7 su 10 chip DDR4 testati, mentre nei sistemi Zen 3 per 6 su 10. Gli studiosi hanno anche analizzato la possibilità di attacco su sistemi AMD Zen 4 con memoria DDR5, ma il metodo sviluppato per DDR4 è stato riprodotto con successo solo su 1 su 10 chip di memoria DDR5 testati; la possibilità di attacco non è esclusa, ma richiede lo sviluppo di schemi di lettura più efficaci, adatti per i dispositivi DDR5.

Per lavorare con i chip AMD, è stato possibile adattare gli exploit sviluppati in precedenza, che modificano il contenuto delle voci nella tabella delle pagine di memoria (PTE, page table entry) per ottenere privilegi di kernel, eludendo il controllo della password/autorizzazioni tramite la modifica della memoria del processo sudo e danneggiando la chiave pubblica RSA-2048 memorizzata in OpenSSH per ricreare la chiave privata. L'attacco alle pagine di memoria è stato riprodotto su 7 dei 10 chip DDR4 testati, l'attacco alla chiave RSA su 6 chip, e l'attacco a sudo su 4 chip, con un tempo di attacco di 164, 267 e 209 secondi, rispettivamente.

ZenHammer - metodo di attacco per alterare il contenuto della memoria su piattaforme AMD Zen

Il metodo può essere applicato anche per attaccare il sistema tramite i browser, per apportare modifiche da di macchine virtuali o per organizzare un attacco in rete. Su GitHub, sotto licenza MIT, è stato pubblicato il codice sorgente dello strumento DARE per il reverse engineering dell'allocazione degli indirizzi nella memoria DRAM, così come due set di utility per il fuzzing dei test di distorsione dei bit in memoria — ddr4_zen2_zen3_pub per chip DDR4 (Zen 2 e Zen 3) e ddr5_zen4_pub per chip DDR5 (Zen 4), che possono essere utilizzati per verificare se i propri sistemi siano vulnerabili agli attacchi.

ZenHammer - metodo di attacco per alterare il contenuto della memoria su piattaforme AMD Zen

Per la distorsione dei bit viene utilizzato il metodo RowHammer, che si basa sul fatto che nella memoria DRAM, che rappresenta una matrice bidimensionale di celle costituite da un condensatore e da un transistor, l'esecuzione continua di letture nella stessa area di memoria porta a fluttuazioni di tensione e anomalie che causano una piccola perdita di carica nelle celle vicine. Se l'intensità della lettura è elevata, la cella vicina può perdere una quantità significativa di carica e il successivo ciclo di rigenerazione non riesce a ripristinare il suo stato originale, il che comporta una modifica del valore dei dati memorizzati nella cella. Durante la ricerca, sono state identificate le caratteristiche dei meccanismi di mapping della memoria fisica e di sincronizzazione con l'aggiornamento della memoria utilizzati nei processori AMD, che hanno permesso di ricreare un'indirizzamento a basso livello della DRAM, di determinare gli indirizzi delle celle vicine, di sviluppare metodi per aggirare la memorizzazione nella cache e di calcolare i modelli e la frequenza delle operazioni che portano alla perdita di carica.

Per proteggere dai RowHammer, i produttori di chip utilizzano il meccanismo TRR (Target Row Refresh), che blocca la distorsione delle celle in situazioni specifiche, ma non offre protezione contro tutte le possibili varianti di attacco. Il metodo più efficace di protezione rimane l'uso della memoria con codici di correzione degli errori (ECC), che complicano notevolmente, ma non eliminano completamente la possibilità di attacchi di tipo RowHammer. Aumentare la frequenza di rigenerazione della memoria può anche ridurre la probabilità di un attacco riuscito.

La compagnia AMD ha pubblicato un rapporto sui problemi, affermando che i processori AMD utilizzano controller di memoria conformi agli standard DDR, e poiché il successo dell'attacco dipende principalmente dalle impostazioni di sistema e dalla memoria DRAM, è necessario contattare i produttori di memoria e di sistemi per affrontare le problematiche. Tra i metodi esistenti per complicare l'esecuzione di attacchi di tipo Rowhammer, si menzionano l'uso di memoria ECC, l'aumento della frequenza di rigenerazione della memoria, la disattivazione della modalità di rigenerazione ritardata e l'utilizzo di processori con controller che supportano la modalità MAC (Maximum Activate Count) per DDR4 (1°, 2° e 3° generazione AMD EPYC 'Naples', 'Rome' e 'Milan') e RFM (Refresh Management) per DDR5 (4° generazione AMD EPYC).

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster