feb
10
Cancellazione sicura dei dati sensibili
Filed Under Forensica Digitale, Informatica | Leave a Comment
Quest’articolo si occupa della seconda fase della messa in sicurezza dei dati sensibili. Mi ripeto, la tutela dei dati sensibili è diventata oggi una priorità anche in Sanità, soprattutto in clinica e in ricerca. In un precedente articolo di qualche tempo fa mi occupai di crittografia dei dati, con una guida alla creazione di una password di robustezza militare. Con quest’articolo vado a completare il discorso occupandomi della cancellazione sicura dei dati sensibili.
Dunque, siamo arrivati ad avere un archivio blindato, magari abbiamo anche usato la tecnologia degli hidden volumes, rendendo inafferrabili i nostri dati anche sotto minaccia fisica o giuridica. Abbiamo una password robusta che, combinata a tre sistemi di crittazione messi a girare in contemporanea, ci permetterà di dormire sonni tranquilli fino alla vecchiaia e oltre.
Ma abbiamo, a prescindere, un buco enorme a favore del malintenzionato. Lo spazio libero dei nostri hard disk non è affatto vuoto, contiene tracce, interi documenti, archivi recuperabili con la giusta strumentazione hardware e software.
Quando cancelliamo (o spostiamo) un file in realtà non abbiamo cancellato (o spostato) praticamente nulla. Il sistema operativo, qualunque esso sia, si è limitato a cancellare la prima lettera del nome del file e a “marcare” in questo come disponibile lo spazio occupato dal file cancellato. Il file, in realtà, è ancora li.
Non sto parlando di svuotare il Cestino. Quando cancelliamo qualcosa, nel caso dei sistemi Windows, i file vengono spostati nel cestino, senza alcuna operazione di cancellatura. Quando svuotiamo il cestino succede quello che ho descritto poco sopra.
La normale cancellazione non è affatto irreversibile. Tutt’altro.
Dopo che il nostro hard disk è stato usato per mesi o anni, il suo spazio libero è un ricettacolo delle cose più incredibili che gli sono passate di sotto nel corso del tempo. Si può recuperare praticamente di tutto, o comunque parti significative di tutto. Tradotto: i dati sensibili che sono passati al di fuori del nostro volume criptato sono esposti.
Soluzione? Bisogna effettuare una operazione che in gergo informatico è chiamata wiping.
Il wiping rappresenta la vera, irreversibile cancellatura di un dato. Viene effettuata scrivendo e ri-scrivendo sullo spazio fisico occupato dal file sull’hard disk dati casuali fino a cancellare ogni traccia magnetica di quel che fu.
Si può quindi cancellare un file, o una serie di file, senza passare dal Cestino via wiping. Allo stesso modo, si può effettuare il wiping dello spazio libero dell’hard disk per mandare per sempre nell’oblio le tracce del passato. Si potrebbe pensare che basti un programmino, un clic e via. Dati distrutti per sempre. La cosa, purtroppo, non è così semplice: esistono varie modalità con cui effettuare questa cancellatura profonda.
La regola è sempre la stessa, la sicurezza ottenuta è proporzionale al tempo impiegato per cancellare un dato, ovvero al numero di volte e alla casualità dei dati con cui viene sovrascritto.
I programmi che potete trovare in giro sulla rete (consiglio fra i gratuiti l’efficiente Eraser della Heidi Software per Windows e Wipe per Linux) hanno tutti vari algoritmi di distruzione dei dati. Li descrivo brevemente:
DoD – Acronimo di Department of Defense, indica lo standard di distruzione elettronica dei dati imposto dal Dipartimento della Difesa americano. L’attuale versione dello standard (DoD.5200.22-M-3) prevede la distruzione dei dati attraverso tre sovrascritture, due con dati fissi e una con dati casuali. Alcuni programmi prevedono l’utilizzo di versioni meno diffuse dello standard DoD, di solito aumentando le passate con cui viene cancellato il ricordo dei dati da 3 a 7 (DoD.5200.28-STD-7). Il DoD, nella sua forma originale, è un buon compromesso fra velocità di distruzione e sicurezza.
Pseudorandom Data – E’ il tipo di distruzione più rapida e meno sicura. Prevede la cancellazione dei dati attraverso una solo sovrascrittura con dati generati casualmente. Utile solo se lavorate con grosse quantità di dati, tali da rendere l’uso di DoD, Guttman o Scheiner improponibile per il tempo richiesto, o per cancellazioni frequenti dello spazio libero nell’ambito di un programma di mantenimento che preveda l’uso periodico di sistemi più robusti di distruzione dati.
Guttman – E’ il sistema più avanzato di cancellazione sicura dei dati, ma è anche estremamente lento. Prevede la bellezza di 35 cancellazioni consecutive dei dati, alternando schemi fissi e casuali. E’ talmente efficace da cancellare anche la memoria magnetica dei dati a livello fisico. Un dato cancellato con Guttman è praticamente e fisicamente impossibile da recuperare. Per intenderci, il contenuto di un hard disk danneggiato dal calore, dall’acqua, da acidi o da un forte campo magnetico è talvolta ancora parzialmente o completamente recuperabile da tecnici specializzati, quello di un hard disk “piallato” dal sistema Guttman no. E’ un modo secondo me addirittura insano di polverizzare dati: l’eliminazione di una manciata di documenti può prendere anche diversi minuti, la cancellazione dello spazio libero di un hard disk di grossa taglia decine di ore. Giustificato per dati davvero, ma davvero sensibili.
Schneier – E’ una versione rinforzata dello schema DoD. Le passate passano da 3 a 7. Nella prime due vengono scritti dati a sequenza fissa (o tutti 0 o tutti 1), le altre cinque seguono sequenze randomizzate di dati, con un pattern generato di volta in volta e sempre diverso. E’ lo schema che uso io per i miei dati. Più sicuro del DoD, più veloce del Guttman (che userei giustappunto se dovessi nascondere le prove dell’avvenuto sbarco degli alieni a Napoli). Paga dazio in termini di velocità rispetto allo schema Pseudorandom Data, ma visto che comunque non cancello dati in misura di gigabyte per colpo, mi va benissimo. E ne guadagno davvero non poco in sicurezza.
In generale, diffidate da tutti gli schemi di distruzione dati che prevedono un solo ciclo di sovrascrittura. Diffidate anche da quelli con due cicli, di solito si tratta di un ciclo di tutti 0 e un ciclo di tutti 1, con poche varianti (al massimo un ciclo di 0 e 1 alternati e un ciclo di dati casuali). Sono tutti deboli, se qualcuno decide di ficcanasare sul serio riesce a recuperare almeno qualcosa. Che potrebbe essere abbastanza.
Eraser della Heidi Software, in particolare, è molto comodo (oltre che gratuito). Lavorate quanto volete, quando avete finito cancellate spostando come sempre nel Cestino quello che non vi serve più e a questo punto basta un clic col pulsante destro del mouse per scegliere, invece della normale non-cancellazione di Windows, uno schema di wiping per spedire per sempre nel mondo dell’oblio i vostri dati riservati. Se poi volete pulire anche lo spazio vuoto dei vostri hard disk per cancellare anche le tracce dei vostri lavori passati, vi basta lanciare il programma, selezionare l’hard disk da pulire e avviare la cancellazione profonda. Eraser non toccherà i file esistenti, ma si occuperà della distruzione dei dati residui sullo spazio libero.
E mi raccomando, non create password iperboliche per i vostri archivi crittografati per poi lasciarle scritte su un Post-it attaccato al monitor della vostra postazione…
gen
29
Gestione informatica dei dati sensibili
Filed Under Forensica Digitale, Informatica | Leave a Comment
L’informatizzazione delle procedure sanitarie sta sollevando il tema, forte, di come gestire adeguatamente i dati sensibili dei pazienti. Per quanto riguarda gli aspetti normativi vi rimando a Wikipedia (dove non mancano ottimi articoli al riguardo), qui affronterò la parte pratica di una gestione sicura dei dati.
Per proteggere il vostro archivio dovrete ricorrere giocoforza alla crittografia, codificando i documenti sensibili in modo da risultare illeggibili a chiunque non abbia la password. Premessa: la qualità di ogni sistema di protezione si basa sull’anello debole della catena, ovvero sul punto che risulta più attaccabile.
Converrà quindi affrontare la catena dagli anelli forti a quelli deboli, prendendo le giuste contromisure ad ogni livello. Parlerò quindi (brevemente, non voglio fare un documento tecnico) degli algoritmi di crittografia, dei software utilizzabili, di come si crea una password forte, dell’attenzione da porre contro programmi malevoli quali i keylogger (che registrano tutto quello che digitate sulla tastiera per mandarlo di solito ad un destinatario interessato).
Primo anello: l’algoritmo di crittografia, ovvero il complesso gioco matematico con cui un dato viene trasformato in un altro e reso reversibilmente leggibile mediante l’inserimento della chiave di decodifica. E’ un anello di solito forte, gli algoritmi attuali si prestano molto poco ad essere violati in modo diretto. Altro discorso vale per il sistema che usano prodotti quali Microsoft Office per proteggere i documenti: qui l’anello è già abbastanza debole di suo, i documenti protetti con una versione del prodotto che non sia la 2007 possono essere sbloccati in modo abbastanza rapido da chi avesse interesse a farlo.
Quali sono allora gli algoritmi di una certa affidabilità oggi esistenti? Essenzialmente tre: Rijndael (si legge Rain Doll, la “bambolina della pioggia”), Serpent, Twofish. Se trovati programmi che usano Blowfish o altri lasciate stare, sono ancora buoni ma sorpassati rispetto a questi tre.
Rinjdael è stato scelto dal National Institute of Standards and Tecnology nel 2001 e ha preso la qualifica di A.E.S. (Advanced Encryption Standard). Ha i grandi vantaggi di essere veloce nelle operazioni di crittografia e di usare poca memoria. Il modulo di crittazione, inoltre, è facilmente portabile: significa che troverete programmi in grado di usare Rijndael sia sotto Windows, che Linux, che Mac. La NSA (agenzia per la sicurezza nazionale americana) nel 2003 ha certificato la bontà dell’algoritmo definendolo adatto per codificare documenti classificati TOP-SECRET se usato con chiavi da 256 bits.
Serpent è stato sviluppato nel 1998. E’ decisamente più lento di Rijndael, ma sembra essere molto più robusto. Anche se, allo stato attuale, sia lui che il diretto rivale risultano impenetrabili, fra gli esperti è diffusa la convinzione che a cadere sarà prima il campione in carica che lo sfidante. Se scegliete Serpent ricordatevi che state facendo uno scambio fra velocità e sicurezza, da vedersi però in chiave molto futura
Twofish fa parte, anche lui, del ricco giardino del 1998. Va visto come una enorme collezione di sistemi di crittografia integrati (due alla centoventottesima potenza, mica male). E’ arrivato terzo in funzione della sua velocità, non pari a Rijndael, e della sua sicurezza, non paragonabile a Serpent. Oggi è considerato un sistema “accessorio”, da sommare ad altri sistemi di crittografia per confondere ancora di più le acque a chi volesse violare un dato documento.
Prossimo anello della catena: il software. Implementare i moduli di crittografia descritti sopra non è poi così difficile per un buon programmatore. Quello che è difficile è creare un programma che non contenga “buchi” attaccabili per estrarre i nostri preziosi dati. All’atto pratico, se andate su Google e cercate tool di crittografia, magari anche AES, ne troverete a pacchi: commerciali, a codice aperto, gratis, amatoriali. Io ne ho provati molti e di molti altri ne ho lette analisi e recensioni: al momento mi sento di consigliare fra i commerciali Jetico BestCrypt e fra i gratuiti lo strabiliante TrueCrypt (disponibile anche per Linux). Tutti e due permettono di eseguire la crittografia “trasparente”. Mi spiego: quando usate questi programmi di crittografia avanzata, dovete indicare loro una certa quota del vostro hard disk da trasformare in un gigantesco archivio (in gergo: volume) che poi verrà sottoposto a codifica. Quando inserite nel programma la giusta password il volume si apre e viene visto dal sistema operativo come un disco rigido rimovibile, al pari di una pendrive. Quando dite al programma di chiudere l’archivio codificato, il sistema operativo si comporta né più né meno che come quando rimuovete una penna dati. In particolare TrueCrypt permette di creare anche gli “hidden volume”: cosa sono? Prendiamo l’esempio che qualcuno vi costringa con la forza a rivelare la password. Un disastro. A meno che voi non abbiate create un secondo archivio criptato che, meraviglia, è contenuto e nascosto all’interno del primo, con una password diversa. Se date a TrueCrypt la password del volume esterno, lui aprirà l’archivio criptato che in realtà non contiene dati che volete proteggere ad ogni costo. Questi ultimi verranno fuori solo se inserite la seconda password, di cui potete sempre negare l’esistenza. Non c’è modo di capire se dentro il primo volume ce ne sia un secondo. Spettacolare.
Terzo anello: la password. E’ inutile usare un sistema di crittografia di valore militare se poi la password è “pippo”, “zanzibar” o la vostra data di nascita. I programmi di violazione a forza bruta (che praticamente provano tutte le combinazioni di caratteri esistenti alla ricerca della vostra password) o i programmi di violazione a dizionario (caricano immensi dizionari di possibili parole chiave e le provano tutte) impiegherebbero pochi minuti o al massimo poche ore a entrare nei vostri dati. La password deve essere prima di tutto lunga, quanto più vi riesce (non vi posso dire la lunghezza esatta della mia, ma vi posso confidare che è ben oltre i 32 caratteri). Ogni carattere in più eleva infatti di una potenza il numero di tentativi che un intrusore deve fare per riuscire nel suo intento. Deve contenere, oltre alla lettere, dei numeri: i numeri aumentano la base di caratteri che l’intrusore deve dire al suo programma di forzatura di cercare. Non deve essere composta da parole realmente esistenti: in questo modo tutti i programmi di violazione a dizionario sono tagliati fuori. Dovrebbe essere possibilmente scritta in forma l33t (si legge “leet”), ovvero sostituendo ogni tanto delle cifre simili alle lettere (“conseguenza” diventa “c0n53gu3nz4”): in questo modo solo voi saprete che tipo di regola sintattica usa la vostra password. Dovrebbe contenere dei caratteri presi dalla tabella ASCII (sono quei caratteri grafici che si fanno tenendo premuto il bottone ALT della tastiera e digitando numeri da 1 a 255 sul tastierino numerico): funzionano come i numeri ma in modo molto più robusto, aumentando enormemente la base dei caratteri che il malintenzionato deve esplorare. Ed infine, se possibile e se avete installati i giusti caratteri sul vostro pc e le giuste configurazioni delle lingue di input, dovrebbe contenere qualche carattere non di alfabeto romanico: cirillico, cinese, giapponese, indi. A questo punto potreste avere anche i piani della bomba atomica salvati nel vostro archivio e nessuno riuscirebbe mai a rompere la vostra “cinta murale”. Se usate gli hidden volume, seguite queste regole per la vostra password “forte”, ma create anche una password “interessante” per il volume esterno, in modo da dare l’illusione ai malintenzionati di aver pescato giusto. La maniera migliore per tenere a mente una password così complessa è usare una mappa logica: sequenze di immagini, filastrocche, tutto quello che vi possa aiutare a tenere il “filo del discorso” mentre componete sulla tastiera il vostro neonato incubo degli hacker.
Quarto anello: i keylogger. Avete la vostra password, è un capolavoro di malizia e combinazione di caratteri. Ma può esservi ancora rubata. Esistono dei maledetti programmini, chiamati keylogger (registratori di tastiera) che, una volta insediatisi nel vostro pc, registrano ogni cosa che scrivete e la inviano a giroposta ad uno spettatore, di solito interessato. Se avete un keylogger installato e aprite il vostro archivio, tanti saluti: avrete consegnato voi stessi la terrificante password al malintenzionato di turno. Usate sempre e con regolarità i più apprezzati programmi anti-spyware esistenti sul mercato: non posso fare a meno di segnalare in tal senso SpyBot Search&Destroy (gratuito), Advanced Windows Care (gratuito per uso personale) e così via.
Ultimo anello: chi è intorno a voi. Se siete al lavoro e i vostri dati sono davvero importanti, è bene che non vi fidiate neanche dei colleghi. Digitate la password solo quando siete sicuri che intorno a voi non ci sia nessuno o quanto meno se siete sicuri che nessuno stia facendo caso a voi. Fine della catena.
Se tutta la catena è forte, potete dormire sonni tranquilli. Io uso TrueCrypt con tre sistemi di crittografia in serie: A.E.S. come primario, poi Serpent e alla fine Twofish (più un rinforzo per tutti, la modalità LRW). Non ho motivi reali per pensare che qualcuno possa attentare alla mia vita o alla mia libertà pur di avere i contenuti dell’archivio, quindi non uso la tecnica degli hidden volumes (o forse si? La loro esistenza si può sempre negare!). Un banale processore Intel Dual Core E6400 riesce comunque a gestire tutti e tre i sistemi di crittografia contemporaneamente dandomi la velocità di elaborazione di circa 35/40 megabyte al secondo, più che bastante per lavorare. La password è gigantesca, alfa-numerica con elementi ASCII e a mappa logica (tant’è che mi serve un minuto buono solo per scriverla), uso con regolarità programmi anti-spyware e apro i dati solo quando non ho nessuno intorno. Qualunque sarà lo sviluppo della capacità di calcolo dei computer in futuro, è assolutamente impossibile che si possa perforare il mio archivio protetto prima che io stesso mi spenga serenamente di vecchiaia. Direi che ci si può accontentare.
Ed ancora: non ha senso nemmeno cercare dei residuati di dati nel mio spazio libero, visto che uso utilità di wiping ogni volta che lavoro con quei dati. Tratterò in futuro la tematica della cancellazione sicura dei dati e della cancellazione delle proprie tracce di lavoro.
Ultima notizia: quando nel 2001 ci fu la “gara” per la scelta dello standard A.E.S. ci furono ovviamente delle selezioni. La finale si svolse fra cinque algoritmi: ecco la classifica dei voti della commissione che decretò come “campione” Rijndael.
Rijndael: 86 positivi, 10 negativi
Serpent: 59 positivi, 7 negativi
Twofish: 31 positivi, 21 negativi
RC6: 23 positivi, 37 negativi
MARS: 13 positivi, 83 negativi