Project zero: la storia delle tecniche di "martellamento" dei bit.



Ieri Project Zero ha condiviso i dettagli di una nuova tecnica di "martellamento" (hammering) chiamata Half-Double, che sfrutta il peggioramento della fisica in alcuni dei nuovi chip DRAM in modo da modificare il contenuto della memoria interna.


Rowhammer è un exploit di sicurezza che sfrutta un effetto collaterale non desiderato, presente nella memoria dinamica ad accesso casuale (DRAM) in cui le celle di memoria che interagiscono elettricamente, perdendo le loro cariche. Si tratta di un elusione dell'isolamento che avviene attraverso accessi ripetuti ad un determinato indirizzo, tale accesso può manomettere i dati archiviati in tali indirizzi di memoria.



Proprio come le vulnerabilità di esecuzione speculativa nelle CPU, Rowhammer è una violazione delle garanzie, a supporto della sicurezza, offerte dall'hardware sottostante. In quanto fenomeno di accoppiamento elettrico, Rowhammer consente il potenziale bypass delle politiche di protezione della memoria hardware e software. Ciò può consentire al codice non attendibile di uscire dalla sua sandbox e assumere il pieno controllo del sistema.

Rowhammer è stato discusso per la prima volta in un documento nel 2014 per quella che allora era la generazione principale di DRAM: DDR3. L'anno successivo, Project Zero di Google ha rilasciato un exploit funzionante per l'escalation dei privilegi. In risposta, i produttori di DRAM hanno implementato una logica proprietaria all'interno dei loro chip che tentavano di tracciare gli indirizzi a cui si accedeva di frequente e di attenuarli in modo reattivo quando necessario.



Quando la DDR4 divenne ampiamente adottata, sembrava che Rowhammer fosse svanito grazie in parte a questi meccanismi di difesa incorporati. Tuttavia, nel 2020, il documento TRRespass ha mostrato come decodificare e neutralizzare le difese implementate, distribuendo gli accessi, dimostrando che le tecniche di Rowhammer erano ancora praticabili.


All'inizio di quest'anno, la ricerca SMASH è andata oltre e ha dimostrato lo sfruttamento attraverso JavaScript, senza invocare primitive di gestione della cache o chiamate di sistema.


Con Half-Double, project-zero ha osservato gli effetti Rowhammer propagarsi a file vicini o adiacenti, anche se con una forza ridotta. Date tre righe consecutive A, B e C, sono stati in grado di attaccare C indirizzando un numero molto elevato di accessi ad A, insieme a solo una manciata (~ dozzine) di accessi su B.



Sulla base degli esperimenti fatti, gli accessi a B hanno un effetto di "gating non lineare", in cui sembrano "trasportare" l'effetto Rowhammer di A su C. A differenza di TRRespass, che sfrutta i punti ciechi delle difese implementate dai produttori, Half-Double è una proprietà intrinseca del substrato di silicio sottostante.


Google ha collaborato con JEDEC, un'organizzazione commerciale indipendente di ingegneria dei semiconduttori, insieme ad altri partner del settore, alla ricerca di possibili soluzioni per risolvere il fenomeno Rowhammer.


JEDEC ha pubblicato due documenti sulla DRAM e sulle tecniche di mitigazione a livello di sistema (JEP 300-1 e JEP 301-1 ), anche se il percorso è ancora lungo.