INFORMATICA - ANTI-FORENSICS
(COUNTER-FORENSICS)

Come non far funzionare correttamente gli strumenti e le teorie della digital forensics...

Marzo 2009

Premessa

In un certo senso l'anti-forensics è nato assieme alla computer forensics e quindi alcuni anni prima che il digital forensics fosse definito accademicamente almeno nelle sue linee generali. Non appena, infatti, i primi strumenti della computer forensics iniziarono a mostrare i loro risultati portando a galla dati cancellati, parziali, ecc. da memorie di massa partirono una sequela di domande, da parte di molti, ai vari specialisti, su come fosse possibile evitare tali risultanze in caso di necessità.

Definizione

In [46, 61, 62] si cerca di dare una definizione unitaria di anti-forensics che, ad oggi, è di difficile individuazione. Molti infatti sono gli approcci possibili che giustificano lo studio dell'anti-forensics che si possono riassumere nelle seguenti aree:

1) Privacy: una parola che in Italia ha una importanza determinante a seguito di una legge estremamente stringente e rigorosa che la riguarda. Gli utenti di sistemi digitali di comunicazione (o di ormai rarissimi sistemi stand-alone) sovra-generano dati inerenti le loro attività, nella maggioranza dei casi senza saperlo. Questo vuole dire che qualsiasi attività svolgano lasciano una "scia" di tracce. L'eliminazione di tali tracce, o meglio la possibilità di farlo, rimane un diritto essenziale dell'individuo.

2) Data retention: come analizzo nelle pagine su volatilità e persistenza dei dati in questo sito, i dati cancellati nelle memorie, siano esse di massa o centrali, hanno un grado di persistenza molto alto che giustifica le attività di recovery e carving tipiche della digital forensics. Qualsiasi organizzazione, all'atto di dismettere le sue attrezzature digitali o di trasferirle da un utente ad un altro, può avere la necessità di ripristinare una stato della memoria che non conservi traccia del precedente impiego. Si noti che il garbaging dei dati da memorie dismesse è un fenomeno largamente diffuso.

3) Anti-Detection & Anti-IDS: esistono delle situazioni in cui è necessario operare (anche legalmente) in regime di non-osservabilità su sistemi digitali di comunicazioni in genere. In questo senso anti-forensics equivarrebbe ad impedire ad amministratori umani, firewall ed Intrusion Detection System di raccogliere tracce sia durante la comunicazione che dopo essa.

Prima di andare avanti è bene sottolineare l'importanza del punto (2) soprattutto per i tecnici forensi che si occupano del settore computer forensics. L'uso estensivo di memorie occupate temporaneamente da dati investigativi propone il problema di "ripulirle" costantemente e con sicurezza garantendo l'affidabilità del dispositivo onde evitare: (I) che dati di casi differenti vadano ad inficiarsi a vicenda; (II) si generino degli errori fisici nel disposivo a causa dell'impiego massivo (le azioni di "ripulitura" sono molto onerose per le memorie di massa). Tutti i citati aspetti sono tenuti da conto nella seguente definizione di anti-forensics data in [46]:

"...we will consider anti-forensics to be any attempts to compromise the availability or usefulness of evidence to the forensics process. Compromising evidence availability includes any attempts to prevent evidence from existing, hiding existing evidence or otherwise manipulating evidence to ensure that it is no longer within reach of the investigator. Usefulness maybe compromised by obliterating the evidence itself or by destroying its integrity."

Un altro importante aspetto è quello di "complicare" o rendere praticamente impossibili le indagini tecniche come nella definizione data in [61]:

"...Anti Digital Forensics concerns an approach to manipulate, erase, or obfuscate digital data or to make its examination difficult, time consuming, or virtually impossible."

Quindi bisogna capire che anti-forensics non è solo distruggere o nascondere le tracce quanto attaccarne anche solo l'integrità ossia renderle incerte o poco affidabili oppure renderne estremamente lungo, difficoltoso o costoso il recupero o l'individuazione. Nell'ambito penale di cui mi occupo, ho incontrato diverse situazioni in cui casi investigativi con fonti di prova digitali chiare e spesso inoppugnabili venivano archiviati a seguito di dubbi che si creavano in dibattimento sulla loro provenienza ed affidabilità (il lecito dubbio, molte volte dovuto all'ignoranza nel settore, distrugge più dei tool anti-forensi).

Categorie, Tool anti-forensics ed efficacia

Le categorie ormai individuabili di anti-forensics [61, 62] cui i tool commerciali ormai disponibili [47, 63] fanno riferimento, sono di massima le seguenti:

a) Distruzione delle fonti di prova: che consiste generalmente nel cancellare o sovrascrivere con valori casuali i dati che costituiscono la fonte di prova (wiping, randomization, ecc.), siano essi dati o metadati

