Files allo Specchio

Negli ultimi tempi la computer forensics è uscita dalla nicchia specialistica in cui era relegata dalla sua nascita sia grazie ai telefilm polizieschi, ormai tutti abbondantemente arricchiti da elementi di indagine scientifica, sia dai fatti di cronaca, uno su tutti l’omicidio di Garlasco.

La computer forensics (o “informatica forense”) è secondo la definizione che ne da Wikipedia “la scienza che studia l’individuazione, la conservazione, la protezione, l’estrazione, la documentazione e ogni altra forma di trattamento del dato informatico per essere valutato in un processo giuridico e studia, ai fini probatori, le tecniche e gli strumenti per l’esamemetodologico dei sistemi informatici”.

Compito del perito è quello di trovare tracce utili a fini probatori. Le tracce possono essere file cancellati, informazoni sull’accesso al computer o ad un determinato programma. Nemesi della computer forensics è l’anti-forensics. Esistono tecniche che permettono di ostacolare l’azione degli invetigatori (eliminazione delle tracce, occultamento di file compromettenti…).

Tra le tecniche usate per nascondere dati le più usate sono sicuramente la crittografia e la steganografia; ma esistono anche tecniche di data-hiding non ortodosse, più artigianali ma non necessariamente meno efficaci.

Curiosando tra i miei feed ho notato un articolo di Gianni Amato (“Data hiding: inversione di byte”) in cui viene proposta un’intelligente tecnica: l’inversione di un file per byte, A rendere ancora più radicale questa idea è Denis Frati, che si spinge oltre e ipotizza (realizzando anche un codice di esempio) l’inversione di un file (o gli elementi caratterizzanti, come header o footer) bit a bit.

Per “inversione” di un file si intende la riscrittura del file rovesciando i byte (o i bit) che lo compongono. Sarebbe come rovesciare una frase (o un articolo, un libro) riscrivendolo al contrario!

L’utilità di questa tecnica è evidente. I programmi che effettuano la ricerca dei file basano il proprio funzionamento sulla ricerca di determinate stringhe di byte (firme): il rovesciamento dell’ordine delle informazioni, renderebbe vana la ricerca. Inoltre, se l’analisi fosse effettuata da un investigatore particolarmente curioso, che si prendesse la briga di analizzare il file manualmente con un editor esadecimale, la firma “rovesciata” sfuggirebbe anche all’occhio attento dell’esperto,specialmente nel caso di un rovesciamento bit per bit.

Facciamo un esempio pratico. Un’immagine jpeg ha nell’intestazione la seguente firma:

ffd8 ffe0 0010 4a46 4946 0001 0201 00c8  ......JFIF......

rovesciando questa sequenza di byte si otterrebbe:

c800 0102 0100 4649 464a 1000e0ff d8ff  ......FIFJ.....

Già abbastanza per mettere ko un programma, ma non l’occhio attento dell’esperto. Con un’inversione a bit:

I primi due byte: 0xFFD8 = 1111111111011000 (binario)

diventerebbero:

0001101111111111 (binario) = 0×1BFF

In questo modo il file passarebbe inosservato, anche senza far ricorso a sofisticati algoritmi e programmi crittografici per celarlo. Gli investigatori sanno bene che anche un particolare banale può condurre un’indagine in un vicolo cieco. Un buon investigatore informatico non deve solo affidarsi alla potenza dello strumento tecnologico, ma deve anche avere la creatività e la capacità di immaginare scenari non convezionali, come può essere l’ingegnoso metodo di data hiding presentato in questo articolo.

One comment to “Files allo Specchio”
  1. Pingback: Technotizie.it

Comments are closed.