L’analisi forense di WhatsApp tramite Cellebrite UFED e Cellebrite Reader consente di ricostruire conversazioni, partecipanti, messaggi, timestamp, ricevute e allegati, collegando i risultati ai database originali come msgstore.db e wa.db.

L’interpretazione richiede la verifica della provenienza dei dati, dei fusi orari, degli stati dei messaggi e dell’attribuzione degli account. La relazione tecnica deve distinguere dati acquisiti, informazioni interpretate e valutazioni del consulente, indicando verifiche incrociate e limiti probatori.

Digital Forensics | WhatsApp Forensics | Analisi delle evidenze digitali

Introduzione

Dopo aver acquisito uno smartphone Android mediante Cellebrite UFED, la fase successiva consiste nell’esaminare i dati estratti per individuare le informazioni rilevanti ai fini dell’incarico.

Nel caso descritto nel precedente articolo, l’obiettivo era ricostruire le comunicazioni contenute in uno specifico gruppo WhatsApp, verificando il contenuto dei messaggi, gli account coinvolti, le date, gli orari e gli eventuali allegati.

Per l’analisi sono stati utilizzati gli output elaborati nell’ecosistema Cellebrite e la relativa documentazione.

L’utilizzo di un visualizzatore come Cellebrite Reader, quando incluso nel pacchetto di consegna, consente di consultare i risultati del parsing senza dover necessariamente disporre di una licenza completa di Physical Analyzer.

È però importante distinguere tra i dati originali acquisiti e la loro rappresentazione prodotta dal software.

1. Dal file system al report di analisi

Il processo di acquisizione e quello di analisi sono due attività distinte.

Cellebrite UFED permette di acquisire dati dal dispositivo attraverso le metodologie disponibili.

Il software di analisi interpreta successivamente i file recuperati, ricostruendo conversazioni, contatti, messaggi, eventi e riferimenti ai contenuti multimediali.

Nel caso esaminato, il report conteneva riferimenti diretti ai database WhatsApp:

msgstore.db

wa.db

e a un archivio di estrazione denominato:

EXTRACTION_FFS.zip

Questi riferimenti sono particolarmente importanti perché permettono di risalire alla fonte dei dati interpretati.

2. Il visualizzatore Cellebrite

Cellebrite Reader è uno strumento destinato alla consultazione dei risultati di analisi condivisi attraverso un pacchetto compatibile.

Il visualizzatore permette, in funzione della versione e del contenuto del pacchetto, di navigare le categorie di dati disponibili.

Tra queste possono essere presenti:

  • Conversazioni e messaggi.
  • Contatti.
  • File multimediali.
  • Eventi e informazioni temporali.
  • Dati delle applicazioni.
  • Informazioni relative alle fonti dei record.

Le funzionalità effettivamente disponibili dipendono dalla versione del software e dal tipo di esportazione predisposta dal laboratorio.

La navigazione tramite Reader non sostituisce la verifica della provenienza dei dati e dei riferimenti al database originale.

3. Individuazione delle conversazioni WhatsApp

La prima operazione consiste nell’individuare la categoria relativa alla messaggistica istantanea e selezionare i dati WhatsApp.

Il software può presentare le comunicazioni organizzate per conversazione, permettendo di individuare le chat individuali e i gruppi.

Nel nostro caso, l’analisi era focalizzata su uno specifico gruppo WhatsApp di natura professionale.

Una volta individuata la conversazione, è possibile esaminarne il contenuto e verificare i metadati associati ai singoli messaggi.

È importante non confondere il nome visualizzato di un contatto con la sua identità anagrafica: il nome può derivare dalla rubrica locale, dal profilo WhatsApp o dalle informazioni interpretate dal software.

4. La struttura del database msgstore.db

Uno dei principali file acquisiti era:

/data/data/com.whatsapp/databases/msgstore.db

Il report Cellebrite riportava riferimenti a diverse tabelle del database, tra cui:

message

message_media

receipts

Queste strutture permettono di collegare il contenuto dei messaggi ad altre informazioni disponibili, quali allegati e ricevute.

La presenza di tali tabelle nel report rappresenta un elemento utile per verificare la provenienza delle informazioni.

Le strutture dei database WhatsApp possono cambiare nel tempo; pertanto, qualsiasi analisi diretta mediante SQL deve partire dalla verifica dello schema effettivamente acquisito.

5. Identificazione dei messaggi

Per ogni comunicazione rilevante è necessario individuare le informazioni disponibili nel report.

In particolare:

