Rowhammer, bug hardware sui moduli DRAM mette a rischio la sicurezza dei computer portatili

Il team Project Zero di Google ha trovato una nuova vulnerabilità su alcuni recenti moduli DRAM DDR3 installati sui computer portatili che potrebbe compromettere la sicurezza del sistema
di Nino Grasso pubblicata il 11 Marzo 2015, alle 11:01 nel canale Sicurezza
13 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - infoGrazie, Antonio. L'articolo è molto interessante.
Rispondo sotto, perché riguarda anche LMCH.
Poi che a causa della disponibilità di clflash sia più facile codificare un exploit rowhammer è una altra questione.
Da come avevi scritto sembrava che il problema nascesse proprio dal fatto che clflush fosse non privilegiata. Da cui la mia domanda.
Come hai detto adesso, non è lei il problema, infatti. Il difetto si verifica anche senza clflush. Quest'ultima consente "soltanto" di arrivarci molto più velocemente, a causa del lavoro che fa (e che rimane utile).
Comunque dalla pubblicazione si legge che hanno usato una versione modificata di memtest86+. Il che, a fini della pubblicazione, rappresenta assolutamente la scelta migliore (nessun s.o., pieno controllo dell'hardware e, dunque, delle richieste inviate alla memoria). Ma in un normale sistema è decisamente difficile riuscire a mettere in atto questa tecnica, e ancor più riuscire a ottenere un exploit sfruttabile.
Con ciò non voglio dire che non bisogna trascurarlo, sia chiaro. Rimane un problema molto grave.
Comunque dalla pubblicazione si legge che hanno usato una versione modificata di memtest86+. Il che, a fini della pubblicazione, rappresenta assolutamente la scelta migliore (nessun s.o., pieno controllo dell'hardware e, dunque, delle richieste inviate alla memoria). Ma in un normale sistema è decisamente difficile riuscire a mettere in atto questa tecnica, e ancor più riuscire a ottenere un exploit sfruttabile.
Con ciò non voglio dire che non bisogna trascurarlo, sia chiaro. Rimane un problema molto grave.
Hai letto la pubblicazione che descrive le condizioni di modifica dello stato delle DRAM, in cui è stato utilizzato Memtest86+ per produrre l'errore ma non per ottenere un exploit basato su di esso.
Degli exploit funzionanti vengono invece descritti nell'articolo di Mark Seaborn e Thomas Dullien (quello che consigliavo di leggere).
Seaborn e Dullien hanno realizzato un "apparentemente innocuo" plugin NaCl che usando clflush trapana il sandbox NaCl di ChromeOS dando a se stesso accesso in scrittura alle pagine del codice e salendo di privilegio.
Per questo motivo hanno poi modificato il software di verifica e validazione pre-esecuzione di NaCl in modo da non permettere i clflush.
Poi hanno realizzato un altro programma che gira in user mode su Linux e che su macchine con sufficiente ram libera e con poco carico riesce a sfruttare l'exploit, salire di privilegio e guadagnare accesso in scrittura a tutta la ram fisicamente presente.
Nulla vieta di usare approcci analoghi anche su Windows, in particolari inserendo il codice che sfrutta l'exploit in programmi che si presentano come utility di test, videogiochi o altro software che non sia troppo sospetto se alloca molta ram o caricano molto la cpu.
Questo perche non serve l'accesso ai sorgenti del SO o delle applicazioni per ottenere le informazioni riguardo cpu e SO necessarie per sviluppare exploit rowhammer.
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".