La procedura illustra l’acquisizione e l’analisi forense delle chat WhatsApp su iPhone mediante backup locale iTunes, Manifest.db, ChatStorage.sqlite, DB Browser for SQLite e PowerShell. Include l’estrazione di messaggi e allegati, la normalizzazione dei timestamp, l’esportazione dei risultati e la verifica dell’integrità tramite hash SHA-256.

L’approccio consente un’acquisizione logica documentata con strumenti gratuiti, ma non equivale a un’immagine completa della memoria né garantisce il recupero dei dati cancellati. La validità dell’evidenza dipende dalla metodologia, dalla tracciabilità delle operazioni e dalla chiara indicazione dei limiti tecnici.

Digital Forensics | Mobile Forensics | Informatica Forense

Introduzione

Nell’ambito delle controversie civili, le conversazioni WhatsApp costituiscono frequentemente una fonte di elementi probatori. Messaggi, fotografie, documenti, note vocali e relativi metadati possono contribuire alla ricostruzione di rapporti contrattuali, comunicazioni professionali e circostanze oggetto di contestazione.

La semplice produzione di screenshot o di conversazioni esportate dall’applicazione, tuttavia, presenta limiti significativi sotto il profilo dell’integrità, della completezza e della verificabilità tecnica.

In qualità di consulente tecnico, può quindi essere necessario procedere all’acquisizione dei dati direttamente dal dispositivo, conservando le evidenze digitali e documentando le operazioni eseguite.

In questo articolo descrivo una procedura utilizzata durante un’attività di informatica forense su un Apple iPhone, finalizzata all’acquisizione e all’analisi della messaggistica WhatsApp mediante strumenti gratuiti.

L’attività ha previsto la realizzazione di un backup locale di circa 180–190 GB, l’individuazione dei database dell’applicazione, l’analisi dei messaggi e dei relativi allegati, nonché la conservazione delle evidenze attraverso impronte crittografiche SHA-256.

L’obiettivo è mostrare come sia possibile affrontare determinate attività di acquisizione logica senza ricorrere necessariamente a costose piattaforme commerciali quali Cellebrite UFED o Oxygen Forensic Detective, pur riconoscendo le differenze tecniche e i limiti delle diverse metodologie.

1. Acquisizione forense e valore probatorio

Una delle prime distinzioni da effettuare riguarda la differenza tra una semplice copia dei dati e un’acquisizione condotta secondo criteri forensi.

Nel primo caso, l’obiettivo è ottenere informazioni leggibili. Nel secondo, è necessario anche documentarne provenienza, modalità di acquisizione, integrità e successive elaborazioni.

Tra i riferimenti metodologici più importanti troviamo la norma ISO/IEC 27037, relativa all’identificazione, raccolta, acquisizione e preservazione delle evidenze digitali.

In ambito civile italiano assume inoltre particolare rilevanza l’articolo 2712 del Codice Civile, relativo alle riproduzioni meccaniche e informatiche.

Occorre precisare che l’impiego di uno specifico software non attribuisce automaticamente valore probatorio a un’acquisizione. La qualità dell’evidenza dipende dalla metodologia adottata, dalla tracciabilità delle operazioni e dalla possibilità di verificarne i risultati.

Inoltre, l’integrità di un file acquisito non equivale alla prova assoluta dell’identità fisica dell’autore di un messaggio.

2. Gli strumenti utilizzati

Per l’attività sono stati impiegati strumenti comunemente disponibili, senza necessità di acquistare licenze specialistiche per l’estrazione mobile.

StrumentoFunzione
Apple iTunesCreazione del backup locale dell’iPhone
DB Browser for SQLiteEsame dei database SQLite
PowerShellAutomazione delle operazioni di estrazione
Manifest.dbRicostruzione dei percorsi dei file nel backup
SHA-256Verifica dell’integrità dei dati
CSVEsportazione strutturata dei risultati

Il principio operativo è semplice: acquisire una copia logica dei dati disponibili attraverso il backup, preservarla e svolgere le successive analisi esclusivamente su copie di lavoro.

Questa metodologia non equivale a un’acquisizione fisica completa della memoria del dispositivo e non consente necessariamente di recuperare dati cancellati o non inclusi nel backup.

3. Preparazione del dispositivo

Prima di iniziare l’acquisizione è opportuno redigere un verbale contenente le informazioni identificative del dispositivo e le condizioni nelle quali viene consegnato.

