Vai al contenuto

Row Hammer

Da Wikipedia, l'enciclopedia libera.

Rowhammer (anche scritto row hammer) è una vulnerabilità di sicurezza informatica che sfrutta un effetto collaterale indesiderato e non intenzionale della memoria dinamica ad accesso casuale (DRAM), a causa della quale le celle di memoria interagiscono elettricamente tra loro disperdendo le proprie cariche, modificando potenzialmente il contenuto delle righe di memoria vicine che non erano state indirizzate nell'accesso originale. Questa elusione dell'isolamento tra le celle di memoria DRAM deriva dall'elevata densità di celle nelle moderne DRAM e può essere innescata da accessi alla memoria che attivano rapidamente le stesse righe di memoria numerose volte.[1][2][3]

Il fenomeno è stato descritto per la prima volta nel 2014 in uno studio sperimentale condotto da Yoongu Kim e colleghi della Carnegie Mellon University in collaborazione con Intel, che ha analizzato la disturbance error nei moduli DRAM commerciali.[1] Nel marzo 2015, il team Google Project Zero ha dimostrato che l'effetto poteva essere sfruttato concretamente per ottenere privilegi di livello kernel su sistemi x86, portando ampia attenzione mediatica al problema.[4][2]

Negli anni successivi la ricerca ha mostrato che le contromisure introdotte dai produttori di DRAM non erano sufficienti. Nel 2020 un gruppo di ricercatori ha presentato TRRespass, una tecnica di "hammering multiplo" (many-sided hammering) in grado di aggirare le protezioni Target Row Refresh integrate nei chip DDR4.[5] Nel maggio 2021 un team di Google ha reso pubblica una nuova variante, denominata Half-Double, capace di provocare bit flip anche a due righe di distanza dalla riga colpita.[6] Nel 2022 è stata presentata Blacksmith, una tecnica di fuzzing che genera pattern di accesso non uniformi in grado di eludere ulteriormente le difese basate su TRR.[5] Alla fine del 2023, ricercatori del ETH Zurigo hanno pubblicato RowPress, un attacco che, invece di alternare rapidamente apertura e chiusura delle righe, mantiene una riga aperta più a lungo, riuscendo a provocare bit flip con un numero di accessi molto inferiore rispetto al Rowhammer classico.[7] Nel marzo 2024 lo stesso gruppo dell'ETH Zurigo ha dimostrato ZenHammer, il primo attacco Rowhammer efficace sui processori AMD Zen e la prima dimostrazione pratica di sfruttamento su moduli DDR5; pochi mesi dopo è stata presentata RISC-H, la prima analisi Rowhammer su architettura RISC-V.[8] Nel settembre 2025 è stata pubblicata Phoenix, una tecnica che aggira tutte le mitigazioni Target Row Refresh implementate in un campione ampiamente diffuso di moduli DDR5, dimostrando che la vulnerabilità resta sfruttabile anche sulle generazioni di memoria più recenti.[8]

Le celle DRAM immagazzinano ogni bit come carica elettrica in un piccolo condensatore, organizzato in righe e colonne. Poiché la carica tende a disperdersi nel tempo, il controller di memoria effettua periodicamente un'operazione di refresh per rinfrescare ogni riga prima che il dato vada perso. Attivando ripetutamente e ad alta frequenza una stessa riga ("riga aggressore"), le interferenze elettriche indotte sulle righe fisicamente adiacenti ("righe vittima") possono accelerarne la perdita di carica al punto da farle scadere prima del successivo ciclo di refresh, causando l'inversione spontanea di uno o più bit.[1] L'effetto è aggravato dalla progressiva riduzione delle dimensioni delle celle e dalla loro maggiore densità nelle DRAM di generazione più recente, che aumenta l'accoppiamento elettrico tra righe vicine.[6]

Varianti dell'attacco

[modifica | modifica wikitesto]

