Anti-Forensics alcune tecniche di base (di Nanni Bassetti)
Ho appena finito di leggere un interessante articolo di Mark Whitteker su ISSA Journal, che riassume alcune tecniche di base dell’anti-forensics, trovo questo genere di articoli molto costruttivi, perché non dicono niente di nuovo, ma servono ad accorpare e sintetizzare dei concetti, cosa che è utile, specialmente in un settore così ricco di tecniche da dover ricordare.
Cos’è l’anti-forensics? Si tratta di tutti quegli escamotages, che servono a mettere in difficoltà i “digital investigators”, in modo da riuscire ad occultare o a rendere estremamente diffcile il reperimento di evidenze digitali.
I tipi di anti-forensics possono suddividersi in tre grandi branche:
•Data Hiding (occultare i dati)
•Tool’s weakness (debolezze note dei tool per la computer forensics)
•Investigator’s weakness (debolezza dell’investigatore)
Data Hiding
I dati possono essere nascosti in moltissimi modi e non solo sull’hard disk in esame, ma anche su siti web di storage, qui potete trovare una trattazione di Mario Pascucci in merito ad alcune tecniche, ma esaminiamo quelle più comuni e conosciute:
Encryption
Criptare interi volumi o solo dei file , può essere quanto di più facile da mettere in atto, ma diventa uno degli ostacoli più duri per l’investigatore digitale, perché un criptaggio con AES (Advanced Encryption Standard) a 128 bit ha 2128 possibili chiavi, con un brute force attack non si giunge a niente, se non in un tempo lunghissimo (parliamo di anni) di elaborazione costante e parallela.
Quindi, in questo caso, conviene che l’investigatore, cerchi la password in altra maniera, tipo cercare nella memoria del sistema (ram dumping) l’eventuale password inserita, se è presente in qualche file leggibile, avendo un log di un eventuale key-logger pre-istallato oppure con un profiling dell’indagato, ma sono tentativi veramente legati alla speranza ed alla fortuna, se per esempio la password è una parola di senso compiuto, magari basterà un dictionary attack e lo scrigno si aprirà.
Steganografia
Dal Greco antico “scrittura nascosta”, è una tecnica nota per nascondere delle informazioni dentro altri file binari, per esempio immagini, file mp3, ecc.
Personalmente ho sviluppato un strumentino a fini didattici, che fa capire come può avvenire una steganografia banale: BrutalStego o una più complessa con NBSTEGO.
Ci sono tanti strumenti per la steganografia come: JHide, Digital Invisible Ink e tanti altri che potete leggere qui.
I sistemi per capire se un file contiene della steganografia sono basati su algortimi probabilistici, infatti spesso danno falsi positivi e falsi negativi, tutto ciò non può essere utile all’investigatore, a meno di non aver trovato tracce di programmi di steganografia sul PC dell’indagato, altrimenti diventa una caccia alla cieca.
Spazio non allocato e cancellazione sicura
Questo è lo spazio non occupato da file attivi, infatti quando un file viene cancellato da sistema, di fatto rimane fisicamente in uno spazio marcato come “unallocated”, quindi disponibile alla scrittura di altri file.
L’operazione di cancellazione standard, serve solo ad eliminare il pointer al file dalla File Allocation Table (FAT) or Master File Table (MFT).
Con i tools di computer forensics, si riescono a recuperare dei file cancellati (pubblicità occulta FUNDL o SFDUMPER), ma se prima di cancellarli si riempiono i file di careatteri random o di zeri, alla fine non si recupera più il file originale.
SLACK SPACE
I file quando sono salvati vengono allocati in cluster, gruppi di settori del disco, ma se un file occupa 5 cluster e mezzo, viene allocato in sei cluster, lasciano mezzo cluster libero.
Ci sono strumenti come Metasploit’s Slacker utility che permettono di scrivere nello slack space, ossia quello spazio avanzante di un cluster, se poi si cripta il file e lo si inserisce nello slack space, l’investigatore può esser tratto in inganno, trovando solo dei dati che possono sembrare spazzatura di precedenti file allocati in quel cluster, quando invece è un file criptato.
TOOL’S WEAKNESS
Altre tecniche di anti-forensics, possono risedere nello sfruttare bachi o debolezze note dei più famosi tool per la computer forensics.
Gli ADS (Alternate Data Streams), oggi non più una minaccia.
La MD5 collision, ossia il poter modificare un file e far risultare lo stesso hash MD5 del file originale, questo può servire per occultare un file e spacciarlo per un file noto, quando l’investigatore effettua una ricerca usando il matching di un dizionario di hash MD5 noti sui file contenuti sul disco in esame.
La modifica del Timestamp, con questa tecnica si possono ingannare i tool che creano una timeline basata sui tempi di MAC (Modify, Access e Create file).
La manipolazione del magic number e dell’estensione dei file, questa tecnica è abbastanza fastidiosa per gli investigatori, perchè se si cambia solo l’estensione di un file, per esempio da JPG a DOC, i programmi di carving (Foremost, Photorec, Scalpel, ecc.) ed i programmi come “file” o “TridNet”, se ne accorgono, perchè considerano gli headers ed i footers del file (nel caso della JPG sono FFD8 e FFD9 in esadecimale), ma se si cambiano anche i gli header ed i footer, si imbrogliano anche quest’ultimi tool, quindi va fatta un’ispezione accurata e manuale!
LA INVESTIGATOR’S WEAKNESS
Questa è, secondo me, la tecnica più problematica, infatti si condensa in un semplice concetto, ossia il tempo e le risorse che deve impiegare l’investigatore per analizzare i supporti sequestrati.
Basta avere dischi di parecchi gigabyte o terabyte, Raid, usare tecniche di data hiding e a quel punto le analisi da condurre porterebbero via moltissime risorse in termini di tempo e denaro, costringendo l’investigatore a lavorare alla grossa.
Questo è una riflessione che mi ero posto molte volte, quando leggevo di tutte le tecniche “fini” di anti-forensics, mi domandavo spesso:
“Ma se un consulente tecnico riceve da analizzare 10-100 hard disk da 250Gb l’uno, come può mettersi a lavorare di fino, su ogni hard disk, controllando eventuali criptazioni, steganografie, slack space, file nascosti negli spazi tra MBR ed inizio partizione, partizioni nascoste, file system dentro file system, ecc. ecc.?”
Conclusioni
Penso che sia utile conoscere più metodi possibili di data hiding, però credo sempre nel motto “è più facile occultare che scoprire”.