Tra le informazioni da registrare:

  • Marca e modello dell’iPhone.
  • Numero di serie e IMEI, quando disponibili.
  • Versione del sistema operativo iOS.
  • Numero telefonico associato all’account WhatsApp.
  • Data e ora di presa in carico.
  • Stato del dispositivo e modalità di accesso.
  • Generalità del soggetto che conferisce l’incarico.
  • Autorizzazione all’accesso e al trattamento dei dati.

È opportuno documentare fotograficamente il dispositivo e registrare le operazioni effettuate, incluse quelle eventualmente necessarie per consentire il collegamento al computer.

Occorre anche valutare preventivamente la connettività del dispositivo e le possibili conseguenze di un suo isolamento dalla rete.

4. Creazione del backup locale con iTunes

La prima operazione consiste nella creazione di un backup locale dell’iPhone utilizzando iTunes su un computer Windows.

Dopo aver collegato il dispositivo tramite USB e autorizzato il computer, si seleziona la funzione di backup locale.

Nel caso descritto è stato utilizzato un backup non cifrato.

Questa scelta ha consentito di accedere ai database WhatsApp inclusi nel backup senza dover gestire la password di cifratura del backup stesso.

È importante distinguere la cifratura end-to-end utilizzata da WhatsApp per le comunicazioni dalla protezione dei dati memorizzati localmente e dalla cifratura dei backup Apple.

Si tratta di meccanismi differenti.

La presenza di un backup non cifrato non significa che tutti i dati dell’iPhone siano necessariamente disponibili o che ogni informazione sia acquisibile.

Al termine dell’operazione è stato conservato il backup originale, di dimensioni complessive nell’ordine di 180–190 GB.

Su Windows, uno dei percorsi comunemente utilizzati per i backup Apple è:

%APPDATA%\Apple Computer\MobileSync\Backup\

Nelle installazioni distribuite attraverso Microsoft Store può invece essere utilizzato:

%USERPROFILE%\Apple\MobileSync\Backup\

La posizione effettiva deve essere verificata sulla macchina utilizzata.

5. La struttura del backup Apple

Una caratteristica dei backup iTunes è che i file non vengono normalmente conservati con il nome e il percorso originali.

Il sistema utilizza identificativi esadecimali per organizzare i contenuti.

Per ricostruire la corrispondenza tra i file presenti nel backup e la loro posizione originaria sul dispositivo si utilizza il database:

Manifest.db

Questo database SQLite contiene una tabella denominata Files, nella quale sono presenti informazioni quali:

  • fileID: identificativo del file nel backup.
  • domain: dominio applicativo di appartenenza.
  • relativePath: percorso relativo originale.
  • flags: informazioni relative al file.

Attraverso una query SQL è possibile individuare i file di interesse.

Ad esempio:

SELECT
    fileID,
    domain,
    relativePath
FROM Files
WHERE relativePath LIKE '%ChatStorage.sqlite%';

Il risultato consente di identificare il file corrispondente al database principale della messaggistica WhatsApp.

La stessa tecnica può essere utilizzata per ricostruire i percorsi dei documenti e degli allegati.

6. Individuazione del database WhatsApp

Su iOS uno dei principali database utilizzati da WhatsApp è:

ChatStorage.sqlite

Si tratta di un database SQLite contenente informazioni relative alle conversazioni e ai messaggi.

Una volta identificato attraverso Manifest.db, il file viene recuperato dalla struttura del backup e copiato in un’apposita directory di analisi.

È importante conservare anche gli eventuali file ausiliari SQLite, come quelli con estensione -wal e -shm, se presenti e pertinenti, per evitare interpretazioni incomplete dello stato del database.

Prima di procedere all’analisi è opportuno calcolare l’impronta crittografica del file acquisito.

Con PowerShell è possibile utilizzare:

Get-FileHash -Path "ChatStorage.sqlite" -Algorithm SHA256

Il valore ottenuto viene riportato nel verbale o nella documentazione tecnica.

È buona pratica conservare separatamente il file originale acquisito e una copia destinata alle successive interrogazioni SQL.

7. Analisi del database SQLite

Per l’esame del database è stato utilizzato DB Browser for SQLite, applicazione gratuita che consente di visualizzare la struttura delle tabelle ed eseguire interrogazioni SQL.

Le strutture interne di WhatsApp possono cambiare nel tempo in funzione della versione dell’applicazione.

In molte versioni di WhatsApp per iOS sono presenti tabelle quali:

  • ZWAMESSAGE: informazioni relative ai messaggi.
  • ZWACHATSESSION: informazioni sulle conversazioni.
  • ZWAMEDIAITEM: riferimenti ai contenuti multimediali.

