Alla conferenza 38C3 è stato presentato il framework FlippyRAM, progettato per controllare la presenza di vulnerabilità che consentono attacchi di tipo Rowhammer per modificare i contenuti della memoria RAM. Il codice dell'utility è scritto in C++ e distribuito con licenza MIT. Per semplificare il testing, è stato creato un live-distro pronto (1 GB) che consente di eseguire il controllo avviandosi da una chiavetta USB, oltre a un'immagine del contenitore per Docker.
L'obiettivo del progetto è coinvolgere gli utenti nella ricerca, cercando di raccogliere statistiche su quanto le vulnerabilità di tipo Rowhammer si manifestino nei sistemi in uso. I dati sui risultati dei test possono essere inviati sia dal live-distro avviato che aggiunti manualmente sul sito della ricerca.
Il metodo di attacco Rowhammer è stato proposto 10 anni fa, dando inizio a un gioco del gatto e del topo tra i ricercatori di sicurezza e i produttori di hardware: i produttori di chip di memoria cercavano di bloccare la vulnerabilità, mentre i ricercatori scoprivano nuovi modi per eluderla. Oltre ai chip DDR3 sui sistemi Intel x86, sono stati identificati metodi di attacco sui chip DDR4 e DDR5, sistemi con processori AMD e ARM, varianti per eludere la correzione degli errori ECC, e modalità di attacco tramite rete e attraverso l'esecuzione di codice JavaScript nel browser.
L'attacco RowHammer consente di alterare il contenuto di singoli bit della memoria DRAM attraverso la lettura ciclica dei dati da celle di memoria adiacenti. Poiché la memoria DRAM è un array bidimensionale di celle, ognuna delle quali è composta da un condensatore e un transistor, la lettura continua della stessa area di memoria provoca fluttuazioni di tensione e anomalie che causano una piccola perdita di carica nelle celle vicine. Se l'intensità della lettura è elevata, la cella adiacente può perdere una quantità significativa di carica e il successivo ciclo di rigenerazione non riesce a ripristinarne lo stato originale, risultando in una modifica del valore dei dati memorizzati nella cella. Per proteggere contro RowHammer, i produttori di chip hanno implementato un meccanismo TRR (Target Row Refresh), che blocca la distorsione delle celle in casi specifici, ma non protegge da tutte le possibili varianti dell'attacco.
Fonte: opennet.ru
