giovedì 27 aprile 2006

STORIA DI UN'INDAGINE FORENSE INFORMATICA - PARTE 2 L'ANALISI

Torniamo in laboratorio con il nostro hard disk pieno, lì dentro ci aspetta un file, image.img, di 80Gb, un mostro, che deve
essere masterizzato per farne una copia di sicurezza da dare agli inquirenti.
Stiamo per affrontare ancora lunghi tempi di attesa, prima di scatenarci con l'analisi, la ricerca di quello che ci hanno
incaricato di trovare.
Se l'hard disk esterno è stato formattato in Ext3, nonostante i driver EXT2FSD per Windows, che permettono la scrittura su
HD EXT3 e EXT2 da Windows, conviene zippare da Linux col gzip, poichè ho provato che la lettura e scrittura di grosse moli di
dati genera errori di lettura dopo un pò di ore...mandando all'aria tutto il resto dei files generati con WinRar o con Winzip. (In pratica la lettura da Windows di un HD EXT3 non è perfetta.)
Quindi facciamo un boot da Helix e da terminal root scriviamo:

gzip -N -C -9 /media/sda1/image.img > /media/sda1/zip/image.gz

Il paramentro -N serve a mantenere il nome file ed il timestamp uguali al file origine (molto importante), mentre il -9 indica
il fattore di compressione massimo, infine il > /media/sda1/image.gz serve ad indirizzare l'output sul file image.gz nella
directory "zip".

Ore 10:00
Iniziamo a zippare

Ore 14:00
Abbiamo finito di zippare....4 ore di attesa...

Ma dopo aver generato il file image.gz dobbiamo generare l'hash MD5 per firmare il file.

Ore 14:01
Lanciamo l'md5sum /media/sda1/zip/image.gz > /media/sda1/zip/md5gz.txt

Ore 15:16
L'Md5 è terminato finalmente! (1 ora ed un quarto, con un Centrino 760 2Ghz)

Adesso andiamo su Windows e lanciamo il Winzip e splittiamo (dividiamo) il file image.gz (includendo il file md5gz.txt) da 44Gb, scegliamo
l'opzione di compressione Fast e il taglio DVD, genereremo 11 files (10 da 4.4Gb ed 1 da 1Gb)
Ore 16:46Finito abbiamo gli 11 pezzi pronti per essere masterizzati, ma non è ancora finita, dobbiamo firmare ogni singolo file.
Lanciamo md5deep c:\dvd\*.* > md5split.txt
Arriviamo alle 18:00 più o meno
A questo punto firmo il file delle firme: md5sum md5split.txt > md5check.txt
Così anche se qualcuno dovesse manomettere tutto e ricreare un md5split.txt, la nuova firma del md5split.txt non coinciderebbe mai con
quella presa dall'md5check.txt (paranoia??? Ma sì....)
Ed ora la parte peggiore, masterizziamo ogni singolo file (aggiungendo sempre i due files md5split.txt e md5check.txt) su DVD velocità 8x, ci vogliono 15 minuti per scrivere il DVD e 15 minuti
per la verifica di scrittura (che in questo caso è consigliabile), poi nella immensa paranoia che ci prende, firmo ogni singolo
DVD con pennarello indelebile.
A 30 minuti a DVD per 11 pezzi ecco che perdiamo altre 5 ore e mezzo e arriviamo alle 23:30 ed abbiamo FINITO!
Adesso passiamo all'analisi!!