b) Nascondere le fonti di prova: non c'è bisogna di cancellare qualcosa di non individuabile. Questo è abbastanza chiaro a chi svolge attività di analisi forense su grandi masse di dati. Spesso cancellare un file può risultare inutile dato che conviene mistificarlo fino a confonderlo con migliaia di altri similari. Lo stesso dicasi per i cluster ed i blocchi. Sistemi come la crittografia e la steganografia sono largamente impiegati in questo senso.

c) Offuscare le fonti di prova: talvolta non è necessario rendere i dati o i metadati non individuabili ma semplicemente molto difficili da individuare. Il processo investigativo consuma risorse e qualora queste siano troppo alte rispetto al "ritorno" dell'indagine tecnica, quest'ultima si evita. Si pensi alla grande quantità di indagini di crimini basati su email anonime che rimangono spesso non affrontati.

d) Evitare la creazione delle fonti di prova: un tecnico esperto o un tool adeguato può intervenire sul sistema digitale limitando al massimo il numero di fonti di prova.

e) Creare false fonti di prova: in assoluto il miglior metodo anti-forensics a me noto e che risulta, per esperienza, di miglior attacco all'attività del digital forensics. Esso ha successo in quanto: (I) crea un overload di lavoro per il tecnico forense e quindi allunga enormemente i tempi di analisi; (II) rende meno attendibili tutte le fonti di prova ottenute in quanto genera contraddizioni tra le stesse.

f) Sfruttare bug noti dei principali tool di indagine nel settore: questo si può considerare come il più complesso e mirato degli approcci al digital forensics ed a mio avviso piuttosto rischioso. Le svariate modalità di indagini possibili nel mondo digitale rende difficile individuare quali bug sfruttare. Anche nell'ipotesi di attaccare prodotti noti ed in numero ristretto come EnCase e FTK si potrebbe avere successo ma stabilire quali versioni e patch verranno impiegate per l'analisi dall'investigatore è praticamente impossibile.

Tali attività hanno le seguenti contro-indicazioni:

(a) Metodo di facile implementazione ed automatizzazione nel quale la distruzione delle fonti di prova deve passare attraverso l'impiego di strumenti hardware e/o software che spesso, loro malgrado, lasciano a loro volta tracce dell'attività di distruzione.

(b) Metodo di difficile implementazione automatica, richiede preparazione ed oculatezza nel metodo di offuscamento nonchè una specifica organizzazione (sarebbe meglio dire "disorganizzazione") del sistema in uso.

(c) L'offuscamente ha senso quando il sistema in gioco è molto complesso e tratta dati che variano con molta dinamicità altrimenti diviene facilmente attaccabile.

(d) L'impostazione di tool o parametri del sistema che evitano l'alimentazione di LOG e la realizzazione di comuni tracce è a sua volta l'indicazione di una precisa volontà di hiding che a livello investigativo è un indice prezioso.

(e) Il metodo è complesso e di difficile se non impossibile automatizzazione (dipende dal livello di realizzazione delle prove false che si vuole raggiungere) e deve essere guidato da un tecnico esperto.

(f) Richiede una notevole competenza tecnica e quindi sono metodi applicabili sono da investigatori tecnici nel settore e/o specialisti.

Sempre in [47], dal testing di alcuni dei più noti tool anti-forensics commerciali (Window Washer-1, Window Washer-2, Privacy Expert, Secure Clean, Internet Cleaner, Evidence Eliminator, Cyber Scrub), si conclude che comunque lasciano tracce inequivocabili della loro attività/installazione nonchè non rimuovono totalmente tutte le informazioni che riguardano l'uso degli applicativi da parte dell'utente. Ovviamente i tool anti-forensics sono oggetto di continui studi ed aggiornamenti che ne ampliano le funzionalità ma, concorrentemente, si ampliano le attività che siamo in grado di effettuare sui sistemi digitali e le loro interazioni da cui si evidenziano nuove tipologie di possibili tracce sempre più complesse da determinare e quindi eliminare o offuscare/evitare.

Conclusioni

L'anti-forensics è un settore che necessita ancora di diversi studi, i quali, ovviamente sono sia alimentati che alimentano da/quelli del DF. Ovviamente, ad oggi, un'azione anti-forensics non può essere biecamente lasciata nelle mani di un tool automatico. Deve dipendere da un'attenta impostazione del sistema in uso, dall'impiego di più tool anti-forensics che operano sinergicamente e periodicamente. Infine deve prevedere un continuo intervento umano per la sovra-generazione e randomizzazione delle fonti di prova presenti.

La dipendenza dai tool è un problema che, in questo settore, è similare a quello che si presenta per il DF nei laboratori che operano su larga scala. I tecnici forensi, infatti, quando operano su grandi numeri di reperti tendono a fossilizzarsi su tool semplici o che comunque hanno imparato ad usare molto bene per poi affidarsi a loro ad un livello tale da non incrociare i risultati con quelli di altri strumenti. In questo modo, purtroppo, si perdono fonti di prova e questo stesso "senso di sicurezza" porta ad un anti-forensics pieno di tracce...