Copia forense: perché l'hash non è un dettaglio tecnico
In una relazione tecnica l'hash compare come una stringa di sessanta e passa caratteri che nessuno legge. È invece l'unico elemento che permette di rispondere alla domanda più semplice e più pericolosa del controesame: come fa a escludere che quel materiale sia stato modificato?
Il problema che l'hash risolve
Un documento cartaceo, se lo si altera, di norma lo dà a vedere. Un file no: si modifica senza lasciare tracce visibili, e la copia modificata è indistinguibile dall'originale a occhio nudo. Se un tecnico esamina un disco per tre settimane e poi deposita le sue conclusioni, come si dimostra che il contenuto su cui ha lavorato era quello sequestrato, e non qualcosa che nel frattempo è cambiato?
La risposta non può essere la parola del tecnico. Deve essere un fatto verificabile da chiunque, anche da chi ha interesse a smentirlo. Ed è esattamente questo che l'hash fornisce.
Che cos'è, in concreto
Una funzione di hash prende in ingresso una sequenza di byte di qualunque lunghezza — un file, un intero disco — e restituisce un valore di lunghezza fissa, che si rappresenta come una stringa di caratteri esadecimali. Ha tre proprietà che la rendono utile in ambito probatorio:
- È deterministica. Lo stesso ingresso produce sempre lo stesso valore, su qualunque macchina e in qualunque momento. È ciò che rende la verifica ripetibile da un altro tecnico.
- È estremamente sensibile. Cambiando un solo bit su un disco da due terabyte, il valore risultante cambia in modo completamente imprevedibile. Non esiste una modifica «piccola» che produca un valore «simile».
- Non è invertibile. Dal valore non si può risalire al contenuto. Pubblicare l'hash di un disco sequestrato in un verbale non rivela nulla di ciò che il disco conteneva.
Su queste proprietà si costruisce l'intera architettura probatoria della copia forense: si calcola il valore all'atto dell'acquisizione, lo si scrive nel verbale, e da quel momento chiunque può ricalcolarlo e confrontarlo. Se coincide, il materiale è quello. Se non coincide, qualcosa è successo — e anche questa è un'informazione.
Quale funzione usare, e perché MD5 non basta
Le funzioni di hash non sono tutte equivalenti, e la differenza è diventata processualmente rilevante.
La proprietà che conta è la resistenza alle collisioni: la difficoltà di costruire due contenuti diversi che producano lo stesso valore. Se costruire una collisione è praticabile, l'hash smette di provare l'identità del contenuto, perché diventa astrattamente possibile sostituire il materiale con altro che dia lo stesso risultato.
| Funzione | Lunghezza | Stato | Uso in ambito forense |
|---|---|---|---|
| MD5 | 128 bit | Collisioni costruibili in pratica, da anni | Solo come valore aggiuntivo, mai da sola |
| SHA-1 | 160 bit | Collisioni dimostrate concretamente | Solo come valore aggiuntivo, mai da sola |
| SHA-256 e famiglia SHA-2 | 256 bit e oltre | Nessun attacco pratico noto | Riferimento attuale |
| SHA-3 | variabile | Nessun attacco pratico noto | Alternativa, costruzione diversa da SHA-2 |
Nella pratica si calcolano e si verbalizzano due valori: uno della famiglia SHA-2, che è quello su cui si fonda l'affermazione, e uno storico come MD5, per continuità con strumenti e documentazione preesistenti. Trovare in un verbale il solo MD5 non rende automaticamente inattendibile l'acquisizione, ma è un punto su cui una contestazione tecnica può lavorare, e va saputo prima di trovarselo davanti.
Va detto per completezza che costruire una collisione richiede di poter scegliere entrambi i contenuti: non consente di fabbricare un file che collida con un documento già esistente e non modificabile. È un attacco reale ma non onnipotente, e una contestazione che lo presentasse come tale sarebbe scorretta quanto ignorarlo.
La copia bit per bit
Calcolare l'hash serve a poco se ciò su cui lo si calcola è una copia parziale. La copia forense di un supporto non è una copia dei file: è la riproduzione integrale del supporto, settore per settore, compreso lo spazio non allocato — quello che il sistema considera libero e in cui sopravvivono i contenuti cancellati ma non ancora sovrascritti. È lì che si trova, molto spesso, ciò che serve.
La lettura avviene attraverso un blocco in scrittura, hardware o software, che impedisce fisicamente al sistema di modificare l'originale. Senza quello, il semplice collegamento del supporto a un computer basta a scriverci sopra qualcosa, e da quel momento l'hash dell'originale non corrisponde più a quello che l'originale era.
Quando il supporto è danneggiato la regola cambia: la priorità diventa salvare ciò che è ancora leggibile, e la parzialità va documentata settore per settore. Un verbale che tace le aree illeggibili è peggio di uno che le dichiara.
La catena di custodia
L'hash prova che un contenuto non è cambiato fra due momenti. La catena di custodia prova chi ha avuto quel contenuto in mezzo. Sono due garanzie diverse e servono entrambe.
In concreto è una sequenza di verbali che, per ogni passaggio, riportano data e ora, luogo, persone presenti e qualifica, descrizione e identificativi del materiale (marca, modello, numero di serie), stato dei sigilli, valori di hash calcolati alla consegna e ricalcolati all'apertura, e firma di chi consegna e di chi riceve.
Ogni passaggio è un anello. Se ne manca uno — un intervallo in cui non è documentato dove fosse il materiale — l'intera catena è attaccabile, e non serve dimostrare che una manomissione sia avvenuta: basta che non se ne possa escludere la possibilità.
Il fondamento normativo
Sul piano processuale il riferimento è la legge 48 del 2008, che ha ratificato la Convenzione di Budapest sulla criminalità informatica e ha modificato più norme del codice di procedura penale in materia di ispezioni, perquisizioni e sequestri di dati informatici, introducendo il principio per cui le operazioni devono adottare misure tecniche dirette ad assicurare la conservazione dei dati originali e a impedirne l'alterazione.
È il fondamento su cui si costruiscono le eccezioni relative alle acquisizioni condotte senza cautele. Sul piano tecnico il riferimento internazionale è la norma ISO/IEC 27037, che descrive identificazione, raccolta, acquisizione e conservazione delle evidenze digitali e distingue i ruoli di chi raccoglie e di chi esamina.
Gli errori che vedo più spesso
- Accendere il dispositivo per «dare un'occhiata». L'avvio modifica decine di file di sistema. Da quel momento l'hash dell'originale non sarà più quello che era prima.
- Copiare i file invece del supporto. Si perde lo spazio non allocato, cioè spesso proprio ciò che serviva.
- Calcolare l'hash dopo l'analisi anziché prima. Un valore calcolato alla fine non prova nulla su ciò che c'era all'inizio.
- Non ricalcolare l'hash al termine. Il confronto finale è ciò che dimostra che durante l'esame non è cambiato nulla.
- Verbali senza numeri di serie. Se il supporto non è identificato univocamente, la catena di custodia non lega nulla a nulla.
L'acquisizione forense: come intervengo → · Torna agli approfondimenti