Prima di tutto cerchiamo di focalizzare l'obbiettivo che ci hanno commissionato, ad esempio, cercare un carteggio e-mail, oppure cercare
delle JPG, oppure una ben determinata informazione, così da non perdere tempo in ricerche spasmodiche su cose inutili e fuori mandato.
Se cerchiamo tutto quello che riguarda i rapporti del sospettato con la Ciccio Ltd, dobbiamo cercare:
e-mail, documenti e navigazioni sul sito della Ciccio Ltd.
Chiaramente in casi estremi, si potrebbe parlare di steganografia, ossia messaggi nascosti nelle immagini, oppure, informazioni
criptate, ma dipende dall'importanza dell'indagine e da cosa si cerca e quali sono i sospetti.
In ogni caso tutto si può fare...ad esempio lanciamo Autopsy e cerchiamo le keywords che possono ricondurre a files o spezzoni di files,
che contengono qualcosa di pertinente al caso:
Ciccio, indirizzo IP della Ciccio Ltd, sito internet, e-mail di Ciccio Ltd, money, bank, ecc. ecc.
Le keywords le cerchiamo sia in formato Ascii sia in formato Unicode e magari anche nello spazio non allocato.
Dai riferimenti uscenti da Autopsy possiamo salvare i contenuti dei files in rapporti testuali (magari da allegare) e poi montare l'immagine
magari con un software come Mount Image Pro e poi andare a copiare i files da esaminare con software più GUI, ad esempio se becchiamo
Posta Inviata.dbx lo possiamo dare in pasto a software come "Attachment Extractor for OE", che permette di visualizzare tutta la corrispondenza
e gli allegati.
In ogni caso possiamo aprire i files dbx con un editor testuale e fare l'analisi delle intestazioni delle e-mail per capire chi ha inviato effettivamente l'email ecc. Gli allegati li visualizzeremo con l'UUDecode che trasformerà i caratteri Ascii componenti l'allegato in formato
binario.
Senza andare in fondo alle varie ricerche possibili, alla fine dovremo:
1) Consegnare i DVD con un foglio firmato riportante tutti gli MD5 ricavati
2) Consegnare tutte le prove trovate (masterizzate) e firmate con MD5 o SHA1
3) Stilare un rapporto tecnico ed uno discorsivo (per il magistrato) sulle azioni compiute ed aggiornare i documenti di catena di custodia.
L'indagine è conclusa e le prove...parleranno.
Leggi : la I-Parte L'Aquisizione

lunedì 24 aprile 2006

Storia di un'analisi forense informatica

La scienza forense applicata all'informatica è ancora una materia giovane ed in via di sviluppo,
ma specialmente al costante inseguimento della tecnologia.
Infatti i computer crescono di numero e di capacità, gli hard disk sono sempre più grandi e le memorie
si sprecano in vari dispositivi, dai cari floppy disk ai DVD, alle USB Flash Memory, alle memory card, 
ai cellulari ecc. ecc.
L'autorità Giudiziaria, spesso non riesce a star dietro a tutto questo ed inoltre non sa come comportarsi 
di fronte a dei dati così facilmente alterabili e, a volte, deperibili, quindi è compito degli investigatori
del futuro adottare un protocollo comune di repertaggio, custodia ed analisi dei dati.
La scelta comune degli strumenti di repertaggio è caduta sull'Open Source Software, ossia tutti quei programmi
il cui codice è disponibile al pubblico, in modo tale da non poter sollevare il "ragionevole dubbio", che il programma 
di acquisizione o analisi faccia cose strane, non dimentichiamo che il magistrato non è un informatico e quindi
potrebbe accettare l'ipotesi che alcune prove digitali siano adulterate da software di cui non si sa il codice
sorgente, così da invalidare tutta l'indagine.

Fase 1 - L'acquisizione

Prima di acquisire dei dati da un hard disk imputato, bisogna fugare ogni dubbio, che l'investigatore
abbia potuto adulterarlo, ecco che si deve bloccarlo in scrittura.
Per far questo si possono usare dei meccanismi hardware, i cosiddetti "write blocker", che sono anche un tantinello
costosi, oppure far partire il computer sequestrato da una distribuzione Live di Linux costruita per la Forensics and Incident Response, che "montano" gli hard disk del computer in sola lettura.
Le distribuzioni più famose sono: Helix, F.I.R.E. e IrItaly Live CD.
In questo caso useremo Helix Ver. 1.7 (07/03/2006)
Ore 10:00 
Si sballa il computer sequestrato e si apre il case.
Stacchiamo l'alimentazione elettrica dall'hard disk
Accendiamo il computer e capiamo come si entra nel BIOS.
Controlliamo che come è regolato l'orologio del BIOS e la sequenza di Boot.
Impostiamo il boot da Cd-Rom.
Spegniamo il computer e riavviamo, sempre l'hard disk staccato, così testiamo che il boot da cd funzioni bene.
Dopo aver verificato che parte il cd, spegniamo il computer, attacchiamo l'hard disk esterno USB, che ci servirà per conservare la nostra copia dell'hard disk originale, e riavviamo (con un ditino sul tasto power...non si sa mai)
Dobbiamo EVITARE assolutamente che il computer parta dall'hard disk, perchè potrebbe scrivere qualcosa (file di swap, ecc.) 
e cancellare/adulterare il contenuto del disco da analizzare.

