Cold Boot: dati crittografati non sicuri, anche a PC spento

Pubblichiamo un guest post di Graziano Felline

Tutte le tecnologie di cifratura dei dati personali immagazzinano le informazioni sul disco rigido premurandosi di cifrarle in tempo reale – con algoritmi come l’AES e chiavi di 128 bit. In questo modo le informazioni salvate sull’unità di massa risulteranno indisponibili a chi abbia accesso fisico alla macchina ma non conosca la chiave per riportare in chiaro i contenuti.

Le informazioni sono dunque al sicuro, a patto di non rivelare la password – di fatto al momento il tempo di decrittaggio con attacco brute-force dell’AES con chiave a 128 è dell’ordine di qualche anno.

Circa un anno fa alcuni membri dell’università di Princeton, dell’Electronic Frontier Foundation e della Wind River Systems hanno condotto un’interessante analisi sulla persistenza dei dati in memoria RAM dopo la sconnessione della corrente elettrica. I risultati sono stati decisamente sorprendenti.

Si tratta una notizia non recente, che ci pare però il caso di proporvi, nel momento in cui la diffusione dei computer portatili e del loro uso in mobilità, anche per applicazioni business, cresce vertiginosamente. [ndr]


Persistenza memoria

Le foto precedenti sono bitmap caricate in RAM ed estratte leggendo la memoria dopo aver spento il PC, con l’uso di un kernel minimale caricato via penna usb – ma anche via PXE di Intel o via EFI sempre via rete – che copia l’intero contenuto della RAM all’interno della memoria portatile.

Una volta copiata la RAM su un supporto non volatile si hanno tutte le informazioni in essa contenute prima che il PC venisse spento, disponibili per un tempo illimitato: quindi possono essere analizzate con calma per estrapolare dati sensibili, password o qualsiasi dato presente al momento dello spegnimento.

Come è evidente dall’immagine precedente, in assenza di alimentazione, i dati in RAM si deteriorano progressivamente. Le immagini sono state lette dopo 5 sec , 30 sec, 60 sec e 5 minuti senza alimentazione: già a partire da 30 secondi dopo la sconnessione della corrente la bitmap contiene numerosi artefatti, motivati da un crescente tasso di errori nella memoria non alimentata.

Per ovviare a questa situazione, i ricercatori hanno congelato il modulo RAM, con una bomboletta di aria compressa usata per pulire i pc, portandola a -50° C, rallentando la naturale crescita del tasso di errore dopo lo spegnimento, .

Agendo in questo modo, il tempo in cui è possibile leggere dati esatti si allunga considerevolmente e il BER (bit error rate) si abbassa allo 0.18% circa dopo 5 minuti senza alimentazione; utilizzando azoto liquido si può arrivare anche a 60 minuti senza alimentazione con il medesimo BER.

I ricercatori hanno quindi sviluppato dei tools appositi per l’estrazione delle chiavi AES e  DES (gli algoritmi di cifratura sono a solo titolo di esempio, questa tecnica funziona anche con RSA e comunque conoscendo il funzionamento dell’algoritmo si può creare un software di ricerca delle chiavi ad-hoc) che riescono a ricostruire le chiavi localizzate in memoria centrale anche in presenza di errori causati dal bit decay – frutto della scarica del condensatore  usato per memorizzare il singolo bit, che per sua natura tende a “perdere” la carica in assenza di refresh.

Quello che deve far preoccupare è la velocità con cui, in queste condizioni, le chiavi possono essere trovate: per l’AES il tempo medio è di una frazione di secondo per chiavi lunghe 128 bit ed in presenza del 15% di bit errati, e sale fino a 30 secondi in presenza di una percentuale di errori del 30%.

Si tratta di tempi decisamente bassi, derivanti dal fatto che l’AES è uno standard di cifratura aperto ed è stato quindi possibile sfruttare la conoscenza dell’algoritmo di generazione della chiave in fase di identificazione e correzione della chiave stessa.

Al momento attuale, nessuno dei software di criptatura del disco rigido esistenti (BitLocker, FileVault o il modulo crypt del kernel linux), né il TPM,  forniscono protezione da questo tipo di attacco, dal momento che la chiave d’accesso all’unità protetta viene conservata in RAM per tutto il tempo in cui l’unità è montata e che comunque eventuali dati sensibili a cui si stava lavorando sono presenti in chiaro nella memoria volatile.

Metodi per prevenire accessi a dati sensibili a causa di un cold-boot sono usare software di cifratura che eliminino le chiavi dalla memoria quando l’unità non è in uso ed abilitare in fase di POST un accorgimento che distrugga tutti i dati presenti in RAM prima di caricare il Sistema Operativo, contromisura che può essere scongiurata solo con accorgimenti fisici, per esempio  rimuovere il modulo RAM e montarlo su un PC opportunamente predisposto.

Per maggiori informazioni vi rimando alla pagina di riferimento dove sono presenti oltre ad un video ed al PDF da cui ho estrapolato questa sintesi, anche tutti i sorgenti dei tools sviluppati dall’università di Princeton per portare a termine un attacco come quello appena descritto.

Press ESC to close