Non è tuttavia corretto assumere che tali strutture siano identiche in tutte le versioni.

La prima attività consiste quindi nell’esaminare lo schema effettivamente presente nel database.

Una query utile è:

SELECT name
FROM sqlite_master
WHERE type = 'table'
ORDER BY name;

Per esaminare la struttura di una tabella:

PRAGMA table_info('ZWAMESSAGE');

Solo dopo aver verificato la struttura del database è opportuno costruire le query necessarie all’estrazione dei messaggi.

8. Identificazione di mittente, destinatario e contenuto

Uno degli aspetti più delicati dell’analisi forense di WhatsApp riguarda l’attribuzione delle comunicazioni.

Per ogni messaggio di interesse è opportuno ricostruire, quando i dati disponibili lo consentono:

  • Identificativo univoco del messaggio.
  • Identificativo della conversazione.
  • Account associato al dispositivo acquisito.
  • Identificativo dell’interlocutore o del gruppo.
  • Autore del messaggio.
  • Direzione della comunicazione.
  • Data e ora.
  • Contenuto testuale.
  • Eventuali riferimenti ad allegati.
  • Metadati disponibili relativi allo stato della comunicazione.

Particolare attenzione deve essere riservata alle conversazioni di gruppo.

In questi casi il destinatario logico del messaggio può essere il gruppo WhatsApp, mentre i singoli partecipanti devono essere ricostruiti attraverso le informazioni disponibili.

Non è sempre possibile dimostrare dal solo database del dispositivo che ciascun componente del gruppo abbia effettivamente ricevuto o letto uno specifico messaggio.

Anche l’identificazione dell’autore richiede prudenza: il collegamento tra messaggio, account WhatsApp e numero telefonico non costituisce necessariamente prova dell’identità fisica della persona che ha materialmente scritto il testo.

9. Gestione dei timestamp

Un ulteriore elemento fondamentale è la corretta interpretazione delle date e degli orari.

Nei database WhatsApp per iOS si possono incontrare timestamp basati sull’epoca di riferimento Apple, fissata al 1° gennaio 2001.

Ad esempio, per un campo che utilizza secondi dall’epoca Apple, una conversione SQLite può essere:

SELECT
    datetime(
        ZMESSAGEDATE + 978307200,
        'unixepoch'
    )
FROM ZWAMESSAGE;

La query è applicabile soltanto se il campo e la relativa unità temporale sono stati verificati nello schema effettivo.

Occorre inoltre distinguere tra orario UTC e orario locale, tenendo conto del fuso orario e dell’eventuale ora legale.

Nella relazione tecnica è opportuno specificare esplicitamente la convenzione temporale utilizzata.

10. Estrazione degli allegati

Le conversazioni WhatsApp possono contenere fotografie, documenti, video, registrazioni vocali e altri file multimediali.

Per ricostruire gli allegati presenti nel backup Apple si può nuovamente interrogare Manifest.db.

Una query utile è:

SELECT
    fileID,
    domain,
    relativePath
FROM Files
WHERE relativePath LIKE 'Message/Media/%';

Il risultato permette di individuare i file e ricostruire i rispettivi percorsi.

Nel caso pratico sono stati utilizzati script PowerShell per automatizzare le operazioni di ricerca e copia degli allegati.

L’automazione consente di ridurre le operazioni manuali e mantenere una corrispondenza verificabile tra identificativo del file nel backup e file recuperato.

Ogni allegato rilevante può essere sottoposto al calcolo dell’hash SHA-256 e collegato al messaggio corrispondente attraverso i metadati disponibili.

11. Esportazione delle conversazioni

Una volta individuati i messaggi di interesse, i risultati delle interrogazioni possono essere esportati in formato CSV.

Questo formato permette di conservare una rappresentazione strutturata dei dati e di effettuare ulteriori verifiche.

Per ogni messaggio è opportuno riportare almeno:

CampoDescrizione
ID messaggioIdentificativo presente nel database
ConversazioneChat o gruppo di appartenenza
MittenteAccount identificato nei metadati
DestinatarioAccount o gruppo di destinazione
TimestampData e ora normalizzate
ContenutoTesto del messaggio
AllegatoEventuale file associato
FonteDatabase e riferimento al record

L’esportazione CSV è un elaborato derivato e non deve sostituire la conservazione del database originale.

È inoltre opportuno verificare che il contenuto esportato corrisponda effettivamente ai record presenti nella copia del database acquisito.

12. Conservazione delle evidenze e verifica di integrità

