Blacksmith — un nuovo attacco alla memoria DRAM e ai chip DDR4

Un gruppo di ricercatori dell'EPFL, della Vrije Universiteit di Amsterdam e di Qualcomm ha pubblicato un nuovo metodo di attacco della classe RowHammer, in grado di modificare il contenuto di singoli bit nella memoria dinamica (DRAM). L'attacco è stato battezzato Blacksmith e identificato con il codice CVE-2021-42114. Molti chip DDR4, dotati di protezione contro i metodi precedentemente noti della classe RowHammer, sono vulnerabili. Gli strumenti per testare i propri sistemi rispetto a questa vulnerabilità sono stati resi disponibili su GitHub.

Ricordiamo che gli attacchi di tipo RowHammer consentono di alterare il contenuto di singoli bit di memoria 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 leggera perdita di carica nelle celle vicine. Se l'intensità di lettura è elevata, la cella adiacente può perdere una quantità sufficiente di carica, e il successivo ciclo di rigenerazione non riesce a ripristinare il suo stato originale, causando una modifica del valore dei dati memorizzati nella cella.

Per proteggere dai rischi del RowHammer, i produttori di chip hanno proposto il meccanismo TRR (Target Row Refresh), che difende dalla distorsione delle celle nelle righe adiacenti. Tuttavia, poiché la protezione si basava sul principio della "sicurezza tramite oscuramento" (security by obscurity), essa non risolveva il problema alla radice, ma offriva una protezione solo contro casi specifici noti, il che permetteva di trovare facilmente vie di bypass. Ad esempio, nel mese di maggio, Google ha proposto un metodo chiamato Half-Double, al quale la protezione TRR non era efficace, poiché nell'attacco erano coinvolte celle non direttamente adiacenti a quelle target.

Il nuovo metodo Blacksmith offre un diverso approccio per bypassare la protezione TRR, basato su un accesso eterogeneo con una frequenza variabile a due o più righe-aggressori per causare la perdita di carica. Per identificare il modello di accesso alla memoria che porta alla perdita di carica, è stato sviluppato un fuzzing speciale, che adatta automaticamente i parametri di attacco per il chip specifico, variando l'ordine, l'intensità e la sistematicità dell'accesso alle celle.

Un approccio simile, non legato all'interazione con le stesse celle, rende inefficaci i metodi di protezione TRR attuali, che in un modo o nell'altro si riducono al conteggio del numero di accessi ripetuti alle celle e, al raggiungimento di determinati valori, all'inizio della ricarica delle celle adiacenti. Nel Blacksmith, il modello di accesso è distribuito su diverse celle da vari lati rispetto a quella target, permettendo di ottenere una perdita di carica senza raggiungere i valori soglia.

Il metodo si è rivelato significativamente più efficace rispetto ai precedenti metodi di bypass del TRR: i ricercatori sono riusciti a ottenere distorsioni dei bit in tutti e 40 i diversi chip di memoria DDR4 recentemente acquistati, prodotti da Samsung, Micron, SK Hynix e un produttore sconosciuto (non era indicato il produttore su 4 chip). A titolo di confronto, il metodo TRRespass proposto dagli stessi ricercatori si è mostrato efficace solo per 13 dei 42 chip testati all'epoca.

In generale, si presume che il metodo Blacksmith sia applicabile al 94% di tutti i chip DRAM disponibili sul mercato, ma secondo i ricercatori, alcuni chip sono più vulnerabili e più facili da attaccare rispetto ad altri. L'uso di codici di correzione degli errori (ECC) e il raddoppio della frequenza di aggiornamento della memoria non offrono una protezione completa, ma complicano l'attacco. È importante notare che il problema non può essere bloccato nei chip già rilasciati e richiede l'implementazione di una nuova protezione a livello hardware, quindi l'attacco rimarrà rilevante per molti anni a venire.

Come esempi pratici, vengono forniti i metodi di applicazione di Blacksmith per modificare il contenuto delle voci della tabella delle pagine di memoria (PTE, page table entry) al fine di ottenere privilegi di kernel, danneggiando la chiave pubblica RSA-2048 memorizzata in OpenSSH (è possibile allineare la chiave pubblica a quella privata dell'attaccante per connettersi alla VM della vittima) e aggirando il controllo delle autorizzazioni tramite la modifica della memoria del processo sudo per ottenere privilegi di root. A seconda del chip, la modifica di un singolo bit target richiede da 3 secondi a diverse ore di attacco. macchina virtuale A seconda del chip, la modifica di un singolo bit target richiede da 3 secondi a diverse ore di attacco.

Riproduci video

In aggiunta, si segnala la pubblicazione di un framework open source, LiteX Row Hammer Tester, per verificare i metodi di protezione della memoria dagli attacchi di tipo RowHammer, sviluppato da Antmicro su richiesta di Google. Il framework si basa sull'uso di FPGA per un controllo completo dei comandi inviati direttamente al chip DRAM, al fine di escludere l'influenza del controller di memoria. Per interagire con l'FPGA, è disponibile un toolkit in Python. Il gateway basato su FPGA include un modulo per la trasmissione dei dati in batch (che definisce i modelli di accesso alla memoria), un Payload Executor, un controller basato su LiteDRAM (che gestisce tutta la logica necessaria per la DRAM, incluse l'attivazione delle righe e l'aggiornamento della memoria) e una CPU VexRiscv. Le realizzazioni del progetto sono distribuite con licenza Apache 2.0. È supportato l'uso di varie piattaforme FPGA, comprese Lattice ECP5, Xilinx Series 6, 7, UltraScale e UltraScale+.

Fonte: opennet.ru

Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista un hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster