Rowhammer funziona solo accelerando la scarica dei condensatori.
Le celle non vengono caricate dal martello pneumatico, solo scaricate. Il motivo per cui si può vedere un passaggio logico da 0 a 1 logico è che la moderna memoria DRAM utilizza una tecnica chiamata scrambling , in cui un seme piccolo a 32 bit viene utilizzato per alimentare un codice a flusso LFSR per crittografare la memoria. Questa crittografia non è progettata per essere crittograficamente sicura. È progettato solo per aiutare a ridurre lo stress elettrico su un modulo se si verificano enormi raffiche di sequenziali 1s o 0s. La scrambling risulta in qualsiasi bit fisico che ha una probabilità del 50% circa di essere rappresentato come il bit logico inverso, quindi vedi che gli 0 logici diventano 1s.
Non è solo il rimescolamento della memoria che causa questa disconnessione tra un bit fisico e un bit logico. Alcune celle rappresentano un valore logico 1 quando sono cariche, mentre altre sono il contrario. Questi sono chiamati true-cells e anti-cells , rispettivamente. La maggior parte della DRAM è composta da cellule reali. Cioè, la scarica del condensatore produce un 1 diventando uno 0. È solo dopo la rimescolatura della memoria, come descritto sopra, che questo può provocare bit di bit apparentemente casuali a livello di applicazione.
Se il martello pneumatico fosse in grado di caricare un condensatore scaricato, ci troveremmo in una situazione molto peggiore di quella attuale. Poiché un aggiornamento della DRAM risulta nel controllare il valore di un condensatore e ricaricarlo se è stato caricato ma lasciandolo da solo se è scaricata, le attenuazioni basate sull'aggiornamento possono solo proteggere dall'eccesso di scarica indotta da martello pneumatico. La maggior parte delle mitigazioni esistenti si basano attualmente sull'aumento della frequenza di aggiornamento (ad esempio, passando da 64 ms a 32 ms) o sulla rilevazione di attivazioni eccessive di riga e direttamente sull'adattamento di righe che potrebbero diventare instabili (ad esempio TRR e pTRR).
Il documento originale ha fornito tre diversi meccanismi di azione:
-
Accoppiamento elettromagnetico - Ogni condensatore ha il proprio transistore di accesso . Quando questo transistor viene attivato, scarica il condensatore e legge il valore sul buffer di riga. Cambiare la tensione di una wordline può causare rumore nelle wordline vicine, attivando temporaneamente i transistor di accesso su quella linea per brevi periodi di tempo, facilitando la perdita dei loro condensatori.
-
Formazione del ponte - I canali conduttivi possono essere formati tra fili o condensatori non collegati. La commutazione rapida di una wordline può aumentare il tasso di perdita tra le celle a ponte, facendo sì che i condensatori caricati si scarichino più rapidamente, potenzialmente abbastanza velocemente da corromperli.
-
Iniezione hot carrier - Anche se questo non è particolarmente rilevante per gli attacchi a martello pneumatico a breve termine, è stato rilevato che la commutazione di una parola per centinaia di ore può danneggiarla in modo permanente. Questo può alterare le caratteristiche dei transistor di accesso e dei condensatori per aumentare la dispersione.