Blacksmith — nuovo attacco alla memoria DRAM e chip DDR4

Un gruppo di ricercatori dell'ETH di Zurigo, dell'Università Vrije di Amsterdam e dell'azienda Qualcomm ha pubblicato un nuovo metodo di attacco di tipo RowHammer, che consente di modificare il contenuto di singoli bit nella memoria ad accesso casuale dinamica (DRAM). L'attacco è stato chiamato Blacksmith e ha l'identificatore CVE-2021-42114. Molti chip DDR4, dotati di protezione contro i metodi precedentemente noti di RowHammer, sono vulnerabili a questo problema. Gli strumenti per testare la vulnerabilità dei propri sistemi sono stati pubblicati su GitHub.

Ricordiamo che gli attacchi di tipo RowHammer consentono di alterare il contenuto di singoli bit di memoria attraverso letture cicliche di dati da celle di memoria adiacenti. Poiché la memoria DRAM si presenta come un array bidimensionale di celle, ciascuna composta da un condensatore e un transistor, la lettura continua della stessa area di memoria provoca fluttuazioni della tensione e anomalie che causano una leggera perdita di carica nelle celle adiacenti. Se l'intensità di lettura è elevata, la cella adiacente può perdere una quantità significativa di carica, e il ciclo di rigenerazione successivo non riesce a ripristinare il suo stato originale, portando a una modifica del valore dei dati memorizzati nella cella.

Per proteggersi da RowHammer, i produttori di chip hanno proposto un meccanismo chiamato TRR (Target Row Refresh), che protegge dalla distorsione delle celle nelle righe adiacenti. Tuttavia, poiché la protezione si basava sul principio della "sicurezza attraverso l'oscurità" (security by obscurity), non risolveva il problema alla radice e proteggeva solo da casi particolari noti, permettendo così di trovare facilmente vie di bypass. Ad esempio, a maggio, Google ha proposto il metodo Half-Double, al quale la protezione TRR non si applicava, poiché l'attacco coinvolgeva celle non direttamente adiacenti a quella target.

Il nuovo metodo Blacksmith offre un modo diverso per bypassare la protezione TRR, basato su un accesso non omogeneo con diversa frequenza a due o più righe di aggressori per provocare una perdita di carica. Per determinare il modello di accesso alla memoria che porta alla perdita di carica, è stato sviluppato un fuzzer speciale in grado di adattare automaticamente i parametri dell'attacco per ciascun chip, variando l'ordine, l'intensità e la sistematicità nell'accesso alle celle.

Un approccio simile, non legato all'impatto sulle stesse celle, rende inefficaci i metodi di protezione TRR attuali, che si riducono, in un modo o nell'altro, al conteggio del numero di accessi ripetuti alle celle e all'inizio del riavvio delle celle vicine quando si raggiungono determinati valori. Nel Blacksmith, il modello di accesso viene distribuito immediatamente su più celle da diversi lati rispetto a quella target, il che permette di ottenere una perdita di carica senza raggiungere valori soglia.

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

In generale, si prevede che il metodo Blacksmith sia applicabile al 94% di tutti i chip DRAM presenti 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) nei chip e il raddoppio della frequenza di aggiornamento della memoria non garantiscono una protezione completa, ma rendono l'exploit più complesso. È significativo che il problema non possa essere bloccato nei chip già rilasciati e richieda l'attuazione di una nuova protezione a livello hardware, pertanto l'attacco rimarrà attuale per molti anni a venire.

Come esempi pratici vengono riportati i metodi di applicazione di Blacksmith per modificare il contenuto delle voci nella tabella delle pagine di memoria (PTE, page table entry) per ottenere privilegi di kernel, compromettere la chiave pubblica RSA-2048 memorizzata in OpenSSH (che potrebbe essere presentata come chiave pubblica del malintenzionato per connettersi alla VM della vittima) e aggirare il controllo delle autorizzazioni modificando la memoria del processo sudo per ottenere privilegi di root. A seconda del chip, per modificare un singolo bit target è necessario un tempo che va da 3 secondi a diverse ore di attacco. macchina virtuale a chiave pubblica per la connessione alla VM della vittima) e aggirare il controllo delle autorizzazioni tramite la modifica della memoria del processo sudo per ottenere privilegi di root. A seconda del chip, per modificare un singolo bit target è necessario da 3 secondi a diverse ore di attacco.

Guarda il video

Inoltre, si segnala la pubblicazione del framework open source LiteX Row Hammer Tester per testare i metodi di protezione della memoria contro gli attacchi di tipo RowHammer, sviluppato da Antmicro su commissione di Google. Il framework si basa sull'uso di FPGA per il controllo completo dei comandi inviati direttamente al chip DRAM, escludendo 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 dati in blocco (definisce i pattern di accesso alla memoria), un Payload Executor, un controller basato su LiteDRAM (gestisce tutta la logica necessaria per la DRAM, compresa l'attivazione delle righe e l'aggiornamento della memoria) e una CPU VexRiscv. I risultati del progetto sono distribuiti con licenza Apache 2.0. È supportato l'uso di diverse piattaforme FPGA, comprese Lattice ECP5, Xilinx Series 6, 7, UltraScale e UltraScale+.

Fonte: opennet.ru

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