Il calcolo dell’hash rappresenta una componente fondamentale della procedura.

L’algoritmo SHA-256 produce un’impronta crittografica che consente di verificare se il contenuto di un file sia rimasto invariato.

La verifica può essere effettuata in qualsiasi momento ricalcolando l’hash e confrontandolo con il valore registrato durante l’acquisizione.

Occorre però distinguere due concetti:

Integrità della copia: il file conservato non ha subito modifiche rispetto al momento in cui è stato calcolato l’hash.

Autenticità storica del contenuto: il messaggio corrisponde a una comunicazione realmente avvenuta tra determinati soggetti.

Il primo aspetto può essere verificato mediante hash; il secondo richiede ulteriori valutazioni tecniche e, quando necessario, riscontri indipendenti.

L’hash non dimostra, da solo, che il database non sia stato modificato prima dell’acquisizione.

13. Redazione della relazione tecnica

Terminata l’analisi, i risultati vengono organizzati in una relazione tecnica destinata all’utilizzo nel procedimento civile.

La relazione dovrebbe descrivere:

  1. Oggetto dell’incarico e quesiti tecnici.
  2. Identificazione del dispositivo.
  3. Condizioni di presa in carico.
  4. Strumenti e versioni software utilizzati.
  5. Procedura di acquisizione.
  6. Identificazione dei file rilevanti.
  7. Verifica di integrità e hash.
  8. Metodologia di analisi SQL.
  9. Risultati relativi ai messaggi individuati.
  10. Eventuali allegati e metadati.
  11. Limiti tecnici dell’accertamento.
  12. Conclusioni.

La relazione deve permettere a un altro consulente di comprendere come siano stati ottenuti i risultati e, nei limiti dei dati disponibili, di ripetere le verifiche.

La conservazione degli script, delle query e degli output intermedi rappresenta quindi un elemento importante per la trasparenza dell’analisi.

14. Limiti dell’acquisizione mediante backup iTunes

La procedura descritta presenta vantaggi economici e operativi, ma anche limiti che devono essere esplicitamente dichiarati.

Il backup locale non rappresenta necessariamente una copia integrale della memoria fisica del dispositivo.

Alcuni dati potrebbero non essere inclusi, altri potrebbero essere soggetti a specifiche protezioni o dipendere dalla versione di iOS e dell’applicazione.

Inoltre, il backup viene generato attraverso procedure software che possono modificare lo stato del dispositivo o produrre nuovi metadati.

Non è quindi corretto sostenere che l’acquisizione avvenga sempre senza alcuna modifica al sistema sorgente.

La metodologia deve essere descritta per ciò che effettivamente consente: un’acquisizione logica documentata dei dati disponibili nel backup.

Per esigenze investigative più complesse possono essere necessari strumenti specialistici o metodologie differenti.

15. Conclusioni

L’esperienza descritta dimostra che, in determinate condizioni, è possibile acquisire e analizzare la messaggistica WhatsApp di un iPhone utilizzando strumenti gratuiti e comunemente disponibili.

La combinazione di backup locale Apple, Manifest.db, ChatStorage.sqlite, DB Browser for SQLite e PowerShell permette di realizzare un flusso di lavoro articolato, comprendente identificazione dei dati, estrazione dei messaggi, recupero degli allegati e verifica dell’integrità.

Il punto centrale non è la disponibilità di un software commerciale, ma la corretta applicazione di una metodologia documentata, trasparente e tecnicamente verificabile.

Per un consulente tecnico impegnato in una controversia civile, l’obiettivo non dovrebbe essere quello di affermare certezze assolute, bensì di produrre evidenze digitali correttamente acquisite, descriverne il significato tecnico e dichiararne con precisione i limiti.

Una buona perizia informatica non è quella che promette di dimostrare tutto, ma quella che consente di verificare ciò che effettivamente emerge dai dati.


Ing. Andrea Di Dio

Consulente tecnico informatico – CTU/CTP iscritto agli Albi del Tribunale di Savona

Digital Forensics · Informatica Forense · Analisi delle evidenze digitali


Andrea Di Dio

Sono un Ingegnere e Project Manager certificato PMP®, lavoro come consulente con oltre 20 anni di esperienza. Sono stato ingaggiato presso Cantieri di grandi opere, industrie del settore Energia, Automotive, Logistica ed Istituzioni Finanziarie, sia pmi che multinazionali come responsabile di Servizi e Progetti (manager) sono esperto nel controllo di gestione di progetti nei settori delle Costruzioni, Telecom, Assicurativo e nel Digital