Questo sito utilizza cookies tecnici (propri e di terze parti) come anche cookie di profilazione (di terze parti) sia per proprie necessità funzionali, sia per inviarti messaggi pubblicitari in linea con tue preferenze. Per saperne di più o per negare il consenso all'uso dei cookie di profilazione clicca qui. Scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie Ok, accetto

 2015  maggio 06 Mercoledì calendario

DETECTIVE INFORMATICI


A partire dagli anni ottanta, il computer ha assunto un ruolo sempre più importante in tutti gli aspetti della vita umana, non escluso quello del crimine. Questo sviluppo ha condotto alla nascita dell’informatica forense, che si propone di scoprire ed esaminare indizi e prove da ogni sorta di dispositivo digitale dotato di memoria, come computer, telefoni cellulari e reti informatiche.
Ricercatori e operatori di questa disciplina sono all’avanguardia nell’affrontare alcuni dei problemi più complicati dell’intero campo dell’informatica, come l’analisi delle grandi collezioni di dati (big data), l’elaborazione del linguaggio naturale, la visualizzazione dei dati e la sicurezza cibernetica. Rispetto alle scienze forensi tradizionali, l’informatica forense pone sfide di notevole peso. L’informazione contenuta nei sistemi computerizzati può essere alterata senza lasciare tracce, la scala dei dati da analizzare è vasta, e la loro tipologia è enorme.
Proprio come l’investigatore della polizia scientifica tradizionale deve essere pronto ad analizzare ogni macchia o frammento, quale che ne sia l’origine, l’ingegnere informatico forense deve dare un senso a ogni dato che possa essere trovato su qualunque dispositivo in ogni parte del pianeta: un proposito assai difficile da realizzare.
Fin dall’inizio, l’informatica forense si è posta due differenti obiettivi, e ciascuno presenta qualche difficoltà. Innanzitutto i computer contengono spesso prove relative a un reato commesso nel mondo fisico. Qui il computer non ha che un ruolo incidentale, solo che il passaggio ai computer ha reso l’analisi dei documenti più difficile per gli investigatori rispetto a quella dei documenti cartacei. Per esempio, un artista delle truffe finanziarie come Bernard Madoff teneva traccia dei conti delle sue vittime con un mini-computer IBM AS/400 degli anni ottanta. Il fatto che il computer fosse vecchio gli è stato utile per protrarre le sue operazioni, perché pochi a Wall Street avevano esperienza di una tecnologia vecchia di 25 anni, e ha creato un problema in più dopo il suo arresto, perché gli investigatori non avevano molti strumenti con cui interpretare i dati.
Oggi i personal computer sono talmente diffusi che raccolta e uso di prove digitali entrano comunemente in molte indagini civili e penali. È ormai routine l’esame di computer portatili e telefoni cellulari dei sospetti di omicidio, alla ricerca di possibili prove d’accusa, e anche nelle cause fra aziende la scoperta elettronica di materiale compromettente ha un ruolo dominante.
La seconda categoria di casi trattati dall’informatica forense è quella in cui i reati coinvolgono intrinsecamente sistemi informatici, come nell’attività degli hacker. In questi casi, a ostacolare gli investigatori sono spesso la raffinatezza tecnica dei sistemi e la massiccia quantità dei dati da analizzare.
La potenza dell’informatica forense si deve al fatto che i sistemi informatici sono finestre sul passato. Molti sistemi conservano grandi quantità di informazioni sia intenzionalmente, nella forma di file di registro o di archivi, sia involontariamente, perché i programmi usati non cancellano memoria e file in modo pulito. Di conseguenza, spesso gli investigatori possono recuperare vecchi messaggi di posta elettronica, registri di chat, ricerche di termini su Google e altri tipi di dati che erano stati creati settimane, mesi o addirittura anni prima. Quando risalgono al periodo giusto, questi dati possono rivelare lo stato d’animo o gli intenti di una persona nel momento in cui è stato commesso un reato.
Mentre però prima dei computer le prove, come lettere scritte a mano e fotografie, potevano essere riprodotte e distribuite ad avvocati, giudici e giurie, le prove informatiche richiedono trattamenti e analisi speciali. Se maneggiati in modo improprio, i dati elettronici possono facilmente subire cambiamenti, danni o cancellazioni. Può bastare accendere uno dei dispositivi GPS in commercio per cancellare dati essenziali. In più, spesso i computer contengono dati nascosti che possono essere rivelati solo quando si usano appositi strumenti specializzati: per esempio può sembrare che in una fotocamera digitale ci siano solo 30 foto, ma un esame esperto può rivelare altre 300 fotografie cancellate ma recuperabili. Infatti, quando un dispositivo «cancella» un file non ripulisce il relativo spazio di memoria ma si limita a contrassegnarlo come disponibile; il file può non essere effettivamente eliminato fino a quando non se ne scrive un altro sopra di esso.
Dato che sono in grado di guardare nel passato e scoprire dati nascosti, gli strumenti dell’informatica forense sono usati sempre più spesso anche fuori dai tribunali. Gli addetti alla sicurezza li usano regolarmente per analizzare le intrusioni nelle reti informatiche: non per perseguire la persona che attacca, ma per capire in che modo è riuscito a entrare nel sistema e come turare la falla. Le società di recupero dati usano strumenti analoghi per far rivivere i file archiviati su dischi formattati o danneggiati per errore. Gli strumenti dell’informatica forense possono anche portare alla luce casi di rivelazione involontaria di informazioni di natura personale. Nel 2009 l’Inspector General del Department of Defense degli Stati Uniti ha pubblicato un rapporto secondo cui molti dischi rigidi non erano stati correttamente svuotati dei dati prima di essere dismessi dalla pubblica amministrazione.
Esaminando le prove digitali si può anche mostrare che certe cose non sono accadute: in questo caso hanno minore efficacia, per il noto motivo che l’assenza della prova non prova l’assenza del fatto. A maggio 2006 erano stati rubati da un impiegato dello U.S. Department of Veteran Affairs un computer portatile e un disco rigido esterno contenenti informazioni personali sensibili su 26,5 milioni di militari e veterani. Dopo il recupero del portatile, avvenuto il mese successivo, gli analisti informatici hanno analizzato i dispositivi di archiviazione, determinando che probabilmente i dati sensibili non erano stati esaminati.
Per emettere un giudizio del genere, una possibilità è esaminare i tempi di accesso e modifica associati a ciascun file del disco. Ma qualcuno che si avvalesse delle stesse tecniche forensi avrebbe potuto esaminare i file del portatile senza modificare le relative marcature temporali (timestamp), quindi in realtà gli investigatori hanno accertato solo che i file non erano stati aperti con mezzi convenzionali.
Questi esempi sottolineano che i limiti dell’informatica forense sono dovuti non tanto alla tecnologia quanto al rapporto tra costi e benefici per ciascun caso specifico. Spesso il successo si misura con il numero delle condanne ottenute in tribunale. In pratica, spesso c’è una considerevole differenza tra quanto è teoricamente possibile e quello che è necessario: anche se può esserci il desiderio di analizzare fino all’ultimo byte, è raro che ci sia motivo di farlo.

