La rilevanza dell’hash nella digital forensics: dall’integrità delle copie all’analisi dei dati

Smart contract: cosa sono e come raccogliere evidenze digitali

17 Febbraio 2026
OT Forensics analysis

Forensic readiness industriale: come reagire all’imprevisto (senza fermare la produzione)

11 Marzo 2026

Smart contract: cosa sono e come raccogliere evidenze digitali

17 Febbraio 2026
OT Forensics analysis

Forensic readiness industriale: come reagire all’imprevisto (senza fermare la produzione)

11 Marzo 2026

La rilevanza dell’hash nella digital forensics: dall’integrità delle copie all’analisi dei dati

Visualizzazione astratta della validazione dell'integrità dei dati tramite funzioni di hash.

A cura di Federica Grisendi

Nel panorama contemporaneo dei procedimenti giudiziari, la prova digitale è fondamentale nella pressoché totalità dei procedimenti giudiziari: dalle truffe finanziarie al cyberbullismo, dallo spionaggio industriale alla pedopornografia, raramente esiste un’indagine che non coinvolga l’analisi di dati digitali, siano essi prodotti da dispositivi informatici, spazi cloud o traffico di rete.

Tuttavia, la natura stessa del dato digitale – immateriale, volatile e intrinsecamente fragile – introduce criticità e possibilità differenti rispetto alla prova fisica tradizionale in relazione ai fenomeni di alterazione, occultamento e cancellazione. Una prova digitale può infatti essere eliminata definitivamente, talvolta senza lasciare tracce immediatamente riconoscibili della sua preesistenza. Al contrario, tentativi di occultamento ingenui – come, ad esempio, la mera modifica del nome che identifica la prova – risultano inefficaci e facilmente individuabili da un’analisi tecnica.

È in questo contesto di potenziale labilità della prova che la digital forensics si afferma come disciplina scientifica: dotata di metodologie rigorose volte a garantire l’autenticità, l’integrità e la non ripudiabilità del dato presentato in ambito giudiziario. In uno degli elementi cardine di questa metodologia risiede un concetto matematico che funge da garanzia di integrità: la funzione di hash. Spesso definita l’impronta digitale di un file, la funzione di hash costituisce il pilastro su cui si regge l’intera catena di custodia del reperto informatico oltre ad essere un potente strumento utile all’identificazione delle evidenze in fase di analisi tecnica dei reperti stessi.

Fondamenti teorici della funzione di hash

Per comprendere il peso probatorio dell’hash in ambito giudiziario è indispensabile comprenderne la natura algoritmica: il valore hash non è un attributo intrinseco del file digitale (come la data di creazione o il nome che lo identifica), ma il risultato di una funzione matematica complessa calcolata sul contenuto del file stesso.

Definizione e proprietà crittografiche nel contesto della digital forensics

Più in generale, una funzione di hash è un algoritmo deterministico che prende in input una sequenza di dati di lunghezza arbitraria e produce in output una sequenza di bit (valore hash) di lunghezza fissa.

Nell’ambito specifico della digital forensics, i valori hash vengono utilizzati per garantire l’integrità delle copie forensi prodotte (come descritto dallo standard internazionale ISO/IEC 27037) e per ricercare corrispondenze esatte di file – in termini di equivalenza contenutistica esatta – in fase di analisi forense. Questa attività di ricerca delle corrispondenze prende il nome di Known File Filter (KFF) quando ci si riferisce al filtraggio di dati comuni e conosciuti con l’obiettivo di ridurre drasticamente la mole di dati “sconosciuti” da analizzare, riducendo le tempistiche di analisi e permettendo di focalizzare l’attenzione e le risorse su dati potenzialmente rilevanti.

In altri termini, il valore hash può essere paragonato al codice fiscale: così come il codice fiscale identifica in modo univoco un individuo sulla base dei suoi dati anagrafici, la funzione di hash genera un valore univoco che rappresenta l’impronta digitale del dato informatico associato. Infatti, il codice fiscale di un individuo non è soggetto a variazioni, così come il valore hash di un dato a patto che quest’ultimo non venga modificato.

Il valore hash rappresenta, quindi, una garanzia inequivoca e fondamentale di integrità durante tutta la durata dei procedimenti giudiziari e oltre tale termine. Per questa ragione, le funzioni di hash utilizzabili in ambito forense devono soddisfare rigorose proprietà.

Proprietà delle funzioni di hashing

Prima tra tutte il determinismo: a parità di input, l’output generato deve essere sempre lo stesso. Questa proprietà è il presupposto su cui si fonda la ripetibilità dell’accertamento tecnico. Altresì, se un consulente tecnico esegue copia forense di un hard disk calcolandone l’hash oggi e, a distanza di tempo, un altro consulente calcola l’hash della medesima copia forense, il risultato deve essere identico. Qualora non lo fosse, vorrebbe dire che la copia forense originale ha subito alterazioni nel corso del tempo intercorso tra il calcolo del primo hash e il calcolo del secondo.

