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 / EWF — un contenitore che sa cosa contiene header caso, esaminatore date, software EVF · LVF · EVF2 i settori del disco, compressi a blocchi occupano molto meno dell'originale, ma il flusso logico che se ne ricava è identico byte per byte hash memorizzati MD5 SHA-1 scritti all'acquisizione error2 i settori che il disco non ha saputo leggere dichiarati, non nascosti DD / RAW — i byte, e nient'altro i settori del disco, non compressi, dal primo all'ultimo Un dd non sa di essere un'immagine forense: è indistinguibile da un file qualsiasi della stessa lunghezza. Ogni metadato — chi, quando, con cosa, con quanti errori — vive in un documento separato, che si può perdere.
L'E01 porta con sé la propria catena di custodia. Il dd la delega a un foglio di carta.

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 rilegge il flusso logico e ricalcola gli hash da capo confronto interno vs gli hash dentro l'E01 «il file immagine si è corrotto dopo l'acquisizione?» confronto esterno vs l'hash scritto nel verbale «questa immagine è quella che fu sequestrata?» Il primo confronto è automatico e non prova la provenienza: chi rifà l'immagine rifà anche gli hash interni. Il secondo confronto è quello che regge in giudizio, perché l'hash atteso viene da fuori.
Solo il confronto esterno lega l'immagine al reperto fisico. È la ragione per cui l'hash va verbalizzato al momento del sequestro, non ricavato dall'immagine mesi dopo.

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

  1. 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.
  2. Preferisci l'E01 al dd quando puoi: metadati e hash viaggiano col reperto, e comprime.
  3. Riporta sempre i settori danneggiati, anche quando sono zero. L'assenza di quella riga è essa stessa un'informazione mancante.
  4. Lavora su copie. Un'immagine forense è un reperto: si duplica, e si analizza il duplicato.
  5. 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.