InformazioneSignificato
FromAccount indicato come mittente
ToDestinatario o partecipanti indicati
TimestampData e ora del messaggio
StatusStato riportato dal software
PlatformPiattaforma associata al messaggio, se disponibile
AttachmentsAllegati collegati
Source InfoFile e riferimenti di provenienza

Queste informazioni devono essere interpretate nel contesto della specifica conversazione.

In una chat di gruppo, ad esempio, la presenza di più destinatari non equivale necessariamente alla prova che tutti abbiano effettivamente letto il messaggio.

6. Mittenti e destinatari nei gruppi WhatsApp

L’analisi dei gruppi WhatsApp presenta caratteristiche differenti rispetto alle conversazioni individuali.

Il database può contenere informazioni relative al gruppo, ai partecipanti, all’autore dei singoli messaggi e agli eventi di amministrazione.

Il report può mostrare eventi come:

  • Creazione del gruppo.
  • Inserimento di nuovi partecipanti.
  • Uscita o rimozione di partecipanti.
  • Messaggi inviati e ricevuti.
  • Modifiche alla composizione del gruppo.

Questi eventi possono contribuire a ricostruire l’evoluzione della conversazione nel tempo.

È tuttavia necessario distinguere le informazioni effettivamente presenti nei dati acquisiti dalle informazioni fornite dal cliente o dai legali.

Un nominativo indicato nell’incarico non deve essere automaticamente attribuito a un account se tale collegamento non trova riscontro tecnico nei dati disponibili.

7. Analisi dei timestamp

Nel report esaminato, i messaggi erano accompagnati da riferimenti temporali comprensivi dell’indicazione del fuso orario.

Ad esempio, un timestamp può essere rappresentato nel formato:

15/03/2022 19:20:05 (UTC+1)

oppure:

16/05/2023 16:26:10 (UTC+2)

La distinzione è importante perché permette di tenere conto dell’ora solare e dell’ora legale.

Per un’analisi cronologica corretta è opportuno verificare se gli orari siano presentati in UTC oppure convertiti nel fuso locale.

Quando vengono confrontate comunicazioni provenienti da dispositivi differenti, è consigliabile utilizzare una convenzione temporale uniforme.

8. Stati dei messaggi e ricevute

Tra le informazioni presenti nei risultati Cellebrite possono comparire stati quali:

Sent

Delivered

Read

La loro disponibilità dipende dai dati conservati e interpretati.

Nel caso dei messaggi di gruppo, il report può riportare informazioni sulle ricevute riferite ai singoli partecipanti.

Questo rappresenta un elemento potenzialmente rilevante, ma deve essere interpretato con attenzione.

Un’indicazione di lettura non dimostra necessariamente quale persona fisica abbia materialmente visualizzato il messaggio, mentre l’assenza di una ricevuta non dimostra automaticamente che la comunicazione non sia stata letta.

Le conclusioni devono quindi rimanere aderenti al significato tecnico dei metadati disponibili.

9. Gli allegati WhatsApp

Oltre ai messaggi testuali, l’acquisizione può contenere riferimenti a fotografie, video, documenti e altri contenuti multimediali.

Nel caso esaminato erano presenti riferimenti a file conservati nell’area multimediale di WhatsApp, ad esempio:

/data/media/0/Android/media/com.whatsapp/WhatsApp/Media/

Il report poteva riportare informazioni come nome del file, dimensione, percorso e collegamento al messaggio.

È importante distinguere tra un allegato effettivamente recuperato e un semplice riferimento a un contenuto non più disponibile.

Un percorso o un URL riportato nel database non garantisce, da solo, che il relativo file sia stato acquisito.

Per ogni allegato rilevante è quindi necessario verificare l’effettiva disponibilità del contenuto e la sua corrispondenza con il messaggio esaminato.

10. La funzione Source Info

Una delle informazioni più utili nei report Cellebrite è il riferimento alla sorgente del dato.

Nel caso esaminato, alcuni messaggi riportavano riferimenti del tipo:

EXTRACTION_FFS.zip/data/data/com.whatsapp/databases/msgstore.db

seguiti dall’indicazione della tabella di provenienza e da ulteriori riferimenti tecnici.

Altri record richiamavano il database:

wa.db

e la tabella:

wa_contacts

La funzione di questi riferimenti è consentire al consulente di ricondurre l’informazione visualizzata al file da cui è stata estratta.

Questo passaggio è fondamentale per evitare di considerare il report come un documento autonomo e scollegato dall’evidenza digitale originale.

