Immagini forensi: E01 e dd
«Ho fatto una copia del disco» non significa niente. Copiare i file salta lo spazio non allocato, le partizioni nascoste, i settori danneggiati e cambia le date. Un'immagine forense è un'altra cosa: la trascrizione, settore per settore, di ciò che c'è sul supporto — comprese le zone che il sistema operativo considera vuote.
Copia e immagine non sono sinonimi
Quando trascini una cartella da un disco all'altro, il sistema operativo legge i file attraverso il filesystem. Vede quello che il filesystem gli dichiara: i file esistenti, nelle versioni correnti. Non vede il contenuto dei file cancellati, che spesso è ancora fisicamente presente. Non vede lo spazio fra la fine di un file e la fine del suo ultimo settore. Non vede le aree riservate del disco.
Un'immagine forense scavalca il filesystem e legge il dispositivo a blocchi. Il risultato è un file che contiene tutto, nell'ordine in cui sta sul supporto — comprese le regioni che nessun filesystem rivendica.
Due formati, due filosofie
E01 (Expert Witness Format)
Nato con EnCase e divenuto lo standard di fatto. È un contenitore: dentro ci sono i settori compressi a blocchi, ma anche un'intestazione con i metadati dell'acquisizione — numero di caso, nome dell'esaminatore, date, software usato — e, alla fine, gli hash calcolati dal software di acquisizione mentre leggeva.
C'è anche una sezione error2, che elenca i settori che il disco non è riuscito a restituire. Un disco morente ne ha migliaia. Un'immagine onesta li dichiara; una copia con cp semplicemente si ferma, o li riempie di zeri senza dirlo.
Probatio riconosce le tre varianti dell'intestazione: EVF, LVF (immagini logiche) ed EVF2, la generazione più recente.
dd / raw
Nessun contenitore, nessuna compressione, nessun metadato: il disco, così com'è. Un'immagine dd di un disco da 2 TB occupa 2 TB, anche se il disco è quasi vuoto.
Il vantaggio è la trasparenza assoluta: qualsiasi strumento la legge, anche fra trent'anni. Lo svantaggio è che tutto ciò che sappiamo su quell'immagine sta fuori dall'immagine. Se il verbale si perde, restano dei byte anonimi.
La doppia verifica
Qui sta il valore forense dell'E01, e vale la pena capirlo bene, perché sono due confronti distinti che rispondono a due domande diverse.
Probatio ricalcola gli hash rileggendo il flusso logico — cioè i settori decompressi, nell'ordine originale — e li confronta con quelli memorizzati nell'E01, in MD5 e SHA-1, che sono gli algoritmi che il formato prevede.
Poi accetta anche un hash atteso, quello che hai trascritto dal verbale di sequestro, in MD5, SHA-1 o SHA-256. Questo secondo confronto è il solo che dimostri qualcosa sulla provenienza.
Se l'immagine fosse stata rifatta a partire da un disco alterato, gli hash interni tornerebbero perfettamente: sarebbero stati ricalcolati dal software di acquisizione sul contenuto alterato. Torna anche l'hash del verbale, redatto anni prima? Quella è un'altra storia.
I settori danneggiati
Un disco che sta morendo restituisce errori di lettura. L'acquisizione non si ferma: segna il settore come illeggibile, lo riempie di zeri e prosegue. La sezione error2 dell'E01 conserva l'elenco, e Probatio somma i settori coinvolti.
Quel numero va in relazione. Non è un difetto dell'acquisizione: è una proprietà del reperto. Un'immagine con quattromila settori illeggibili resta perfettamente valida — ma se il file che ti interessa cade dentro quei settori, occorre saperlo prima di trarre conclusioni sul suo contenuto.
MD5 e SHA-1 in un E01: è un problema?
No, e vale la pena essere precisi perché è una domanda che arriva puntuale. Il formato E01 memorizza MD5 e SHA-1 perché fu progettato quando erano gli standard. Falsificare un'immagine forense sfruttando la debolezza di MD5 richiederebbe una seconda preimmagine — trovare un secondo disco, diverso, con lo stesso MD5 — e nessuno sa farlo.
Le collisioni note su MD5 richiedono di costruire entrambi i file. Non si applicano a un reperto già acquisito e verbalizzato. Detto ciò, l'hash che scrivi tu nel verbale, oggi, sia SHA-256.
Cosa Probatio non legge
- AFF4 non è supportato. Il formato esiste, ma non è gestito.
- I formati raw non-EWF vengono trattati come dd: se il tuo strumento produce un contenitore proprietario, va convertito.
- Probatio non monta l'immagine né ne interpreta il filesystem. Verifica l'integrità del contenitore e ne estrae i metadati: è un compito diverso dall'analisi del contenuto.
In pratica
- Verbalizza l'hash al momento del sequestro, non dopo. L'hash calcolato mesi dopo sull'immagine dimostra solo che l'immagine non è cambiata da quando l'hai calcolato.
- Preferisci l'E01 al dd quando puoi: metadati e hash viaggiano col reperto, e comprime.
- Riporta sempre i settori danneggiati, anche quando sono zero. L'assenza di quella riga è essa stessa un'informazione mancante.
- Lavora su copie. Un'immagine forense è un reperto: si duplica, e si analizza il duplicato.
- Conserva l'immagine e il suo verbale insieme, e considera di sigillare entrambi in un bag BagIt con una marca temporale.
Un'immagine forense è una fotografia di un supporto in un istante. Come ogni fotografia, vale per ciò che mostra e per la fiducia che si ripone in chi l'ha scattata. Gli hash servono a rendere quella fiducia verificabile.