Nel corso degli anni sono state individuate diverse tecniche per innescare l'effetto Rowhammer, spesso sviluppate in risposta alle contromisure via via introdotte dai produttori:

  • Single-sided hammering: attivazione ripetuta di una sola riga adiacente alla riga vittima.
  • Double-sided hammering: attivazione alternata delle due righe che circondano la riga vittima, più efficace del precedente perché la colpisce da entrambi i lati.[9]
  • Many-sided hammering (TRRespass): attivazione di numerose righe aggressore contemporaneamente, per superare i limiti di tracciamento delle contromisure Target Row Refresh, che possono monitorare solo un numero limitato di righe.[9]
  • Blacksmith: tecnica di fuzzing che genera pattern di accesso non uniformi, variabili per frequenza e fase, in grado di scoprire ulteriori combinazioni capaci di eludere il TRR.[5]
  • Half-Double: sfrutta il fatto che le operazioni di refresh mirate applicate come contromisura alle righe immediatamente adiacenti a una riga aggressore possono a loro volta agire da "aggressori secondari" su righe poste a due posizioni di distanza.[6]
  • RowPress: anziché aumentare la frequenza di attivazione, mantiene una riga aperta più a lungo del normale, aumentando il disturbo indotto sulle righe vicine anche con un numero di accessi molto ridotto; l'efficacia dell'attacco cresce inoltre con la temperatura del chip.[7][10]
  • ZenHammer e RISC-H: adattamenti della tecnica rispettivamente ai processori AMD Zen e alle architetture RISC-V, oltre a una prima dimostrazione pratica su moduli DDR5.[8]
  • Phoenix: tecnica del 2025 in grado di aggirare tutte le mitigazioni TRR presenti in un campione ampiamente diffuso di DRAM DDR5 utilizzando pattern di accesso più lunghi e complessi.[8]
  • GPUHammer: applicazione del principio Rowhammer alle memorie video ad alta densità di tipo GDDR6 utilizzate dalle GPU, che in ambienti condivisi può permettere a un utente malintenzionato di alterare i dati di altri utenti dello stesso acceleratore grafico.[5]

L'effetto Rowhammer è stato utilizzato in diversi exploit di sicurezza informatica per l'escalation dei privilegi, sia in ambiente x86 sia su altre architetture.[2][4][11][12]

Sono stati inoltre dimostrati diversi scenari di attacco che ampliano il modello originale: exploit basati su codice JavaScript eseguito all'interno del browser, capaci di indurre bit flip senza sfruttare istruzioni CPU privilegiate; attacchi che sfruttano l'accesso alla scheda grafica tramite WebGL per bypassare le protezioni del sistema operativo; tecniche in grado di indurre l'effetto da remoto, sfruttando il traffico di rete verso un dispositivo bersaglio; e attacchi rivolti ad ambienti virtualizzati e cloud multi-tenant, dove una macchina virtuale può alterare dati appartenenti a un'altra macchina virtuale in esecuzione sullo stesso host fisico. Sono state documentate anche applicazioni dell'attacco contro l'implementazione di schemi crittografici, incluse alcune proposte di crittografia post-quantistica.[13]

Esistono diverse tecniche, sia hardware sia software, per contrastare l'effetto Rowhammer:

  • Aumento della frequenza di refresh delle celle DRAM, per ridurre la finestra temporale in cui una riga vittima può perdere carica in modo critico.[14][15]
  • Target Row Refresh (TRR): meccanismo integrato nei moduli DDR4 e DDR5 che individua le righe soggette ad attivazioni sospette e rinfresca preventivamente le righe adiacenti; il suo funzionamento non è pubblicamente documentato dai produttori e si è dimostrato ripetutamente aggirabile da varianti come TRRespass, Blacksmith e Half-Double.[5][16]
  • Codici di correzione d'errore (ECC): la memoria dotata di ECC può correggere i bit flip a singolo bit, ma resta vulnerabile agli errori multi-bit e ad attacchi progettati specificamente per aggirare l'ECC.[17]
  • Refresh Management (RFM) e Adaptive RFM: funzionalità introdotte nello standard DDR5 che permettono al controller di memoria di richiedere refresh mirati aggiuntivi in presenza di pattern di accesso sospetti, sebbene ricerche recenti abbiano rilevato che tali comandi non vengono sempre inviati correttamente dai controller di memoria attualmente in commercio.[18]
  • Mitigazioni lato controller di memoria, come schemi di row-migration o di controllo degli accessi che agiscono direttamente sulla riga aggressore anziché limitarsi a rinfrescare le righe vittima, proposti per contrastare tecniche come Half-Double che eludono le difese basate sul semplice refresh delle righe vicine.[16]
  • Limitazione del tempo di apertura delle righe e riduzione della soglia dei contatori di attivazione, proposte come contromisura specifica contro tecniche a bassa frequenza di accesso come RowPress.[10]

