di  -  giovedì 29 ottobre 2009

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.

29 Commenti »

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.

  • # 1
    j
     scrive: 

    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.

    quindi nel caso di un notebook rubato da spento (di pc portatili rubati da sotto il naso del proprietario mentre questo lo sta usando non ho mai sentito, nè di portatili lasciati accesi incustoditi su un tavolo) il ladro dovrebbe sperare che il proprietario non lo abbia spento da più di un minuto – e che abbia lasciato attivo il boot da usb o non abbia impostato una password per il setup del bios (accorgimenti che ad esempio nel caso di portatili aziendali sono i primi che l’ amministratore mette in pratica)

    contromisura che può essere scongiurata solo con accorgimenti fisici, per esempio rimuovere il modulo RAM e montarlo su un PC opportunamente predisposto.

    ma riuscire a estrarre (senza danneggiarlo) un modulo RAM da una macchina per montarlo su un’ altra in 5 – 10 secondi significherebbe (a parte la destrezza richiesta dalla manovra) che il malintenzionato ha ottenuto l’ accesso fisico alla macchina su cui risiedono i dati sensibili (ed è riuscito ad aprirne il case senza farsi notare da nessuno, aspetto non da poco, soprattutto qualora si tratti di server in rack in camera apposita) – ora, accesso fisico da parte di un malintenzionato significa essenzialmente precauzioni a monte mancanti o inefficaci, quindi dati già compromessi in partenza…

    per questo ho come l’ impressione che la scoperta dei ricercatori di princeton in effetti abbia più un valore accademico, più che rappresentare una nuova fonte di rischio in scenari di sicurezza reali

  • # 2
    Anonymous
     scrive: 

    BitLocker, FileVault… LOL

    L’unico programma da usare è TrueCrypt, disponibile anche per Linux… STOP

  • # 3
    Valerio
     scrive: 

    E cosa cambierebbe con truecrypt di grazia? ah forse non usa la ram :D

  • # 4
    Fabio
     scrive: 

    Mia impressione(e non ci capisco praticamente nulla quindi fucilatemi pure se sbaglio ^^) sinceramente mi pare più una curiosità che un pericolo reale.

  • # 5
    Anonymous
     scrive: 

    @ Valerio

    Che è semplicemente il migliore.

    @ Fabio

    Infatti è un rischio minimo.

  • # 6
    sireangelus
     scrive: 

    sono contento solo di una cosa: hanno trovato il modo di fregare le chiavi del sistema TPM(ex-palladium)

  • # 7
    Pegno
     scrive: 

    Né io o qualcun altro qui farà presumibilmente uso di queste tecniche o avrà da temerne. In caso di spionaggio industriale, ad esempio, sono tecniche fattibilissime ed efficaci. Una persona realmente intenzionata ad effettuare un furto di dati e che ha accesso alla macchina senza difficoltà ci mette niente ad aprire il case di un fisso o il vano memorie di un portatile, sfilare la ram e innestarla su un piccolissimo dispositivo che la alimenta solamente o anche su un analogo portatile o PC di piccole dimensioni, sostituendo magari i moduli con altri e poi con tutto comodo estrarre tutti i dati che riesce dai moduli sottratti.

  • # 8
    D
     scrive: 

    Il futuro sarà una porta dove collegare una ram esterna sulla quale verranno scaricate le password.
    Tale memoria sarà dotata di un pulsante che la braserà in un nano secondo o in alternativa sarà un affarino talmente fragile che si potrà spezzare con due dita.
    A quel punto dovranno mettere sotto azoto liquido l’eventuale proprietario del pc che in amen potrebbe liberarsi dell’ultima chiave.

  • # 9
    floc
     scrive: 

    si ma quanto ci metto a riempire la ram di dati casuali prima di spegnere il pc? pochi secondi, soluzione gia’ in voga da parecchio tempo.

    voglio dire: o mi prendono di sorpresa e mi puntano una pistola alla tempia oppure per tutte le altre situazioni ho decisamente il tempo di prendere le mie precauzioni

  • # 10
    Pietro
     scrive: 

    Ok tutto, ma mi semprano tempi da Mission Impossible! 60 min sotto azoto…. adesso me ne compro una bombola…. comunque è bello sapere certe cose… non si sa mai…

  • # 11
    Mister24
     scrive: 

    Questa tecnica nella realtà è inutilizzabile, nell’articolo viene si riportato un tempo di 60s, ma con la ram a -50°C. In genere all’interno di un PC vicino al processore dove sta la ram ci saranno 40/50° quindi già dopo pochi secondi dallo spegnimento i dati non ci sono più.

  • # 12
    Massive
     scrive: 

    Ma non basta aggiornare il kernel o i driver del supporto criptato in modo da sovrascrivere sulla ram i dati sensibili prima di rilasciare le risorse?

  • # 13
    Massive
     scrive: 

    @D: credo che in futuro sia più probabile usare password biometriche

  • # 14
    Massive
     scrive: 

    Il video è abbastanza eloquente, il minuto è critico in condizioni normali, con la bomboletta si legge praticamente tutto anche dopo 10 minuti.
    Riguardo alla fattibilità è chiaro che il furto a caldo è improbabile (ma in caso di dati veramente importanti non ci vedo nulla di improbabile a rapinare uno con il PC acceso), però si può sempre sfruttare la cattiva abitudine di lasciare il PC in sleep…

  • # 15
    Graziano Felline
     scrive: 

    @Anonymous

    Let’s suppose that there is an .avi video file stored on a TrueCrypt volume (therefore, the video file is entirely encrypted). The user provides the correct password (and/or keyfile) and mounts (opens) the TrueCrypt volume. When the user double clicks the icon of the video file, the operating system launches the application associated with the file type – typically a media player. The media player then begins loading a small initial portion of the video file from the TrueCrypt-encrypted volume to RAM (memory) in order to play it. While the portion is being loaded, TrueCrypt is automatically decrypting it (in RAM). The decrypted portion of the video (stored in RAM) is then played by the media player.

    Quindi sarà anche il migliore ma funziona come tutti gli altri quindi è vulnerabile.

    @J
    nemmeno io ne ho visti di accesi e incustoditi ma di portatili in sospensione/ibernazione ne vedo un bel po ogni giorno (compreso il mio), comunque chi usa questo tipo di attacco non è di sicuro il ladruncolo da 2 soldi che ruba portatili al tavolo di un bar e vuole leggere le mail sulla macchina appena rubata.

    “ma riuscire a estrarre (senza danneggiarlo) un modulo RAM da una macchina per montarlo su un’ altra in 5 – 10 secondi significherebbe (a parte la destrezza richiesta dalla manovra)”

    se lo congeli mentre è ancora sulla macchina hai 60 minuti di tempo per togliere il modulo ed attaccarlo su un’altra macchina, e visto che basta una bomboletta da 5 euro non mi sembra impresa impossibile. Si è richiesto accesso fisico alla macchina ma la percentuale di successo è altissima quindi nei casi in cui si vuole seriamente accedere a dati sensibili (spionaggio industriale) è una strada tutt’altro che impraticabile.

    Sottolineo poi che con i tools presenti sul sito linkato in fondo si possono estrarre le passoword delle risorse crittografate e se il tutto viene fatto con discrezione il danno che si può fare è notevole (rubare informazioni per mesi), anche se sicuramente all’utente consumer/medio questo importa poco.

  • # 16
    biffuz
     scrive: 

    E se io saldassi/incollassi il case così che neanche i meccanici di F1 lo possano aprire in 5 secondi?
    Potrei anche riempire l’interno della macchina di qualche sostanza gommosa (termoconduttiva, per scongiurare surriscaldamenti), in modo che occorrano ore per arrivare alla RAM.
    E per finire, posso mettere delle microcariche che distruggano fisicamente i moduli.

    Insomma, va bene essere parainoci, ma qui si esagera…

    (ah, e ricordatevi di coprire i LED degli switch di rete: possono leggere i dati in transito!!! il fatto che il tempo di accensione e spegnimento di un LED sia enormemente più lungo del tempo di trasmissione di un bit è da considerarsi ininfluente)

  • # 17
    D
     scrive: 

    “@D: credo che in futuro sia più probabile usare password biometriche”

    E mai come quel giorno, ghighiottine taglia-sigari o cucchiai cava-bulbi di torneranno ad essere popolari al di fuori dei film horror e di gangster

  • # 18
    Daniele
     scrive: 

    Ma mi sembra più probabile che se uno vuole rubare i dati prenda il pc già acceso che pun pc spento da 30 secondi!

  • # 19
    Amiga4000
     scrive: 

    Sega mentale.

  • # 20
    Simone
     scrive: 

    Lo studio di Princeton era già stato citato da Tambu circa un anno e mezzo fa su queste pagine:
    http://www.appuntidigitali.it/1120/hacking-sempre-piu-facile-basta-un-drive-firewire/

  • # 21
    Giulio Severini
     scrive: 

    @Tutti

    Purtroppo, leggendo la documentazione tecnica di Truecrypt si vede come anche questo programma sia vulnerabile a questa tecnica… :(

    1. http://www.truecrypt.org/faq
    2. http://www.truecrypt.org/docs/?s=encryption-scheme

    Buona lettura.

  • # 22
    homero
     scrive: 

    le tecniche di crittazione attuali sono tutte piu’ o meno vulnerabili ad un semplice attacco brute-force, infatti è anche per questo che costruiscono alcuni supercomputer quindi il voler cercare dati in ram certo non è un reale problema per trovare la chiave di crittazione piuttosto per osservere cosa si stesse realmente facendo sul pc prima dello spegnimento…
    ad ogni modo l’utilizzo degli strumenti digitali odierni è comunque vincolato alla mancanza di privicy
    ergo windows e non solo si buca come il burro con un cucchiao caldo.

  • # 23
    pleg
     scrive: 

    @ Homero

    Brute force? Su ad esempio un normale AES a 256 bit? Qualche gazillione di anni? Buon calcolo…

  • # 24
    Andrea R
     scrive: 

    C’è anche da ricordare l’area di swap. Se una chiave finisce swappata, rimane sul disco molto più a lungo. Infatti su linux alle volte si usa la swap crittografata.

    Per il problema della ram basterebbe azzerare la memoria in spegnimento, più che in post. Ci vuole ben poco.
    Ma tanto non c’è protezione dall’accesso fisico.

  • # 25
    pleg
     scrive: 

    @ Andrea R

    Gia’ gia’ lo swap… non mi ricordo mai, un software puo’ chiedere al sistema operativo di non swappare le sue pagine, o e’ impossibile?

  • # 26
    avve
     scrive: 

    Peccato che la fase di spegnimento non verrà effettuata dall’eventuale ladro di dati, si limiterà a staccare la spina.

    Rimango dell’idea che in caso di dati critici, il modo migliore per garantire sicurezza è proteggere il sistema da accessi fisici indesiderati, con un monitoraggio e una tracciatura degli interventi. Così nessuno può aprire il case del pc senza che si venga a sapere, e se non è un’operazione pianificata parte l’allarme.

    per quanto riguarda TPM, per come l’avevo capita io mi pare che la piattaforma sia in grado di consentire lo stoccaggio in memoria di chiavi crittate, quindi l’accesso fisico alla memoria dovrebbe essere inutile in presenza di modulo TPM correttamente confato e sfruttato dal sw. Non so invece se si riesce a crittare tutta la ram, ma credo non sia improbabile.

  • # 27
    Nicola
     scrive: 

    per le chiavi salvate su disco esistono i keystore. come dice pleg si può evitare lo swapping anche solo di una parte della memoria di una applicazione, quindi problema risolvibile. si potrebbero anche offuscare le chiavi in memoria, tramite algoritmi specifici dell’applicazione stessa che le utilizza, che memorizzano la chiave in chiaro in una variabile che viene distrutta subito dopo l’utilizzo, mentre la chiave offuscata rimane in memoria(a quel punto bisognerebbe conoscere l’algoritmo di offuscamento dell’applicazione per poter apllicare la tecnica descritta in questo articolo). Se proprio si è paranoici la chiave si prende sempre dal keysore su disco, distruggendola subito dopo l’utilizzo.

    non voglio sottovalutare il rischio analizzato in questo articolo, ma se dovessi dare un giudizio su scala, da 1 a 10 come pericolo, per me sarebbe al massimo classificale con un 2.

  • # 28
    gilgob
     scrive: 

    Pensate alle incursioni della Finanza o di altre forze di polizia, in indagini tipo antiterrorismo o finanza “evoluta”.

    Certo che i “malfattori” che riescono a spegnere il PC o Palmare prima dell’incursione si sentiranno al sicuro con i loro dati cifrati (Eh, Eh, Eh!!!). Pensate invece alla faccia che faranno quando si troveranno, oltre alla pistola puntata, anche una bella bobola di azoto per surgelare il dispositivo e lavorci con comodo successivamente.

    Saluti
    Gilberto

  • # 29
    carlo
     scrive: 

    Mi lascia un po’ titubante il recuperare le chiavi AES all’interno della RAM, sopratutto anche nel caso ci fossero dati danneggiati (come un 0 al posto del 1 e viceversa).
    Leggendo comunque la documentazione a corredo sembra tutto particolarmente semplice ed addirittura se la mia prima impressione lo reputava un esperimento confinato in laboratorio, vedo potenzialità per farne addirittura una applicazione commerciale (basta una chiave USB con precaricato il software aduopo e un simpatico wizard).
    In effetti non esiste nemmeno una vera soluzione al problema.
    Non la vedo però una tecnica per carpire segreti dell’azienda: per quelli bastano i soldini o persone compiacenti (e sempre i soldini :) ), e si risparmia pure la fatica del viaggio in loco.

Scrivi un commento!

Aggiungi il commento, oppure trackback dal tuo sito.

I commenti inseriti dai lettori di AppuntiDigitali non sono oggetto di moderazione preventiva, ma solo di eventuale filtro antispam. Qualora si ravvisi un contenuto non consono (offensivo o diffamatorio) si prega di contattare l'amministrazione di Appunti Digitali all'indirizzo info@appuntidigitali.it, specificando quale sia il commento in oggetto.