Una seconda caratteristica intrinseca delle funzioni di hash è il cosiddetto effetto valanga: una minima variazione nell’input (anche il cambiamento di un singolo bit in un file di gigabyte) produce un output completamente diverso e non riconducibile al precedente. Questa proprietà garantisce che qualsiasi alterazione del reperto, volontaria o accidentale che sia, venga immediatamente rilevata.

Un’ulteriore caratteristica fondamentale delle funzioni di hash è la resilienza alle collisioni: è auspicabile, infatti, che due input differenti non producano lo stesso valore hash. Sebbene, a livello teorico e pratico, dato un dominio di input infinito e un output finito (come nel nostro caso), le collisioni esistano, la probabilità statistica di incontrarne una accidentalmente con algoritmi moderni è estremamente bassa, rendendo l’hash un identificatore univoco de facto.

Si cita, inoltre, la caratteristica “a senso unico” dei valori hash: è infatti impossibile, nella pratica, risalire all’input partendo esclusivamente dal valore prodotto in output dalla funzione di hash. Questo garantisce che l’hash possa essere condiviso, senza divulgare il contenuto potenzialmente confidenziale del relativo file.

Gli algoritmi dominanti: MD5 e SHA

Nel corso degli anni, la disciplina dell’informatica forense ha adottato diversi standard di hashing, ma gli algoritmi prevalentemente utilizzati sono di seguito descritti. A livello operativo, però, è comune calcolare due tipologie di valori hash contestualmente allo stesso dato: la verifica della coincidenza di due, o più, hash distinti riduce la probabilità di collisione a infinitesimamente, fornendo una certezza matematica pressoché assoluta dell’identità del dato.

Algoritmo MD5

L’algoritmo MD5 (Message Digest 5), sviluppato nel 1991, genera un valore hash a 128 bit, quindi 32 caratteri esadecimali. Per anni questo algoritmo è stato lo standard indiscusso forte della sua velocità di calcolo.

Tuttavia, sin dal 2004, ricerche crittografiche hanno dimostrato la possibilità di generare artificialmente collisioni MD5, per questa ragione l’algoritmo in parola viene considerato il “meno sicuro”. Infatti, tale vulnerabilità è stata sfruttata per attuare attacchi come, ad esempio, Flame, malware risalente al 2012 che ha sfruttato la vulnerabilità in parola per attaccare i sistemi operativi Windows.

Nonostante ciò, in ambito forense, l’hash MD5 rimane ampiamente utilizzato per la verifica dell’integrità – dove l’attacco mirato è improbabile – e per le operazioni di filtro (KFF).

Algoritmi SHA

L’algoritmo SHA-1 (Secure Hash Algorithm 1) genera un valore hash a 160 bit. Anche SHA-1, come MD5, è stato teoricamente compromesso rispetto alla resistenza alle collisioni pianificate, ma rimane più robusto dell’MD5.

L’algoritmo SHA-256, invece, appartiene alla famiglia SHA-2 e genera un valore hash a 256 bit. L’assenza di vulnerabilità pratiche note lo rende preferibile per la garanzia di integrità a lungo termine. Nonostante ciò, però, la richiesta di maggiori risorse computazionali e di tempo di calcolo rispetto agli algoritmi precedenti lo rende meno comune, anche in virtù del fatto che la probabilità che si verifichino collisioni con gli algoritmi precedentemente citati rimane limitata.

Alla famiglia SHA-2 appartengono, inoltre, gli algoritmi SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256, meno utilizzati a causa degli elevati livelli di complessità e delle tempistiche richieste per il calcolo dei valori hash. Tutte queste funzioni di hash condividono la stessa struttura di base, ma producono valori hash di lunghezze diverse, differenziandosi per livello di sicurezza e prestazioni.

Il quadro normativo

L’utilizzo dell’hash non è una mera convenzione tecnica, ma risponde a precisi obblighi di legge introdotti nel sistema giuridico italiano per adeguarsi alla natura della prova digitale. La Legge 18 marzo 2008 n. 48 ha ratificato in Italia la Convenzione di Budapest del Consiglio d’Europa sulla criminalità informatica, modificando profondamente il Codice di procedura penale, introducendo il principio fondamentale della preservazione dell’integrità del dato.

L’articolo 244 c.p.p., novellato dalla stessa legge 48/2008, dispone che, anche in relazione a sistemi informatici, l’autorità giudiziaria debba adottare “misure tecniche dirette ad assicurare la conservazione dei dati originali e ad impedirne l’alterazione”.