Ore 10:30

Siamo nel sistema Helix, un ambiente grafico a finestre che ci mette a disposizione vari strumenti di acquisizione ed analisi,
come il celeberrimo Autopsy, l'Adepto, il foremost e PyFlag, visualizzatori di immagini, suoni e video, un'intera suite 
di Open Office ecc. ecc.
Subito ci segnamo il numero di serie ed il modello dell'hard disk (hdparm -I /dev/hda oppure lanciando ADEPTO e scegliere l'hd sorgente), poi, prima di iniziare le copie, montiamo in scrittura/lettura l'hard disk esterno:
Lanciamo il Root Terminal e scriviamo mount -o rw /dev/sda1 /media/sda1 + Invio

Adesso è il momento di iniziare l'acquisizione vera e propria...lanciamo Adepto, scriviamo il nome dell'investigatore ed il numero
del caso, poi scegliamo il drive sorgente /dev/hda ed il drive destinazione, stiamo attenti a NON scegliere /dev/sda1 altrimenti effettuerremmo
una clonazione del disco, mentre noi vogliamo un file immagine, più facile da gestire. Infatti il file immagine, image.img, può essere compresso, diviso in pezzi di varia grandezza e l'hd esterno mantiene la sua capacità, mentre in caso di clonazione, l'hd esterno sarà visto della stessa dimensione dell'hd clonato.
Scegliamo il nome del file immagine (es. image.img) e poi nelle opzioni di copia scegliamo l'SDD (che è una versione più veloce del famoso DD
di Linux), infine scegliamo l'hash MD5 per validare digitalmente la copia e confrontarlo con l'hash del disco originale, in modo da fugare
ogni dubbio che la copia non sia uguale, bit per bit, al disco originale.
Ed ora premiamo START, possiamo uscire coi nostri amici inquirenti a farci un luuuungo caffè, perchè la velocità media (con USB 2) di copia è 1Gb al minuto, quindi se l'hard disk da copiare è di 80Gb ci vorranno 80 minuti.

Il caffè è finito!

Siamo tornati dal bar è vediamo che l'Adepto sta effettuando la verifica dell'hash, altri 80 minuti...andiamo al ristorante.

Il pranzo è finito!

Ore circa le 13:30
Finalmente vediamo che l'Adepto ha terminato il suo lavoro, cliccando sulla tab LOG, vediamo un file di log che dice tutto del computer 
inquisito (schede istallate, hard disk, ecc.) ed infine le operazioni compiute e il confronto dei due codici hash, originale e copia
che devono coincidere e ...per fortuna coincidono!
Adesso salviamo il file di log di adepto su hd esterno e spegniamo il computer.
Possiamo cominciare a compilare i documenti che sintetizzano cosa abbiamo fatto ed i documenti di "catena di custodia", chi prende
la copia in consegna, chi è il testimone, a che ora viene consegnata e dove sarà ubicata (laboratorio dell'investigatore, ecc.)
Poi alla riconsegna della copia scriveremo cosa ne abbiamo fatto, per esempio, masterizzata su più DVD da consegnare agli inquirenti, che devono avere la copia per uso d'ufficio e per eventualmente fornirla alla difesa.
Prima di passare all'analisi proviamo ad attaccare l'hard disk esterno alla nostra forensics station, che se ha solo Windows Xp e l'hard disk esterno è stato formattato in EXT2 o EXT3 non riusciremo a leggere.
E' utile aver il software Ext2IFS che installa dei drivers in windows, che permettono di leggere gli hard disk formattati in EXT3 o EXT2 come se fossero hard disk NTFS o Fat, così da poter usare tutti gli strumenti di analisi o masterizzazione, che siamo abituati ad usare sotto windows.

Segue la seconda parte intitolata "L'ANALISI"