Procedure da seguire

L’informatica forense si basa su un arsenale di tecniche e strumenti che possono essere applicati ai sospettati, alle vittime e a terzi coinvolti loro malgrado. Un telefono cellulare trovato su un cadavere non identificato sarà quasi sempre sottoposto ad analisi, ma lo stesso accadrà se un ladro perde il telefono durante un furto in appartamento. Il modo in cui va eseguita l’analisi ha dunque a che fare più con questioni legali che con aspetti tecnologici. Con la crescita del campo delle applicazioni, gli esperti di informatica forense hanno cercato di sviluppare un approccio coerente ma flessibile, che prescindesse dalla varietà delle politiche adottate. Sono stati proposti parecchi di questi «modelli» di informatica forense, che in genere comunque hanno molto in comune.
Prima di essere analizzati, i dati devono essere raccolti sul campo (la «scena del crimine»), stabilizzati e preservati in una registrazione permanente. La chiave per un’accurata estrazione e conservazione dei dati e una dettagliata comprensione del modo in cui sono immagazzinati nei computer. Malgrado siano basati su calcoli eseguiti sulle cifre binarie 0 e 1, più spesso dette bit, i computer lavorano soprattutto su gruppi di otto bit, detti byte. Un byte può rappresentare una sequenza che può essere 00000000, 00000001, 00000010, e cosi via fino a 11111111, corrispondente a un numero decimale compreso tra 0 e 255 (vi sono due opzioni, 0 e 1, con otto combinazioni, per un totale di 2⁸ = 256 possibilità).
Di frequente nel computer i byte sono usati per immagazzinare testi, con ogni lettera rappresentata da uno specifico elemento di codice binario. La rappresentazione UTF-8, di uso frequente, impiega la sequenza binaria 00100001 a rappresentare la lettera «A», 00100010 per la «B», e così via, inoltre i computer spesso usano in memoria anche i codici esadecimali.
Quando sono registrati su un disco rigido o su una scheda di memoria, i byte sono raggruppati in blocchi detti settori, tipicamente lunghi 512 o 4096 byte. Un settore è il più piccolo blocco di dati che il dispositivo è in grado di leggere o scrivere. Ciascuno dei settori del disco ha un numero identificativo univoco, detto indirizzo del blocco logico. Un messaggio di posta elettronica può richiedere, per memorizzarlo, 10 o 20 settori; un film può richiederne centinaia di migliaia. Se nella pubblicità di un telefono cellulare si legge che è dotato di «8 GB» di memoria vuol di che dispone di 8 miliardi di byte, o circa 15 milioni di settori.
A seconda della disposizione degli altri file del dispositivo, i settori possono essere memorizzati in un unico flusso sequenziale o frammentati in molte posizioni diverse. Altri settori ancora contengono le informazioni che il computer usa per trovare i dati immagazzinati. Queste informazioni di «contabilità interna» sono i cosiddetti metadati (cioè «dati relativi a dati») del file System.
Per preservare i dati contenuti in un computer o in un telefono, questi settori devono essere copiati e immagazzinati, uno per uno, su un altro computer, in un file detto immagine (o immagine fisica) del disco. Questo file, che contiene tutti i byte del dispositivo bersaglio, comprende ovviamente tutti i suoi file visibili, ma anche quelli invisibili, insieme a porzioni di file cancellati che non sono ancora stati sovrascritti dal sistema operativo.
Nei casi in cui sono coinvolte le reti invece di macchine singole sono preservati i dati inviati attraverso le connessioni di rete. In questo modo l’informatica forense applicata alle reti equivale a un’intercettazione, e in effetti le forze dell’ordine si avvalgono sempre più spesso dei relativi dispositivi a questo scopo.
Anche le memorie ad accesso casuale (RAM) di cui sono dotati i sistemi computerizzati sono suscettibili di indagine forense. La RAM si chiama così perché permette di accedere ai dati in essa contenuti in qualunque ordine si voglia. Questa rapidità di accesso rende la RAM particolarmente utile come spazio di archiviazione temporanea e come spazio di lavoro per il sistema operativo e i programmi del computer. Lavorare sulla RAM però è difficile, perché il suo contenuto cambia in fretta e si perde quando si spegne il computer. La RAM deve essere catturata con un programma dedicato (detto gestore della memoria) e immagazzinata in un apposito tipo di file, il cosiddetto memory dump. È possibile estrarre i dati contenuti nella RAM di ogni genere di sistema elettronico – non solo computer portatili o da tavolo e telefoni cellulari, ma anche dispositivi di comunicazione di rete come i router wireless – ma ognuno di questi sistemi usa strutture software interne di tipo diverso, quindi i programmi sviluppati per analizzarne uno potrebbero non funzionare per gli altri. E pur se i ricercatori del campo hanno sviluppato metodi per assicurare l’integrità forense delle copie dei dispositivi di archiviazione, non ci sono approcci ampiamente accettati che assicurino con matematica certezza lo scarico delle memorie RAM.
Preservare i dati è solo il primo passo. Poi bisogna esaminarli alla ricerca delle informazioni che potrebbero essere rilevanti per l’indagine. La maggior parte di questi esami è effettuata con strumenti che permettono di estrarre file utente dall’immagine del disco, cercare file che contengano determinate parole o frasi in una serie di lingue e addirittura individuare la presenza di dati cifrati. I dati di interesse sono poi estratti dal sistema preservato, per facilitarne l’analisi.