I riferimenti interni, compresi eventuali offset, devono essere interpretati secondo il formato del report e non automaticamente equiparati a identificativi univoci dei messaggi.

11. Filtrare ed esportare i risultati

Una volta individuata la conversazione di interesse, l’attività consiste nel selezionare i messaggi pertinenti all’oggetto dell’incarico.

Le operazioni possono comprendere la ricerca per parole chiave, il filtraggio temporale e l’individuazione di specifici interlocutori.

Le funzionalità disponibili dipendono dalla versione del visualizzatore e dal pacchetto ricevuto.

I risultati possono essere organizzati in un report contenente il testo dei messaggi, le date, i riferimenti ai partecipanti, gli allegati e le informazioni di provenienza.

Quando vengono effettuate esportazioni parziali, è opportuno documentare i criteri di selezione adottati.

Questo permette di distinguere una conversazione completa da un estratto predisposto per rispondere a uno specifico quesito.

12. Verifica incrociata con i database originali

La visualizzazione automatica delle conversazioni è molto utile, ma non deve essere considerata infallibile.

I software di parsing possono interpretare in modo incompleto alcuni record, soprattutto quando le strutture delle applicazioni vengono aggiornate.

Per i messaggi particolarmente importanti è quindi opportuno effettuare, quando possibile, una verifica incrociata con i database acquisiti.

Strumenti come DB Browser for SQLite permettono di esaminare direttamente i database, senza modificare gli originali.

L’analisi deve essere effettuata su copie di lavoro e tenere conto degli eventuali file ausiliari SQLite.

L’obiettivo è verificare che il contenuto rappresentato nel report corrisponda ai dati effettivamente presenti nelle sorgenti.

13. Preparazione della relazione tecnica

La relazione di consulenza tecnica di parte deve distinguere chiaramente tre livelli informativi.

Dati acquisiti: file e informazioni presenti nell’estrazione del dispositivo.

Dati interpretati: messaggi, contatti e altri elementi ricostruiti dal software di analisi.

Valutazioni del consulente: conclusioni tecniche formulate sulla base delle evidenze disponibili.

Questa distinzione permette di evitare che un’interpretazione venga presentata come un fatto direttamente osservato.

Nella relazione è opportuno riportare:

  1. Identificazione dell’acquisizione esaminata.
  2. Strumenti utilizzati per la consultazione.
  3. Conversazioni oggetto dell’analisi.
  4. Criteri di selezione dei messaggi.
  5. Riferimenti temporali.
  6. Identificativi degli account.
  7. Contenuti e allegati pertinenti.
  8. Riferimenti ai file sorgente.
  9. Verifiche di integrità.
  10. Limiti dell’analisi e conclusioni.

14. Considerazioni sul valore probatorio

L’utilizzo di Cellebrite non rende automaticamente incontestabile il contenuto di una conversazione.

Il software costituisce uno strumento tecnico di acquisizione e interpretazione.

L’affidabilità dell’elaborato dipende dalla corretta acquisizione dei dati, dalla loro conservazione, dalla trasparenza della metodologia e dalla possibilità di verificare le conclusioni.

In particolare, l’attribuzione di un account WhatsApp a una determinata persona deve essere distinta dalla prova che quella stessa persona abbia materialmente scritto un determinato messaggio.

Allo stesso modo, la presenza di una comunicazione nel database di un dispositivo dimostra anzitutto che quel dato era presente nell’insieme acquisito, con le caratteristiche documentate.

Eventuali conclusioni ulteriori richiedono riscontri adeguati.

15. Conclusioni

L’analisi delle chat WhatsApp mediante gli strumenti di visualizzazione Cellebrite permette di organizzare grandi quantità di dati in una rappresentazione comprensibile e utilizzabile per una consulenza tecnica.

Nel caso descritto, l’esame degli output UFED ha permesso di individuare i database WhatsApp, ricostruire una conversazione di gruppo e documentare messaggi, riferimenti temporali, partecipanti e allegati disponibili.

Il valore aggiunto dell’attività del consulente non consiste semplicemente nell’esportare un report dal software.

Consiste soprattutto nel verificare la provenienza delle informazioni, interpretare correttamente i metadati, individuare i limiti tecnici dell’acquisizione e formulare conclusioni coerenti con le evidenze.

Il software estrae e organizza i dati. È il consulente tecnico che deve verificarli, interpretarli e spiegarne il significato.


Ing. Andrea Di Dio

Consulente Tecnico di Parte – Digital Forensics e Informatica Forense


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