Nonostante l'introduzione di queste misure, la comunità di ricerca sottolinea che le difese attuali riducono significativamente la superficie di attacco senza tuttavia eliminare del tutto la vulnerabilità, e che un numero rilevante di dispositivi con memoria DDR3 e DDR4 più datata, non più aggiornabili, rimane esposto.[17]

  1. 1 2 3 Yoongu Kim, Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors (PDF), su ece.cmu.edu, June 24, 2014. URL consultato il March 10, 2015.
  2. 1 2 3 Goodin, Cutting-edge hack gives super user status by exploiting DRAM weakness, su arstechnica.com, March 10, 2015. URL consultato il March 10, 2015.
  3. Ducklin, 'Row hammering' – how to exploit a computer by overworking its memory, su nakedsecurity.sophos.com, March 12, 2015. URL consultato il March 14, 2015.
  4. 1 2 Seaborn, Exploiting the DRAM rowhammer bug to gain kernel privileges, su googleprojectzero.blogspot.com, March 9, 2015. URL consultato il March 10, 2015.
  5. 1 2 3 4 5 DRAM-Related Faults (Rowhammer, ZenHammer, SPOILER, RAMBleed, TRRespass including Blacksmith, Half-Double), su Red Hat Customer Portal. URL consultato il July 11, 2026.
  6. 1 2 3 Google Researchers Discover A New Variant of Rowhammer Attack, su The Hacker News, May 27, 2021. URL consultato il July 11, 2026.
  7. 1 2 RowPress: Amplifying Read Disturbance in Modern DRAM Chips, su arXiv, March 28, 2024. URL consultato il July 11, 2026.
  8. 1 2 3 4 Row hammer, su Wikipedia (versione in inglese). URL consultato il July 11, 2026.
  9. 1 2 Thunderhammer: Rowhammer Bitflips via PCIe and Thunderbolt (USB-C), su arXiv. URL consultato il July 11, 2026.
  10. 1 2 Risky Biz News: Move aside RowHammer, the RowPress attack is here, su Risky Biz News, June 28, 2023. URL consultato il July 11, 2026.
  11. Ars Technica, https://arstechnica.com/security/2016/10/using-rowhammer-bitflips-to-root-android-phones-is-now-a-thing/.
  12. Swati Khandelwal, https://thehackernews.com/2018/05/rowhammer-android-hacking.html.
  13. DejaVu: Why You Should Write to Your DRAM Rows Twice, Carefully, su arXiv. URL consultato il July 11, 2026.
  14. Marcin Kaczmarski, Thoughts on Intel Xeon E5-2600 v2 Product Family Performance Optimisation – Component selection guidelines (PDF), su infobazy.gda.pl, August 2014, p. 13. URL consultato il March 11, 2015.
  15. Greenberg, Reliability, Availability, and Serviceability (RAS) for DDR DRAM interfaces (PDF), su memcon.com, October 15, 2014. URL consultato il March 11, 2015.
  16. 1 2 Randomized Line-to-Row Mapping for Low-Overhead Rowhammer Mitigations, su arXiv. URL consultato il July 11, 2026.
  17. 1 2 What Is a Rowhammer Attack? How It Works, su Mayhem, May 6, 2026. URL consultato il July 11, 2026.
  18. McSee: Evaluating Advanced Rowhammer Attacks (PDF), su USENIX Security. URL consultato il July 11, 2026.

Voci correlate

[modifica | modifica wikitesto]
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica