Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Analisi forense con Linux: i migliori programmi

La forensic analysis è una materia complessa ma con Linux possiamo sbrogliare la matassa: ecco i migliori tool per l'analisi forense disponibili per Linux.
La forensic analysis è una materia complessa ma con Linux possiamo sbrogliare la matassa: ecco i migliori tool per l'analisi forense disponibili per Linux.
Link copiato negli appunti

Uno dei tantissimi campi di applicazione dei sistemi basati su Linux è quello della cosiddetta computer forensics, che in italiano è generalmente tradotto con la locuzione “informatica forense”. Per analisi forense si intende quella disciplina che si occupa di recuperare dati informatizzati ed analizzarli, per ricavarne informazioni sensibili. La finalità di queste operazioni, generalmente, è quella di utilizzare le informazioni reperite per risolvere dispute o provare tesi nell’ambito di un processo giuridico. Spesso gli strumenti principali adottati dagli esperti di analisi forense sono software open source, gratuiti ed installabili o pre-installati su distribuzioni Linux (altrettanto free ed open source).

In questo articolo vedremo alcuni dei principali tool utilizzati, le distribuzioni adottate generalmente per questi scopi ed alcuni dei principali campi di applicazione in cui l’utilizzo di questi strumenti può essere di grande aiuto, se non indispensabile.

L’analisi forense e le sue esigenze

Facciamo subito un brevissimo accenno relativo a ciò di cui si occupa l’informatica forense. Dal momento che una definizione sommaria l’abbiamo già data, diciamo subito che possiamo suddividere questa disciplina in due parti:

  • la post-mortem forensics, tramite la quale si cerca di recuperare ed analizzare i dati su una macchina “spenta” (o “morta”, che dir si voglia);
  • la live forensics, che si occupa di recuperare dati apparentemente perduti o inaccessibili, sfruttando una macchina attiva.

Per spiegare questa differenza con qualche esempio, diciamo che si parla di post-mortem forensics se si utilizzano tool per il recupero di dati erroneamente (o volutamente) cancellati da un hard disk, mentre se vogliamo cercare di ottenere dati da memorie volatili come le RAM (che, una volta spento il PC, vengono resettate), adotteremo tool pensati per la live forensics.

Una volta chiarita questa differenza, non resta che dare un’idea di ciò che possiamo fare con Linux utilizzando i tool per l’analisi forense. Prima, quindi, cerchiamo di capire quali ambiti di questa scienza possono essere d’interesse per un utente medio.

In genere, cercando di essere meno teorici e più pratici, l’analisi forense si occupa del reperimento di dati informatizzati, in termini (ad esempio) di:

  • recupero di file eliminati
  • controllo e rilevazione di contraffazioni nei dati digitali
  • recupero di informazioni cifrate
  • altro

Per esempi come i precedenti, esistono diversi tool eseguibili su Linux (per la verità molti di essi sono anche multipiattaforma). Ma la vera sfida che questi strumenti devono superare riguarda la necessità di non modificare o danneggiare, neanche minimamente o temporaneamente, nessuna delle periferiche che possono contenere dati sensibili. Per raggiungere questo delicato scopo, si possono utilizzare delle soluzioni hardware, che forzano l’utilizzo di alcune periferiche (quali hard disk, pendrive o altri supporti generalmente scrivibili) ad essere adoperati in modalità di sola lettera. Dispositivi di questo tipo sono conosciuti come write blocker, e sono largamente utilizzati nell'ambito dell'analisi forense.

Figura 1. Un write blocker connesso ad un hard disk (fonte: it.wikipedia.org)
Un write blocker connesso ad un hard disk (fonte: it.wikipedia.org)

Ciò che rende Linux molto utile nell'ambito dell'analisi forense, però, è il fatto stesso che si tratta di una soluzione software, quindi a costo zero e spesso molto più pratica ed accessibile. Per questo motivo, sono state messe a punto alcune distribuzioni ad-hoc, che includono tool di recupero ed analisi dei dati, e che sono in grado di assicurare un funzionamento di sola lettura su ogni memoria secondaria installata sul computer.

Nella prossima sezione, forniremo una breve panoramica di alcune delle distribuzioni Linux più utilizzate in analisi forense.

Distribuzioni per l’informatica forense

Esistono diverse distribuzioni pensate per essere utilizzate per scopi affini all’informatica forense. Ed alcune di esse, proprio per soddisfare al meglio le esigenze insite di questa disciplina, sono praticamente uniche, al punto da essere considerate veri e proprio riferimenti dalla IISFA (International Information Systems Forensics Association).

DEFT Linux

La prima distribuzione che citiamo è DEFT Linux (dove per DEFT si intende Digital Evidence & Forensics Toolkit), distribuzione nata nel 2005 per mano di Stefano Fratepietro (un italiano!), nell’ambito di un corso di Informatica Forense tenuto presso l’Università degli Studi di Bologna, e successivamente migliorato anche grazie all’intervento diretto della IISFA. Uno dei principali obiettivi perseguiti nello sviluppo di questa distribuzione è la possibilità di eseguirla in modalità live (dal momento che può essere molto utile non installarla, al fine di non modificare i dati presenti sulle memorie di massa), nonché la sua esecuzione esclusivamente in RAM, senza alcun tipo di meccanismo di swap, in modo da accedere a tutte le memorie secondarie in sola lettura, e non accedendovi mai in scrittura.

Figura 2. L’interfaccia del desktop di DEFT Linux (fonte: www.deftlinux.net)
L’interfaccia del desktop di DEFT Linux (fonte: www.deftlinux.net)

L’ultima versione di DEFT Linux è basata su Xubuntu, ed include tutta una serie di tool fondamentali per l’analisi forense, quali Digital Forensics Framework, Autopsy, Guymager, Bulk extractor e molti altri. Con l’ultimo rilascio, inoltre, DEFT Linux può essere utilizzata anche per analizzare dispositivi mobili. Per tutte le informazioni specifiche ed i dettagli, vi rimandiamo alla pagina ufficiale di questa distribuzione che (come dichiarato sullo steso sito ufficiale) è al “100% made in Italy”.

Backtrack

Figura 3. Il desktop di Backtrack (fonte: invisiblespeaks.blogspot.it)
Il desktop di Backtrack (fonte: invisiblespeaks.blogspot.it)

Un’altra distribuzione che può essere (ed è) utilizzata per scopi vicini all’analisi forense è Backtrack. Bisogna dire, però, che la destinazione originale di questa distribuzione non era relativa alla computer forensics, ma piuttosto si avvicinava maggiormente alla sicurezza informatica, e per questo ha la fama di essere utilizzata da molti hacker per gli scopi più vari. Ad ogni modo, essa può essere avviata in live DVD, utilizzando una modalità adatta all’informatica forense (cioè, come nel caso di DEFT Linux, senza effettuare alcuno swap, e mantenendo inalterate le memorie secondarie). Anche Backtrack include molti tool per l’informatica forense; è, inoltre, molto supportata e conosciuta, ed è una derivata (non ufficiale) di Ubuntu.

Figura 4. Boot di Backtrack: la versione “Forensics” per l'analisi forense disabilita lo swap (fonte: www.backtrack-linux.org)
Boot di Backtrack: la versione “Forensics” per l'analisi forense disabilita lo swap (fonte: www.backtrack-linux.org)

Per chi volesse avere maggiori dettagli su come installare Backtrack, o su ulteriori funzionalità in merito, segnaliamo il sito ufficiale del progetto.

Altre distribuzioni Linux per l’informatica forense

Le due distribuzioni precedentemente citate, in realtà, sono solo alcune tra quelle adatte all’analisi forense, che la community Linux ci mette a disposizione. Elencarle tutte può essere un’impresa, ma ci viene in aiuto DistroWatch.com, sito di riferimento per tenere d’occhio tutte le ultime novità in termini di distribuzioni Linux, e che gode di un database di distribuzioni abbastanza corposo e costantemente aggiornato. Effettuando un’opportuna ricerca, DistroWatch ci elenca qualche altra distribuzione interessante, dedicata proprio all’informatica forense. Di seguito ne riportiamo qualcuna:

  • Kali Linux: si tratta di una distribuzione basata su Debian, che include un’insieme di tool per la sicurezza informatica e la computer forensics. Supporta le architetture ARM, diversi desktop environment ed è costantemente aggiornata. Può essere eseguita in forensics mode, esattamente come visto nel caso di BackTrack (ossia in una modalità apposita per l'analisi forense)
  • CAINE (Computer Aided INvestigative Environment): basata su Ubuntu, è una distribuzione live anch'essa italiana creata espressamente da Nanni Bassetti per essere utilizzata in ambito di computer forensics. Essa si pone tre obiettivi principali: offrire un insieme di tool per l’analisi forense completo e soddisfacente che sia in grado di creare un ambiente di investigazione affidabile; fornire un’interfaccia grafica abbastanza user-friendly; compilare un report finale dell’investigazione forense, che sia completo e generato in maniera il più automatizzata possibile
  • Matriux: questa distribuzione è pensata per scopi vicini sia alla sicurezza che alle investigazioni forensi, ma allo stesso tempo può essere utilizzata come sistema operativo desktop, essendo basata su Debian e fornendo tutti i software ad esso correlati. Matriux è basata su un kernel Linux ad-hoc, ottimizzato per i servizi tipici che questa distribuzione ha lo scopo di offrire
  • Swift Linux: è una soluzione leggera, adatta anche a PC con poca disponibilità in termini di risorse di elaborazione, basata su Linux Mint, ma con il window manager IceWM. Swift Linux include alcune applicazioni non presenti nelle distribuzioni di origine, come ad esempio BleachBit (un tool per liberare lo spazio, e ripulire totalmente un hard disk da eventuali informazioni private residue, del quale parleremo più avanti), ma anche molti altri tool per l’analisi forense ed il recupero dei dati.

Una volta presentata questa lista di distribuzioni per l’informatica forense, vediamo quali tool possono tornare utili per svolgere i compiti tipici di questa disciplina.

Recuperare i file eliminati

Iniziamo, a questo punto, a parlare di situazioni e tool tipici della post-mortem forensics.

La copia forense

In linea di massima, quando si ha a che fare con supporti di memorizzazione di massa, dai quali si vogliono estrarre informazioni sensibili, la prima cosa che è necessario potere effettuare in maniera agevole è la cosiddetta copia forense (anche detta bit-stream image), ovvero una copia bit-a-bit di tutto il contenuto di un supporto, che clona anche le zone di spazio “libero”. Al fine di capire l’utilità di questo processo, è bene chiarire in poche parole cosa succede quando si elimina un file da un hard disk.

Quando rimuoviamo “definitivamente” un file salvato su una qualche posizione del nostro file system, in realtà non facciamo altro che etichettare una porzione del dispositivo di memorizzazione (quella in cui risiede il file eliminato) come “spazio libero”. In questo modo, diciamo al sistema operativo che, se necessario, quella porzione di spazio può essere utilizzata per nuovi file o dati, e quindi sovrascritta. Ma dopo l’eliminazione, in effetti, il dato rimosso rimane esattamente dov’era subito prima.

La copia forense, quindi, non copia soltanto i file memorizzati nello spazio etichettato come occupato, ma anche tutto il cosiddetto “spazio libero”, poiché esso potrebbe contenere dati sensibili che possono essere recuperati. Esistono diversi tool dedicati ad ottimizzare il processo di copia forense (che, come qualcuno dei lettori immaginerà, può essere molto lungo). Uno di questi è Guymager (le cui funzionalità possono essere approfondite tramite il sito ufficiale), ma è comunque possibile utilizzare strumenti molto più comuni, come il comando dd, presente su molti sistemi UNIX-like.

Figura 5. L’interfaccia di Guymager, software di analisi forense (fonte: guymager.sourceforge.net)
L’interfaccia di Guymager, software di analisi forense (fonte: guymager.sourceforge.net)

Il file carving

Il recupero di dati da zone di spazio libero dei dispositivi di memoria fa parte di un più ampio insieme di operazioni, che rientrano nel cosiddetto processo di file carving. Esistono diversi tool pensati per questo scopo; molti di essi sono eseguibili nativamente su Linux, mentre altri (pensati per Windows) possono essere installati ed utilizzati su Linux tramite Wine.

Uno di questi tool è Scalpel, e consente di recuperare i file rimossi analizzando lo spazio libero del file system. Esso può essere installato tramite apt su tutte le distribuzioni Debian-based, tramite il comando seguente:

sudo apt-get install scalpel

Una volta installato Scalpel, è necessario configurarlo, per far sì che il processo di recupero dei file eliminati si concentri sul recupero dei soli file di interesse. Senza un’opportuna configurazione, infatti, Scalpel recupera tutto ciò che riesce a trovare, il che può essere notevolmente fastidioso se si considerano le miriadi di file che vengono eliminati ogni giorno da vari programmi in background, senza che nemmeno ce ne rendiamo conto.

Per configurare Scalpel, apriamo con un editor di testo il file scalpel.conf, che in genere è situato in /etc/scalpel/scalpel.conf. Per avere un’idea di come esso si presenta, è possibile visionarlo direttamente dalla pagina di Github del progetto. Si tratta, in sostanza, di una lista di righe (tutte, di default, invalidate da un cancelletto (#) posto all’inizio), ognuna delle quali è relativa ad un tipo di file, e che possono essere attivate rimuovendo il cancelletto iniziale. Quindi, se vogliamo recuperare i soli file .zip, modificheremo la sezione ad essi relativa, come mostrato nella figura seguente:

Figura 6. La sezione relativa ai file .zip del file scalpel.conf
La sezione relativa ai file .zip del file scalpel.conf

Una volta configurato, possiamo lanciare Scalpel digitando da terminale il comando seguente:

sudo scalpel /dev/sdaX -o ouput_directory

dove per /dev/sdaX si intende la partizione dell’unità da cui si vogliono recuperare i dati.

Per tutti i dettagli su Scalpel, potete sempre dare un’occhiata al manuale tramite il comando:

man scalpel

Ovviamente, questo software non è l’unico adatto a svolgere questo compito. Altri software simili sono Foremost o Photorec, e vi segnaliamo un articolo che li presenta in maniera molto sintetica, ma sufficiente a farvi un’idea.

Proteggersi dal file carving

Se abbiamo spiegato che cos’è il file carving, possiamo anche descrivere in che modo è possibile eliminare in maniera sicura tutti i file che potrebbero essere ancora presenti nello spazio libero, al fine di evitare di poterli recuperare tramite file carving. Questo genere di necessità è tipica di chi vuole proteggere i propri dati personali, ad esempio subito prima di vendere un PC o uno smartphone, per evitare che il nuovo possessore utilizzi tool di file carving per recuperare informazioni in modo non autorizzato. Ma interessa molto anche a coloro i quali vogliono nascondere attività illecite, rimuovendo ogni prova di esse che potrebbe essere presente tra i file residui dello spazio libero.

Esistono alcuni software in grado di liberare completamente tutto lo spazio libero residuo, semplicemente scrivendo un valore casuale o nullo su ogni singolo bit dello spazio marcato come libero. Un tool su tutti è il già citato BleachBit.

Figura 7. L’interfaccia grafica di BleachBit per prevenire l'analisi forense (fonte: wikimedia.org)
L’interfaccia grafica di BleachBit per prevenire l'analisi forense (fonte: wikimedia.org)

BleachBit può essere installato scaricando i pacchetti opportuni direttamente dalla pagina di download del sito ufficiale, e la pulizia dello spazio libero può essere effettuata selezionando, dall’interfaccia di BleachBit, la voce Free disk space sotto System, e cliccando sul pulsante Clean. In realtà questo software consente anche di ripulire molte altre informazioni, come i log delle chat di Skype, le cache dei browser, gli appunti, la memoria (intesa come RAM) e molto molto altro. Non è un caso se l’esperto di sicurezza e crittografia Bruce Schneier ha dichiarato che “da quando ho iniziato a lavorare con i documenti di Snowden, ho iniziato ad utilizzare […] BleachBit”.

Analizzare le memorie volatili

L’ambito dell’analisi e del recupero delle informazioni dalle memorie volatili (come le RAM) è, in realtà, un po’ più complesso da mettere in pratica, perché è sufficiente spegnere il PC per far sì che tutte le migliori tecniche di live forensics vadano a farsi benedire. Esistono tuttavia dei software mirati al recupero di tali informazioni, che possono essere utilizzati in alcuni casi (e, ovviamente, software come BleachBit sono in grado di ripulire il contenuto della RAM, al fine proprio di mettere i bastoni tra le ruote agli esperti di live forensics).

Uno strumento interessante che si occupa di questa sezione della live forensics (conosciuta anche come memory forensics) è Volatility. Si tratta, in realtà, di un framework costituito da una serie di tool in grado di estrarre informazioni dalle memorie volatili. Sostanzialmente, con Volatility è possibile effettuare il dump della memoria (cioè la copia di tutto il contenuto della RAM su una porzione del file system), che può in seguito essere utilizzato per recuperare informazioni con altri tool. Volatility è un software multipiattaforma, compatibile con sistemi a 32 e 64 bit, e può essere utilizzato anche per recuperare dati da virtual machine o da snapshot del sistema operativo. Per tutte le informazioni a riguardo, rimandiamo alla pagina del progetto.

Altri tool per l’analisi forense

Uno dei tool più interessanti che un esperto di analisi forense dovrebbe conoscere è DFF, acronimo che sta per Digital Forensics Framework), costruito su una base di API studiata apposta per implementare funzionalità tipiche dell’analisi forense, e che consente di effettuare molte delle operazioni descritte in precedenza (file carving, analisi delle memorie volatili), ma anche molte altre. Ad esempio, esso può essere eseguito anche su Windows per recuperare informazioni dal registro di sistema; è in grado, inoltre, di analizzare molte tipologie di file system, ed è compatibile con i formati di file più utilizzati nell’ambito dell’analisi forense; infine, è in grado di ricercare, recuperare, nonché ricostruire dati e meta-dati corrotti o eliminati dal file system. Inoltre, poiché per lo sviluppo di questo tool sono state utilizzate della API ad-hoc, è possibile sfruttare i numerosi moduli software che lo compongono al fine di implementare funzionalità complesse che risultino dall’integrazione di essi. Per tutti i dettagli, rimandiamo al sito ufficiale del progetto, nonché alla relativa wiki.

Un altro campo d’interesse dell’analisi forense, ma di profilo più vicino alla sfera software, è il recupero di dati dai browser (quali le password o la cache) o da applicazioni di messaggistica (come Skype). Questo genere di operazioni possono essere effettuate tramite una miriade di tool, alcuni installabili direttamente come plugin dei browser, o addirittura in grado di funzionare anche dopo avere disinstallato il browser (a patto che, ovviamente, questa disinstallazione non abbia ripulito anche la cache).

A queste necessità si aggiungono software per il password cracking, utilizzabili per riuscire ad accedere ad informazioni cifrate contenute, ad esempio, all’interno di archivi .zip protetti. Un esempio è fcrackzip, del quale segnaliamo una semplice ed efficace guida all’uso, e che comunque è solo uno dei tantissimi esempi che il web e la community open source ci offre.

Infine, un campo molto più sperimentale è quello denominato image forensics, che si occupa di verificare se una o più immagini digitali possono essere state contraffatte o meno, tramite l’utilizzo di tecniche ed algoritmi molto sofisticati. Vicino a questo ambito vi è quello della steganografia applicata alle immagini digitali. Si tratta, in sostanza, di tecniche per nascondere messaggi all’interno delle immagini, senza che ciò sia visibile ad un utente comune. Questo genere di tecniche possono essere sconfitte tramite software di analisi mirati; esistono, però, alcune applicazioni che consentono di nascondere messaggi all’interno di immagini, ed uno di questi è Steghide. Dal momento che rischiamo di uscire fuori dall’ambito dell’informatica forense, ci limitiamo a segnalare il sito ufficiale di questa soluzione.

Ti consigliamo anche