In questo contesto normativo, l’hash diventa lo strumento attuativo della legge: calcolare l’hash al momento dell’acquisizione tecnica del reperto permette di cristallizzarne lo stato, fornendo la prova matematica che nessuna alterazione è avvenuta durante le successive fasi di analisi e consultazione dei dati acquisiti.

Quindi, la procedura standard di acquisizione forense di dati digitali segue il flusso logico basato sull’hash di seguito descritto:

  1. acquisizione del dato digitale;
  2. calcolo dell’hash: tale attività viene svolta, per la maggior parte dei software di acquisizione forense, simultaneamente alla fase di acquisizione, sfruttando il flusso di bit in entrata generato da quest’ultima. Qualora il software di acquisizione utilizzato non dovesse supportare questa funzionalità, è prevista l’archiviazione dei dati prodotti in fase di acquisizione all’interno di un file che funge da contenitore logico – come, ad esempio, un archivio zip – del quale dovrà essere calcolato l’hash, come previsto dallo standard internazionale ISO/IEC 27037;
  3. verifica dell’hash: i software di acquisizione forense che supportano il calcolo simultaneo dell’hash, forniscono – tipicamente – anche la funzionalità di verifica della copia prodotta. In particolare, al termine della scrittura della copia forense, il software la rilegge e ne calcola l’hash, verificando la corrispondenza di quest’ultimo con il valore hash calcolato in fase di acquisizione sul flusso di dati come descritto al punto precedente. Se l’hash calcolato durante l’acquisizione coincide con l’hash della copia creata, quest’ultima è dichiarata verificata e valida. Il valore di hash prodotto viene, quindi, registrato nel report tecnico e diventa l’identificativo univoco della prova.

Questo meccanismo garantisce così l’unicità e la validità in giudizio della copia, come richiesto dalla normativa.

Gestione del dato: dalla copia mezzo alla copia fine

L’evoluzione della giurisprudenza e la crescita esponenziale delle capacità di archiviazione hanno portato alla distinzione dottrinale e pratica tra copia mezzo e copia fine, brevemente descritte di seguito. L’hash è il filo di Arianna che collega queste due entità, garantendo la tracciabilità della prova.

La copia mezzo è la copia forense integrale del supporto informatico acquisito, sia esso uno smartphone, un computer, uno spazio cloud o altro. Questa viene definita mezzo perché costituisce lo strumento attraverso il quale si ricerca la prova, ma non necessariamente costituisce la prova stessa nella sua interezza. Essa contiene, nella quasi totalità dei casi, una quantità massiccia di dati irrilevanti per le indagini – come, ad esempio, porzioni immutabili del sistema operativo e software legittimi – e dati personali ed estranei al reato nonché tutelati dalla privacy.

Proprio queste ragioni giustificano la nascita e l’utilizzo della copia fine, costituita, infatti, dal sottoinsieme dei dati selezionati che risultano pertinenti al reato e che vengono estratti dalla copia mezzo per essere utilizzati nel dibattimento. Proteggendo così la restante porzione di dati personali, potenzialmente sensibili ed estranei ai fatti oggetto di accertamento.

È qui che l’hash assume un ruolo essenziale come strumento di autenticazione derivata: quando il consulente tecnico estrae un dato dalla copia mezzo e lo inserisce nella copia fine, è necessario poter dimostrare che tale dato sia rimasto inalterato e che non sia stato creato artificialmente; che sia, quindi, autentico. Questa verifica si basa sul confronto dei valori hash: se l’hash calcolato sul dato presente nella copia fine coincide con quello presente nella copia mezzo, si può affermare che il dato è autentico e integro. In questo modo, l’hash crea un ponte indissolubile tra il singolo file probatorio – contenuto nella copia fine – e il supporto originale sequestrato – tramite la copia mezzo.

Inoltre, grazie alle proprietà intrinseche delle funzioni di hashing – descritte al paragrafo § 2.1.1 – la verifica di autenticazione derivata può essere svolta senza dover osservare, analizzare e confrontare il contenuto dei dati. Questo consente di ottimizzare le tempistiche richieste dalle operazioni di controllo e di basare la verifica su garanzie di natura matematica, piuttosto che su valutazioni visive o uditive, potenzialmente soggette a errore.

L’analisi investigativa tramite valori hash

In seguito alla fase di acquisizione, l’utilizzo dei valori hash si conferma uno strumento essenziale anche in fase di analisi forense. Quando ci si trova a gestire volumi di dati che possono arrivare a diversi terabyte, non è praticabile per un tecnico forense esaminare manualmente ciascun file contenuto nella copia mezzo per individuare e selezionare le evidenze rilevanti.