Verificabilità dei risultati
Solo vent’anni fa, l’informatica forense non poteva contare su strumenti propri, nel senso in cui li intendiamo oggi. Le persone che se ne occupavano dovevano, invece, usare strumenti sviluppati in altri ambiti. Per esempio, per raccogliere e preservare i dati si usavano programmi nati per realizzare copie di sicurezza dei dischi, e per l’analisi dei supporti si usavano strumenti fatti per il recupero dati. Questi approcci funzionavano, però mancavano controlli, ripetibilità e tassi di errore ben stabiliti.
La situazione cominciò a cambiare nel 1993. Quell’anno, in una causa legale contro una casa farmaceutica (Daubert vs. Merrell Dow Pharmaceutical), la Corte Suprema degli Stati Uniti sostenne che ogni testimonianza scientifica presentata in tribunale deve essere basata su una teoria che possa essere messa alla prova, che sia stata esaminata e giudicata favorevolmente dalla comunità scientifica, che abbia un tasso di errore noto o potenziale e che sia generalmente accettata. Questa pronuncia non diede direttamente il via a una richiesta di strumenti dedicati all’informatica forense, ma servì ai professionisti del settore per sostenere che c’era bisogno di strumenti validati non solo per ragioni scientifiche e procedurali ma anche per motivi legali. Da allora c’è stato un costante sviluppo delle tecniche con cui realizzare quello che ha preso il nome di technical exploitation.
Probabilmente la singola innovazione tecnica che ha avuto il maggiore impatto nel campo è stata l’introduzione delle funzioni hash, prima come mezzo per assicurare l’integrità dei dati forensi, e poi anche per riconoscere file specifici.
In campo informatico una funzione hash mappa una sequenza di caratteri (una stringa) in un numero binario di dimensioni specificate, vale a dire costituito da un numero fisso di bit. Una funzione hash a 16 bit può dare 2¹⁶ = 65.536 valori diversi, mentre una funzione hash a 32 bit può assumere 2³² = 4.294.976.296 possibili valori.
Le funzioni hash sono costruite in modo che basti cambiare un unico carattere della stringa in entrata per avere in uscita un risultato diverso. Anche se parecchie stringhe diverse possono avere lo stesso valore hash, producendo quella che viene detta una «collisione hash», maggiore è il numero di bit dell’hash più bassa è la probabilità che ciò avvenga. In inglese to hash significa sminuzzare: le funzioni hash sono tipicamente ottenute con un processo in due stadi, in cui la stringa dei dati è prima spezzettata e poi rimescolata, un po’ come quando si prepara un polpettone.
Questo procedimento è stato inventato da Hans Peter Luhn, e descritto per la prima volta in un bollettino tecnico IBM del 1953; lo si usa ampiamente nel trattamento di testi al computer fin dagli anni sessanta. Per esempio, dato che ogni frase di un documento può essere trattata come una stringa, estrarne il valore di hash rende possibile vedere rapidamente se in un lungo documento ci sono paragrafi ripetuti: basta calcolare i valori di hash dei vari paragrafi, mettere tutti questi valori in una lista e ordinare la lista stessa, per poi vedere se c’è qualche numero che ricorre più di una volta.
Se non ci sono numeri ripetuti, non ci sono paragrafi duplicati. Se invece un numero si ripete bisogna guardare i corrispondenti paragrafi per verificare se davvero il testo compare due volte o si è verificata una collisione hash. Questo modo di procedere è più rapido, perché il computer confronta fra loro i numeri molto più in fretta delle sequenze di parole, anche tenendo conto del tempo necessario per calcolare i valori di hash.
Nel 1979 Ralph Merkle, allora dottorando alla Stanford University, ha inventato un modo con cui usare il procedimento per la sicurezza dei sistemi informatici. L’idea è di usare una funzione di hash che produca valori lunghi più di 100 bit, e che in più abbia la proprietà di essere unidirezionale. È cioè relativamente facile calcolare il valore di hash di una stringa, ma quasi impossibile, dato un valore, trovare una stringa che gli corrisponda. L’essenza dell’idea di Merkle è di usare il valore a 100 bit ricavato dalla funzione di hash unidirezionale di un documento come «controfigura» del documento stesso. Invece di certificare per via digitale un documento di 50 pagine, per esempio, lo si poteva ridurre a un valore di hash a 100 bit, e poi certificare quest’ultimo al posto del documento. Visto il numero dei possibili valori di hash (2¹⁰⁰ combinazioni, cioè circa 10³⁰), Merkle pensò che un malintenzionato non avrebbe potuto prendere la firma digitale di un documento e usarla per certificarne un altro, perché per farlo sarebbe stato necessario che i due documenti avessero lo stesso valore di hash.








