Nel ventre dei chip moderni, nascosti tra miliardi di transistor, si annidano difetti che sembrano usciti da un romanzo di fantascienza. Sono bug che mettono in crisi la fiducia stessa nell’hardware, ferite silenziose di una tecnologia che corre più veloce della nostra capacità di controllarla.
Con Bug Archeology torniamo ancora una volta a scavare nelle profondità del silicio per scoprire come un problema apparentemente vecchio come Rowhammer continui a evolversi, sfuggendo alle contromisure con un nuovo trucco: Half-Double, l’attacco che “salta” le righe.
BUG ARCHEOLOGY – EPISODIO 12
“Speed is irrelevant if you are going in the wrong direction.”
— Mahatma Gandhi
I. Il sintomo
All’apparenza, tutto funziona. Il sistema gira liscio, i dati sembrano intatti. Ma qualcosa di oscuro si cela sotto la superficie. Alcuni bit, nascosti tra le celle di memoria DRAM, si ribellano e cambiano valore — da 0 a 1 o viceversa — senza motivo apparente.
Non è un errore casuale, né un malfunzionamento banale. È un segnale di un attacco sofisticato, che sfrutta la fisica stessa delle memorie, il loro modo di organizzare dati e righe di celle.
Gli amministratori di sistema e i ricercatori cominciano a notare strani malfunzionamenti: file corrotti, crash inspiegabili, dati sensibili alterati. E nessuno riesce a capire perché. La macchina inizia a mentire.
II. Il bug
Rowhammer è un vecchio nemico, scoperto ormai anni fa, ma ancora presente e pericoloso.
Nel 2014, ricercatori hanno dimostrato che è possibile “martellare” ripetutamente una riga di memoria DRAM per causare dei “bit flips” nelle righe vicine. Questi errori possono essere sfruttati per sovrascrivere dati protetti, scalare privilegi, o compromettere un sistema.
La risposta dell’industria è stata immediata: memorie con ECC (Error Correcting Code), tecniche di refresh più frequenti e Target Row Refresh (TRR) per prevenire l’effetto.
Ma il gioco è cambiato con Half-Double.
Questa tecnica innovativa, scoperta e documentata da Google Project Zero e altri, non si limita più a disturbare solo le righe adiacenti. No, Half-Double “salta” una riga, sfruttando la complessità del funzionamento interno della DRAM per colpire righe più lontane, aggirando le protezioni tradizionali.
Disturbi che si propagano, che inducono errori nelle righe vicine, che flippano bit.
Questo è RowHammer: un bug fisico, architetturale, fondamentale.
III. La memoria che si colpisce da sola
Per capire Half-Double, serve un passo indietro.
Le memorie DRAM organizzano i dati in righe. Quando una riga viene attivata per leggere o scrivere, questa azione coinvolge campi elettrici molto precisi. Le DRAM moderne sono incredibilmente dense. Milioni di celle, compresse in pochi millimetri.
Per ridurre consumi ed aumentare velocità, le barriere di isolamento tra le celle si sono fatte sottili. Troppo sottili.
Rowhammer sfrutta il fenomeno fisico chiamato “disturbo elettrico”: accendendo una riga molte volte in rapida successione, è possibile influenzare le celle di memoria adiacenti, causando bit flips.
Half-Double è più astuto. Invece di bombardare solo le righe vicine, combina accessi a due righe separate, provocando interferenze che portano alla corruzione di una riga “in mezzo”, apparentemente protetta.
È come un salto a piedi uniti che evita l’ostacolo immediato per colpire un bersaglio nascosto dietro.
Questo accade perché la gestione del refresh delle righe nella DRAM non è perfetta: la memoria cerca di isolare righe “bersagliate” per rinfrescarle più spesso, ma Half-Double manipola il timing degli accessi, facendo sì che il meccanismo di protezione fallisca.
La CPU, leggendo compulsivamente la stessa riga, martella quella porzione di DRAM.
E le onde elettriche attraversano i confini invisibili della miniaturizzazione.
Colpiscono la riga accanto, e la memoria ricorda male.
IV. Le conseguenze: un buco nero nella sicurezza hardware
L’impatto è serio.
Half-Double può causare bit flips in sistemi con ECC e TRR attivi, fino ad ora considerati robusti contro Rowhammer.
Questo significa che anche i server più critici, i sistemi cloud e i dispositivi mobili di ultima generazione possono essere vulnerabili.
Le conseguenze pratiche sono molteplici:
- Perdita di fiducia nelle barriere di sicurezza hardware.
- Corruzione di dati sensibili o di sistema.
- Possibilità di escalation di privilegi da parte di un attaccante.
- Creazione di backdoor hardware difficili da rilevare.
V. Le risposte: una corsa contro il tempo
Quando Google Project Zero ha reso pubblica la ricerca su Half-Double, l’industria ha reagito rapidamente, ma la strada è ancora lunga.
JEDEC, l’organizzazione che definisce gli standard delle memorie DRAM, ha iniziato a lavorare a nuove specifiche (JEP-300-1 e JEP-301-1) per mitigare questi attacchi a livello hardware.
Nel frattempo, i produttori di CPU e sistemi operativi devono continuare a sviluppare patch e mitigazioni software, ma sono solo un palliativo.
Il problema è strutturale: la miniaturizzazione dei chip e l’aumento della densità delle memorie porta con sé limiti fisici e nuovi rischi.
RowHammer non è una scrittura. Non è un buffer overflow.
È il bug della lettura: più osservi la memoria, più la corrompi.
È un paradosso quantistico in silicio: la sola lettura insistente è sufficiente a causare un cambiamento irreversibile.
Come se un archeologo, spolverando troppo un fossile, lo frantumasse.
VI. Le contromisure (e i loro limiti)
Le contromisure sono note, ma complesse:
- Error Correcting Code (ECC): corregge alcuni bit flip, ma non tutti.
- Increased refresh rate: rinfrescare la memoria più spesso, ma a costo di prestazioni ed energia.
- Target Row Refresh (TRR): monitora l’accesso alle righe e rinfresca quelle adiacenti, se necessario.
Ma nessuna è universale, senza contare che alcune memorie consumer ne sono ancora prive e molti sistemi cloud girano su hardware vulnerabile.
VII. RowHammer oggi (2025)
Nel 2020 nacque TRRespass, una tecnica per bypassare anche le DRAM con mitigazioni.
Nel 2023, Half-Double: una nuova forma di attacco che colpisce righe non direttamente adiacenti.
Nel 2025, RowHammer è ancora vivo.
I produttori promettono sicurezza.
Ma l’hardware in circolazione racconta un’altra storia.
VIII. Meltdown, Spectre e Rowhammer: tre crepe nello stesso silicio
A prima vista, Meltdown, Spectre e Rowhammer sembrano appartenere a mondi diversi.
Meltdown è un bug di isolamento: permette a un processo utente di leggere la memoria del kernel, violando la barriera che separa le applicazioni dal cuore del sistema.
Spectre è un bug di predizione: manipola l’esecuzione speculativa, inducendo la CPU a compiere scelte sbagliate e rivelare frammenti di memoria attraverso le sue stesse ottimizzazioni.
Rowhammer, invece, è un bug fisico: attacca la materia stessa, colpendo la memoria DRAM finché non cede, un bit alla volta.
Tre exploit con tre approcci diversi ed un punto in comune: la rottura della fiducia implicita nei meccanismi profondi del calcolo.
Questi bug non si limitano a “sfruttare una vulnerabilità”: rivelano che le assunzioni fondamentali — la CPU isola, la memoria conserva, il silicio obbedisce — non sono più garantite.
- Meltdown ha mostrato che non basta il ring di protezione, se l’hardware stesso lo ignora.
- Spectre ha dimostrato che le CPU, pur di correre più veloci, sono pronte a barare.
- Rowhammer (e Half-Double) ci ricordano che anche la materia ha i suoi limiti: i transistor si stancano, le celle perdono tenuta, l’elettricità non è mai del tutto sotto controllo.
Queste crepe non sono incidenti isolati. Sono fossili attivi di una fase storica in cui l’ottimizzazione ha superato la verificabilità, e in cui la sicurezza è stata una post-produzione.
In fondo, sono lo stesso bug, sotto tre forme: la fiducia cieca nell’hardware.
IX. La riflessione: la fragilità del silicio
RowHammer non è solo un bug: è un fallimento della fiducia fisica.
Abbiamo pensato che la memoria fosse neutra, passiva, obbediente.
Ma la fisica dei materiali ha un altro piano: i bit, sotto pressione, si ribellano.
Ogni lettura è un colpo ed ogni accesso è una scheggia che vola.
Mentre la tecnologia avanza, spingendo i limiti della miniaturizzazione e della velocità, emergono difetti che riflettono i compromessi nascosti nella progettazione hardware.
Meltdown e Spectre hanno incrinato la fiducia nella logica predittiva delle CPU. RowHammer — e ora Half-Double — scardinano invece l’illusione di una memoria silenziosa, fedele, passiva.
Sono bug diversi, ma parlano lo stesso linguaggio: quello della fiducia infranta nel silicio.
La fiducia nel silicio non può essere data per scontata.
Half-Double ci ricorda che l’equilibrio tra prestazioni e sicurezza è fragile,
e che i problemi più antichi possono tornare, più insidiosi e sfuggenti, se non li osserviamo attentamente.
X. Perché Bug Archeology
RowHammer è il fossile dell’ambizione.
È la prova che, nella corsa alla densità e alla performance, abbiamo dimenticato la resilienza.
È un bug che non nasce dal codice, ma dal silenzio tra le righe, è un fantasma elettrico: un glitch che si annida nell’intimità della memoria.
Con Bug Archeology continueremo a scavare, a raccontare questi fossili digitali che hanno segnato la storia e il futuro della tecnologia.
Perché conoscere il passato è l’unico modo per costruire un futuro più sicuro.
E tu?
Hai mai letto così tanto da cambiare la realtà?
Fonti principali
- Rowhammer.js: A Remote Software-Induced Fault Attack in JavaScript – Google Project Zero (2015)
- TRRespass: Exploiting the Many Sides of Target Row Refresh – VUSec (2020)
- Introducing Half-Double: New hammering technique for DRAM Rowhammer bug – Google Security Blog (2021)
- As Chips Shrink, Rowhammer Attacks Get Harder to Stop – WIRED (2021)
- Half-Double: Hammering From the Next Row Over – USENIX Security Paper (2022)
- Red Hat – Rowhammer & Half-Double mitigation advisory + JEDEC references
- Wikipedia – Rowhammer
⚡ Questo nodo della rete è alimentato da conoscenza libera e caffeina.
Se hai trovato qualcosa di utile, puoi supportarci con un caffè digitale.
👉 Offrimi un caffè
Powered by Buttondown