In questo contesto, l’utilizzo dei valori hash consente di automatizzare il processo di identificazione dei file pertinenti, facilitando la selezione delle evidenze da analizzare o, al contrario, l’esclusione dei file irrilevanti, indipendentemente dai nomi o dalle estensioni che potrebbero risultare fuorvianti.

Infatti, la proprietà di determinismo dell’hash garantisce di poter identificare la presenza di file identici senza guardarne attivamente il contenuto. Questo principio consente di attuare due strategie opposte e complementari: il whitelisting (esclusione del noto) e il blacklisting (ricerca dell’illecito).

Analisi forense: il whitelisting

La maggior parte dei file presenti nella copia mezzo di un computer acquisito è composta da file di sistema e applicazioni standard, come l’ecosistema Office o Adobe, che non hanno alcuna rilevanza investigativa e non sono stati creati dall’utente. Analizzare tali file sarebbe, nella quasi totalità degli scenari, uno spreco di tempo e di risorse.

Per ovviare a tale problema, si utilizzano database di file noti come la NSRL National Software Reference Library – gestita dal NIST – National Institute of Standards and Technology – che rappresenta il principale riferimento mondiale e che dà il nome al processo di rimozione dei file noti detto De-NISTing. Il meccanismo di whitelisting, integrato in numerosi software di analisi, prevede quindi di:

  1. calcolare sistematicamente l’hash di tutti i file presenti nella copia mezzo;
  2. confrontare gli hash calcolati con il database di riferimento – NSRL, ad esempio;
  3. se il confronto produce una corrispondenza, il file viene etichettato come “legittimo” e viene automaticamente escluso dall’analisi.

A seguito del whitelisting l’analisi forense può quindi essere circoscritta solo ai file “sconosciuti”, ottimizzando l’utilizzo di risorse e di tempo.

Analisi forense: il blacklisting

Specularmente, i valori hash permettono di individuare istantaneamente file illeciti noti. Le forze dell’ordine e le organizzazioni internazionali forniscono e aggiornano in modo continuativo database di valori hash – anche detti hash sets – relativi a macro-tematiche di potenziale utilità investigativa e di analisi forense.

Un esempio pratico è CSAM, un hash set relativo a materiale pedopornografico, mediante il quale è possibile svolgere una scansione sistematica nei reperti acquisiti, potendo così rilevare la presenza di immagini già identificate e categorizzate di natura pedopornografica in pochi minuti, anche se l’utente le ha rinominate o spostate in cartelle nascoste. Analogamente, sono presenti hash set composti da valore hash di malware e trojan noti utili a identificare compromissioni del reperto acquisito.

Un’ulteriore evidenza dell’utilità degli hash set emerge dalla loro applicazione nelle attività di analisi finalizzate all’accertamento di un eventuale furto di dati aziendali da parte di un dipendente. In tale contesto, l’azienda vittima dell’illecito può, ad esempio, fornire un hash set dei documenti riservati – il cosiddetto know-how – ai quali il dipendente aveva accesso, consentendo così la ricerca automatizzata di tali contenuti all’interno dei reperti informatici personali in possesso del dipendente stesso.

Il determinismo come limite delle funzioni di hashing

Alla luce delle osservazioni fatte fino ad ora, possiamo affermare che il determinismo delle funzioni di hashing rappresenta una proprietà fondamentale per garantire l’autenticità, l’integrità e la non ripudiabilità del dato presentato in ambito giudiziario.

Tuttavia, il determinismo, combinato all’effetto valanga, comporta un vincolo importante da tenere in considerazione in fase di analisi forense, soprattutto quando si applica blacklisting. Infatti, a fronte di una minima alterazione del contenuto di una risorsa, il suo valore hash non verrà rilevato e la risorsa non sarà segnalata anche se l’hash del dato originale appartiene nell’hash set utilizzato.

Ad esempio, è sufficiente che un utente malintenzionato applichi una minima compressione, un ritaglio o un cambio di formato a un’immagine illecita per rendere l’hash originale inutile ai fini del rilevamento automatico svolto secondo il confronto del valore hash, pur mantenendo il contenuto pressoché identico a quello di partenza.

Una potenziale soluzione per gestire tale vulnerabilità sorge con la nascita delle funzioni di fuzzy hashing che permettono – sfruttando le funzioni di hashing deterministiche – di rilevare artefatti che presentano similitudini (fuzzy) seppur non avendo totale ed esatta corrispondenza.

In ambito forense, questa tipologia di analisi consente quindi di identificare coppie di file che non sono identici bit a bit, ma che condividono una forte derivazione comune, permettendo di rintracciare varianti dello stesso contenuto illecito con lievi modifiche estetiche – come la dimensione del font in un file testuale o il ridimensionamento di un’immagine – o tecniche – come la modifica di una linea di codice all’interno di un malware già conosciuto.


    [recent_post_slider limit=”5″]

    .

    .