Merkle conseguì il dottorato, e oggi le firme digitali applicate ai valori di hash sono alla base di molti sistemi di cyber-sicurezza. Proteggono l’invio dei numeri delle carte di credito su Internet, certificano l’autenticità e l’integrità del codice che gira sugli iPhone e convalidano le chiavi usate per riprodurre la musica in formato digitale.
La stessa idea è stata applicata anche ad altri campi, in particolare a quello forense. Una delle prime applicazioni, ancora in uso, delle procedure di hash, è stata stabilire «catene di custodia» per i dati forensi. Invece che a un documento o a un file, la procedura di hash è applicata all’intera immagine del disco. Molte forze di polizia generano due immagini del disco del dispositivo di archiviazione da analizzare, e poi ne calcolano i valori di hash. Se i due valori coincidono si assume che ognuna di esse sia una copia autentica dei dati che erano presenti nel dispositivo. Ogni investigatore in possesso di una copia successiva dei dati potrà poi calcolarne il valore di hash e vedere se corrisponde al valore riportato in origine. I procedimenti di hash sono così importanti che molti strumenti usati nell’informatica forense eseguono questo confronto in modo automatico.
Una seconda applicazione di questi procedimenti è nell’identificazione di file specifici. Questo approccio beneficia del fatto che è assai improbabile che due file abbiano lo stesso valore di hash, e dunque questi possono servire a etichettare i file, un po’ come gli esseri umani si possono riconoscere dalle impronte digitali.
Oggi gli operatori dell’informatica forense distribuiscono banche dati con i valori di hash di numerosi file. Questi insiemi di dati possono essere usati per etichettare i file come «buoni» (come quelli che fanno parte dei sistemi operativi) o «cattivi», come virus, documenti trafugati o pornografia infantile. Di recente parecchi gruppi, fra cui il mio alla Naval Postgraduate School, hanno applicato procedimenti crittografici di hash a blocchi di dati più piccoli di un file intero, approfittando del fatto che anche segmenti relativamente brevi di un file, di 512 o 4096 byte, possono essere validi come identificativi.
L’identificazione di file e settori mediante valori di hash significa che si può confrontare automaticamente un disco rigido contenente milioni di file con una banca dati contenente i valori di hash di centinaia di milioni di file in un tempo relativamente breve, anche solo qualche ora. La ricerca inoltre può essere svolta senza alcun intervento umano.
Trovare file perduti
In molte indagini forensi il primo passo consiste nella ricerca dei file usati dal precedente utente del computer.
Si dicono file allocati quelli che possono essere visti attraverso il file system e il cui contenuto, in circostanze normali, non verrà sovrascritto dal sistema operativo se non secondo istruzioni specifiche. La parola «allocati» si riferisce ai settori del disco in cui è archiviato il contenuto del file, che sono appunto riservati a quel particolare file e non possono essere assegnati ad altri. L’informatica forense ha molti strumenti che permettono agli investigatori di vedere i file allocati presenti in un’immagine del disco senza dover usare il sistema operativo nativo del computer, mantenendo cioè l’integrità forense della prova.
Una delle massime innovazioni tecniche dell’informatica forense degli ultimi 15 anni riguarda i mezzi con cui recuperare un file dopo che è stato cancellato. Parliamo di file che non sono solo stati spostati nel «cestino» del computer, ma che sono anche stati eliminati svuotando il cestino stesso. Il nome del file può essere nascosto, e gli spazi di memoria a esso associati possono essere stati deallocati. Ma il contenuto del file a volte rimane sul disco rigido, nella memoria o su un dispositivo di memoria esterno, pur se i metadati che avrebbero potuto essere usati per localizzarlo sono andati perduti. Il recupero di questo tipo di dati richiede una tecnica detta file carving, inventata nel 1999 da Dan Farmer, ricercatore indipendente nel campo della sicurezza informatica, e oggi ampiamente sfruttata.
I primi programmi di questo tipo (detti carver) sfruttavano il fatto che in molti tipi di file ci sono specifiche e caratteristiche sequenze di byte all’inizio e alla fine di ciascun file. Queste sequenze sono dette header (o intestazione, o marcatore di inizio) e footer (o marcatore di fine file). Il programma carver analizza l’immagine del disco alla ricerca di queste sequenze di testa e di coda. Quando ne trova una coppia, il programma salva in un nuovo file sia le due sequenze sia tutti i dati compresi fra l’una e l’altra.
I carver attuali sono in grado di convalidare i dati già mentre li ritagliano (assicurandosi, per esempio, che i byte compresi tra un header e un footer JPEG possano effettivamente essere visualizzati come una fotografia digitale) e addirittura di rimettere insieme un file spezzettato in molteplici frammenti. Questo carving con recupero dei frammenti è impegnativo dal punto di vista computazionale a causa del gran numero di modi in cui è possibile riordinare i frammenti stessi, che genera un’esplosione combinatoria con l’aumento della capienza dei dispositivi di archiviazione. A complicare ulteriormente il problema, alcuni frammenti possono mancare.
Strettamente legato al file carving e il problema della ricostruzione dei dati compressi. La compressione è una tecnica ampiamente usata nei sistemi informatici per ridurre lo spazio occupato dai dati. La tecnica sfrutta le ridondanze: per esempio, se dovesse comprimere una sequenza di caratteri come «umile umiltà» il computer potrebbe sostituire i quattro caratteri della seconda occorrenza di «umil» con un puntatore alla prima occorrenza. I testi in lingua inglese possono tipicamente essere compressi fino a un sesto della lunghezza iniziale.
Per comprimere i testi ci vogliono algoritmi non distruttivi (o lossless): sono programmi che quando i dati sono decompressi ripristinano fedelmente il testo originale. Foto e video, invece, sono tipicamente compressi con metodi distruttivi (lossy) che sfruttano carenze dell’apparato percettivo umano. Per esempio qualche decina di pixel di colori appena diversi può essere sostituita da un singolo rettangolo in tinta unita. Il risparmio che ne risulta può essere enorme. Senza compressione, un’ora di video a schermo intero può richiedere 99 gigabyte, ma una volta compresso lo stesso video può occupare solo 500 megabyte, circa la duecentesima parte delle dimensioni iniziali.
La principale sfida posta dalla compressione e il recupero dei dati quando il file compresso risulta corrotto o parzialmente mancante. Appena cinque anni fa questo tipo di corruzione rendeva spesso impossibile recuperare qualcosa di utile, ma di recente sono stati ottenuti progressi spettacolari.
Nel 2009 Husrev Sencar della TOBB Ekonomi ve Teknoloji Universitesi, in Turchia, e Nasir Memon, della scuola di ingegneria dell’Università di New York, hanno sviluppato un approccio grazie al quale si possono vedere frammenti di foto digitali in formato JPEG addirittura se mancano inizio e fine del relativo file. Nel 2011 Ralf Brown, della Carnegie Mellon University, ha sviluppato un metodo per recuperare dati da frammenti di file compressi con ZIP o DEFLATE, algoritmi diffusi, anche quando mancano informazioni essenziali per rimetterli insieme. Nell’approccio di Brown si genera un modello dei tanti modi diversi in cui un documento potrebbe essere decompresso in base alla matematica sottostante al processo di compressione e poi si sceglie tra i diversi possibili documenti in base a un secondo modello, quello del linguaggio umano in cui è scritto il documento stesso.
Anche il recupero di file dalla memoria temporanea di un computer può offrire illuminanti elementi di prova. La RAM di un computer da scrivania, un portatile o un telefono cellulare è un mosaico di blocchi di 4096 byte che possono contenere codice di programmi in esecuzione, resti di programmi eseguiti di recente e ora chiusi, porzioni del sistema operativo, frammenti di quello che è stato inviato o ricevuto attraverso le reti, pezzi delle finestre visualizzate a schermo, il buffer di copia e incolla e altri tipi di informazioni ancora. La memoria cambia rapidamente, in genere i relativi sistemi supportano parecchi miliardi di cambiamenti al secondo, quindi è quasi impossibile farne una copia coerente senza fermare la macchina. Un’ulteriore complicazione è che la maniera specifica in cui i programmi conservano le informazioni nella memoria è solo di rado ben documentata, e cambia da una versione all’altra di un programma. Il risultato è che gli operatori dell’informatica forense potrebbero doversi applicare a un paziente lavoro di reverse engineering (ingegneria inversa) per ogni versione. L’analisi della memoria, quindi, richiede parecchio tempo ed è assai difficile e necessariamente incompleta.
Malgrado queste difficoltà, gli ultimi anni hanno visto lo sviluppo di tecniche per acquisire e analizzare il contenuto di un sistema computerizzato in attività: si parla di memory parsing (analisi della memoria). Oggi ci sono strumenti sia open-source sia proprietari in grado di annotare l’ora di sistema in cui è stato effettuato un memory dump, presentare una lista dei processi in esecuzione e addirittura mostrare il contenuto del file appunti e dello schermo del computer. Questo tipo di strumenti è usato per l’ingegneria inversa del cosiddetto malware, come worm e virus, e per conoscere le azioni eseguite nel corso di un attacco contro un computer. È anche possibile combinare memory parsing e file carving per recuperare foto e video digitali.
L’ingegneria inversa è un altro elemento importante dell’informatica forense, perché gli sviluppatori di hardware e software generalmente non pubblicano i dettagli del funzionamento dei propri sistemi. Quindi sono necessari considerevoli sforzi per seguire a ritroso i codici dei sistemi e capire come sono immagazzinati i dati. Le tecniche di estrazione di file allocati dall’immagine di un disco sono stati in larga misura sviluppati con questo metodo.
L’analisi dei sistemi è la seconda gamba su cui procede la ricerca forense. È analoga all’ingegneria inversa, ma con la fondamentale differenza che l’informazione che si cerca è ignota agli stessi sviluppatori. L’idea può sembrare strana, ma va ricordato che i computer sono sistemi complicati: spesso capita che i programmatori lascino errori nei codici senza rendersene conto, allo stesso modo ogni programma ha invariabilmente altri comportamenti che non sono difetti ma comunque non erano stati previsti dai programmatori. Molti utilizzatori e non pochi sviluppatori di questi sistemi hanno dato per scontato che non fosse possibile ripristinare i file cancellati finché gli esperti di recupero dati non hanno sviluppato strumenti che dimostravano il contrario.
L’integrità delle immagini
Anche quando è possibile estrarre foto e video da un computer o da un telefono cellulare, c’è da considerare se le immagini siano reali. L’alterazione delle fotografie è stata praticata già molto prima dell’avvento di Photoshop. Per esempio ai tempi dell’Unione Sovietica un funzionario bolscevico come Avel Enukidze, vittima delle purghe di Stalin, fu eliminato dalle fotografie ufficiali grazie a una serie di abili manipolazioni della luce e dei negativi effettuate in una camera oscura del Cremlino. L’animazione computerizzata porta ora questo genere di manipolazioni a un livello nuovo, in cui le scene sintetizzate possono essere visivamente indistinguibili da quelle che registrano la realtà.
I progressi nel trattamento delle immagini hanno reso possibile individuare alcuni tipi di artefatti che rivelano manomissioni, o sintesi artificiali. Riflessi, punti di luce e ombre possono essere esaminati per rivelare che i diversi oggetti di una stessa «fotografia» sono stati in realtà assemblati a partire da varie immagini prese in ambienti fisici poco diversi fra loro.
In una spettacolare dimostrazione del 2009, lo scienziato Hany Farid del Dartmouth College ha dimostrato che una singola «foto di gruppo» era stata creata incollando immagini di persone tratte da foto diverse, perché i riflessi delle luci della stanza negli occhi di ogni persona non erano coerenti con la posizione nella foto.
All’avanguardia della ricerca nel campo dell’informatica forense ci sono i sistemi che cercano di assistere gli analisti nei loro ragionamenti, trovando automaticamente quello che sembra fuori dall’ordinario, strano o incoerente. Questo genere di dettagli può indicare che lì sotto c’è un’altra storia. Queste incongruenze possono anche indicare che le prove sono state manomesse o interamente falsificate. In ultima analisi, l’adozione di questi sistemi di ragionamento automatico è probabilmente l’unico modo per gli analisti di tener testa alle vaste quantità e alla crescente diversità dei dati che ci aspetta nei prossimi anni. Progredire in questo campo resta però difficile. Ci sono stati progressi sui sistemi in grado di trovare incongruenze nelle marcature temporali (un file non può essere cancellato prima di essere stato generato) ma questo genere di regole si scontra con la natura irregolare e disordinata del mondo reale (si pensi all’ora legale).
Le vie del futuro
Malgrado la sua efficacia, l’informatica forense affronta grandi sfide che con tutta probabilità nel prossimo futuro si faranno ancora più dure. I computer attuali hanno in media 1000 volte più spazio di memoria, ma sono solo 100 volte più veloci delle stazioni di lavoro dei primi anni novanta, quindi la potenza di calcolo disponibile per elaborare ciascun byte di memoria è diminuita.
Il numero di casi in cui si raccolgono prove digitali aumenta assai più in fretta del numero degli esperti di informatica forense disponibili per le indagini. E la polizia ha capito che le prove digitali possono servire anche a risolvere i casi, cioè nella conduzione delle indagini, mentre in passato servivano soprattutto come prove in tribunale a sostegno delle richieste di condanna.
I telefoni cellulari possono essere dotati di applicazioni di «autodistruzione» che ne cancellano tutti i dati alla ricezione di un particolare messaggio di testo, quindi la pratica standard è di conservarli in un una scatola metallica schermata detta gabbia di Faraday, che blocca le onde radio. Molti telefoni, però, «dimenticano» il contenuto della memoria se restano spenti troppo a lungo, quindi le gabbie di Faraday devono essere equipaggiate con linee di alimentazione e caricabatteria. Dato poi che molti telefonini a basso costo hanno spine di alimentazione proprietarie, la polizia deve sequestrare anche i caricabatteria. Alcuni telefoni cancellano i dati se non riescono a contattare la propria base, mentre altri li cifrano con algoritmi troppo potenti per gli investigatori.
A complicare ancora il compito dei detective ci sono il cloud computing e altre tecnologie per immagazzinare i dati su Internet. Per questo motivo, non c’è modo di assicurare che un telefono cellulare sequestrato a un sospetto contenga effettivamente i suoi dati: il telefono potrebbe essere stato un mezzo con cui accedere a un server remoto. Un investigatore può essere autorizzato a esaminare un dispositivo ma non avere l’autorità legale di usare informazioni memorizzate in esso per accedere a dati immagazzinati in remoto. Peggio ancora, questi dati nel frattempo potrebbero essere cancellati da qualche collaboratore dell’indagato.
A dispetto della sua raffinatezza tecnica e della necessità di una minuziosa conoscenza dei sistemi digitali, la massima sfida oggi per l’informatica forense è legata al fattore umano: la mancanza di persone qualificate a lavorare e fare ricerca. Non dipende solo dalla generale carenza di tecnici; è la natura stessa dell’informatica forense a rendere il reclutamento del personale più difficile che in altre discipline. Dato che la missione è capire ogni possibile dato immagazzinato, abbiamo bisogno di persone che conoscano sistemi computerizzati, applicazioni e formati dati sia attuali che del passato. Ci servono tecnici generalisti in una società che sempre più ricompensa gli esperti e la specializzazione.
Un modo per affrontare questo problema di formazione dei tecnici è cercare di dividere i problemi forensi in unità modulari, in modo che anche gli esperti di altri campi collegati possano dare contributi significativi. Un altro approccio, a mio avviso, è mostrare come gli attuali strumenti e i principi sottostanti all’informatica forense possano trovare larga applicazione in tutta la nostra società. Questa rilevanza dovrebbe far crescere la ricerca sugli strumenti, e far aumentare, si spera, il numero degli utenti che adoperano questo tipo di programmi.
Molti strumenti dell’informatica forense possono essere usati per verifiche della privacy: invece di cercare informazioni personali che potrebbero essere rilevanti per un caso giudiziario, aziende e privati possono usare gli stessi strumenti per verificare se informazioni personali siano indebitamente rimaste visibili per difetti dei programmi o trascuratezza. Allo stesso modo, i singoli possono usare programmi come i file carver per recuperare le fotografie cancellate accidentalmente da una macchina fotografica digitale.
Più in generale, via via che auto, segnali stradali, sistemi di comunicazione, reti elettriche, edifici e interazioni sociali vedono un ruolo sempre crescente dei computer, l’informatica forense diventerà probabilmente l’unico modo di capire questi sistemi quando si comportano male o quando vengono sovvertiti.
Se non svilupperemo capacità e strumenti nuovi, con l’aumento costante delle dimensioni dei dati e della complessità dei sistemi, gli esperti forensi avranno difficoltà e costi crescenti. Oggi i detective digitali sono impegnati in una corsa agli armamenti non solo con i criminali, ma anche con gli sviluppatori dei sistemi computerizzati di domani.