UNIVERSITÀ DEGLI STUDI DI CAMERINO
Facoltà di Scienze e Tecnologie
Corso di Laurea in Informatica (classe L-INF )
Dipartimento di Matematica ed Informatica
na
An
Android Forensics:
Bi
recupero dei dati cancellati con SQLite3
Anna Biselli
se
Laureanda:
Relatrice:
Prof. Maria Concetta De Vivo
lli
Correlatore:
Raul Guido Capriotti
Anno Accademico 2015-2016
na
An
Alle persone che amo...
lli
se
Bi
Indice
4
Elenco delle Figure
6
1 Introduzione
7
na
An
Indice
Bi
2 Diritto, Crimini e tecnologie
2.1 Ispezione e Sequestro . . . . . . . . . . . .
2.1.1 Sequestro di un dispositivo mobile
2.2 Analisi di un dispositivo mobile:
Mobile Forensics . . . . . . . . . . . . . .
2.2.1 Android Forensics . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
9
10
11
. . . . . . . . . . . . .
. . . . . . . . . . . . .
11
12
3 SQLite
13
3.1 Struttura della pagina . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Come viene salvato il record nel disco . . . . . . . . . . . . . . . 15
nella Forensics
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
16
17
17
19
19
21
21
23
23
25
26
lli
3
se
4 Attività e applicazioni inerenti ad SQLite
4.1 SMS . . . . . . . . . . . . . . . . . . . . .
4.1.1 Acquisizione SMS . . . . . . . . .
4.2 Skype . . . . . . . . . . . . . . . . . . . .
4.2.1 Acquisizione chat Skype . . . . . .
4.3 Facebook Messenger . . . . . . . . . . . .
4.3.1 Acquisizione Facebook Messenger .
4.4 Telegram . . . . . . . . . . . . . . . . . .
4.4.1 Acquisizione Telegram . . . . . . .
4.5 Whatsapp . . . . . . . . . . . . . . . . . .
4.5.1 Acquisizione Whatsapp . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
27
27
28
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
31
33
35
6 Tecnologie di Anti-forensics
38
7 Conclusioni
48
8 Ringraziamenti
49
na
An
5 Recupero dei dati cancellati con SQLite
5.1 Recupero SMS cancellati . . . . . . . . .
5.2 Recupero chat Skype cancellata . . . . .
5.3 Recupero chat Facebook Messenger
cancellata . . . . . . . . . . . . . . . . .
5.4 Recupero chat Telegram cancellata . . .
5.5 Recupero chat Whatsapp cancellata . .
Bibliografia
51
lli
se
Bi
Struttura di un Database SQLite . . . . . . . . . . . . . . . . . .
Struttura di una pagina di un database SQLite . . . . . . . . . .
Salvataggio di un record di un Database SQLite . . . . . . . . . .
14
14
15
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
Acquisizione Logica con AFLogicalOSE . .
Cartella AFLogical-data . . . . . . . . . . .
Acquisizione Logica SMS . . . . . . . . . .
Chat Skype . . . . . . . . . . . . . . . . . .
main.db . . . . . . . . . . . . . . . . . . . .
Chat Facebook Messenger . . . . . . . . . .
Identificativi Utenti . . . . . . . . . . . . . .
Chat Telegram . . . . . . . . . . . . . . . .
Codice Esadecimale del database Telegram
Chat Segreta Telegram . . . . . . . . . . . .
Codice Esadecimale del database Telegram
Chat Whatsapp . . . . . . . . . . . . . . . .
Database msgstore.db Whatsapp . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
18
18
19
20
21
22
23
23
24
24
25
26
26
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
5.10
5.11
5.12
5.13
5.14
5.15
Database SMS . . . . . . . . . . . . . . . . . . . . . . . . . . .
Acquisizione Logica SMS . . . . . . . . . . . . . . . . . . . . .
Acquisizione FileSystem SMS . . . . . . . . . . . . . . . . . . .
Eliminazione Chat Skype . . . . . . . . . . . . . . . . . . . . .
Database Skype . . . . . . . . . . . . . . . . . . . . . . . . . . .
Codice Esadecimale del database Skype prima dell’eliminazione
Codice Esadecimale del database Skype dopo l’eliminazione . .
Chat Messenger Facebook . . . . . . . . . . . . . . . . . . . . .
Database Facebook Messenger . . . . . . . . . . . . . . . . . . .
Codice Esadecimale database Facebook Messenger . . . . . . .
Messaggi Eliminati Telegram . . . . . . . . . . . . . . . . . . .
Autodistruzione Messaggi Telegram . . . . . . . . . . . . . . . .
Messaggi Eliminati Whatsapp . . . . . . . . . . . . . . . . . . .
Chat Whatsapp dopo aver cancellato i messaggi . . . . . . . . .
Codice Esadecimale del database Whatsapp . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
28
28
29
29
30
30
31
31
32
34
35
36
37
37
6.1
Database di Whatsapp su Sqlitebrowser . . . . . . . . . . . . . .
40
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
se
Bi
5
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
lli
3.1
3.2
3.3
na
An
Elenco delle figure
Databasa SQLite prima della modifica .
Database SQLite dopo la modifica . . .
Primo Esperimento Antiforensics . . . .
Secondo Esperimento Antiforensics . . .
Modifica Database con Sqlbrowser . . .
Messaggio inserito tramite Antiforensics
Comando stat msgstore.db . . . . . . . .
Comando stat com.whatsapp . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
41
41
42
43
44
45
46
47
na
An
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
lli
se
Bi
Introduzione
na
An
Capitolo 1
lli
7
se
Bi
Da pochi anni si è generata una nuova intersezione tra il mondo giuridico e
quello informatico: la Digital Forensics. Nello specifico questa nuova branca
consiste nello specializzarsi in quei reati definiti crimini informatici (cioè quei
reati introdotti nel Codice Penale dalla legge 547/93) e in quei reati noti al
diritto che sono stati perpetrati a mezzo di sistemi telematici e/o informatici,
ma che i criminali informatici hanno reinterpretato a causa dell’illecito utilizzo
della tecnologia informatica. Chi, ad esempio, non ha mai sentito o avuto a
che fare anche indirettamente con il cyber stalking, ovvero le molestie via Internet (invio di spam, messaggi non graditi, insulti on-line, ecc.)? Oppure con
il phishing, frode informatica che, attraverso una falsa email di un istituto di
credito o di una società di commercio elettronico, invita a fornire i propri dati
sensibili, o con il pharming, simile al phishing, ma che dirotta URL legittimi a
IP fraudolenti che falsificano gli originali. Questi sono soltanto alcuni dei c.d.d.
nuovi reati che affliggono la nostra società. L’illecito informatico, pur essendo
un illecito penale di nuova generazione è ormai il più diffuso. In questo nuovo
contesto sono coinvolti sia il diritto che l’informatica, formando cosı̀ una vera e propria disciplina orientata all’attività investigativa digitale. Il problema
maggiore si è riscontrato (e si riscontra tuttora) nel far cooperare questi due
mondi, a tratti opposti, perchè il concetto base da applicare quando si ha a
che fare con un reato è la tutela della privacy e le garanzie processuali sia della
vittima che del carnefice. Come si può immaginare quindi è difficile prendere una posizione equa su un qualunque evento criminoso, perchè di regole da
seguire ce ne sono, ma la realtà è molto più complessa e intricata visto che,
nonostante si faccia sempre più ricorso all’ausilio di macchine, si è sempre esseri
umani, diversi e ognuno con le proprie esperienze di vita che portano a punti
di vista molteplici. Come l’investigatore deve immedesimarsi nell’assassino per
capire le sue prossime mosse, l’informatico forense deve avere la conoscenza del
criminale con cui ha a che fare, la professionalità di un operatore dell’IT e la
conoscenza di base del diritto; da questa esigenza ha preso corpo la nascita di
na
An
sezioni specializzate delle forze dell’ordine, come ad esempio la Polizia Postale e
delle Comunicazioni, il GAT-Gruppo Anticrimine Tecnologico della Guardia di
Finanza, i RIS-Reparti Investigazioni Scientifiche dei Carabinieri con le sezioni
specializzate come la RTI-Sezione Telematica del Reparto Tecnologie Informatiche operante all’interno del RaCIS-Raggruppamento Carabinieri Investigazioni
Scientifiche.
lli
se
Bi
Diritto, Crimini e
na
An
Capitolo 2
tecnologie
• Conservare e non alterare la prova informatica;
se
Bi
Per far sı̀ che una prova digitale sia utilizzata in contesto legale bisogna seguire
delle linee guida sulla ricerca, reperimento e analisi dei ”contenuti” presenti in
una scena del crimine. Per prova digitale si intende ”qualsiasi dato memorizzato
o trasmesso usando un computer che supporta o respinge una teoria su come è
avvenuto un fatto offensivo o che individua elementi critici dell’offesa, come l’intenzionalità o l’alibi ”, pertanto tale definizione è applicabile sia allo strumento
che si analizza, sia al supporto che conserva le prove ricavate dall’analisi. La
digital evidence, insomma, deve essere assolutamente inalterata. In proposito
nel 2008 è stata approvata la legge n.48 che disciplina i principi di base per
eseguire un’analisi forense:
• Proibire qualsiasi alterazione successiva all’acquisizione;
• Effettuare (se possibile) una copia identica alla prova originale acquisita;
• Proibire qualsiasi alterazione della copia della prova originale;
• Assicurare la presenza di sigilli informatici sui documenti acquisiti.
lli
Questa normativa ha, di fatto, modificato sia il codice penale che il codice di
procedura penale. Nel Codice Penale è stato aggiunto l’art. 615 quinquies sulla ”Diffusione di apparecchiature, dispositivi o programmi informatici diretti
a danneggiare o interrompere un sistema informatico o telematico”, dove per
“danneggiamento informatico” si intende un qualsiasi reato volto a danneggiare illecitamente un sistema informatico (un computer o più apparati tra loro
9
na
An
interconnessi) o telematico, le informazioni, i dati o i programmi in esso contenuti o ad esso pertinenti ovvero di favorire l’interruzione, totale o parziale, o
l’alterazione del suo funzionamento. Nel codice di procedura penale sono state fatte modifiche inerenti le perquisizioni (Art.352 comma 1-bis) e sequestro
di qualunque traccia informatica (sia essa un dato o informazione) che devono
essere fatte quando vi è motivo di ritenere che abbiano una certa relazione con
il reato (Art.247 c.p.p e Art.254 c.p.p); si introduce l’Art.259 c.p.p che tratta
il delicato argomento della custodia delle prove digitali sequestrate e l’importanza dell’apposizione di sigilli (Art.260 c.p.p), della collaborazione con persone
tecnicamente capaci (Art. 348 c.p.p) e della non ripetibilità degli accertamenti
tecnici (Art.360 c.p.p). Si passa poi alla definizione del contesto investigativo e
giudiziario:viene definita la figura del difensore (Art. 327-bis c.p.p), che è colui
che cerca e individua elementi di prova a favore del proprio assistito; quando
occorre svolgere indagini o acquisire dati o valutazioni che richiedono specifiche
competenze tecniche, scientifiche o artistiche entra in gioco l’oggetto della perizia (Art. 220 c.p.p) e vengono nominati il perito e il consulente tecnico. Altri
cambiamenti sono stati redatti circa la modalità di documentazione (Art.134
c.p.p): un verbale, secondo l’Articolo 136 c.p.p, deve contenere la menzione del
luogo, dell’anno, del mese, del giorno e, quando occorre, dell’ora in cui è cominciato e chiuso, le generalità delle persone intervenute, l’indicazione delle cause,
se conosciute, della mancata presenza di coloro che sarebbero dovuti intervenire, la descrizione di quanto l’ausiliario ha fatto o ha constatato o di quanto
è avvenuto in sua presenza nonché le dichiarazioni ricevute da lui o da altro
pubblico ufficiale che egli assiste; inoltre, sempre il verbale, è da definirsi nullo
quando vi è incertezza assoluta sulle persone intervenute o manca la sottoscrizione del pubblico ufficiale che lo ha redatto(Art. 142 c.p.p.). Con il passare del
tempo però, acquisendo sempre più esperienza in campo, la normativa del 2008
è stata “integrata ed arricchita” dalle cc.dd best practices, regole fondamentali
che indicano con esattezza la prassi da seguire nelle condizioni più svariate, facendo attenzione anche allo scenario che l’investigatore si trova ad esaminare.
Secondo queste linee guida, acquistano rilevante importanza non solo il tipo
di prova informatica che si sta repertando (pc, memoria di massa, supporto
magneto-ottico, server, cellulare, smartcard, magnetic-card...) e il suo status
(scarica, carica, rotta, con batteria, senza batteria...), ma anche le modalità di
acquisizione e di conservazione ed il suo trattamento durante le varie fasi del
“repertamento” come avviene nella c.d. ”Catena di custodia” (come e da chi
sono state trattate, gestite ed esaminate le digital evidence) perchè nel caso in
cui si scopra e si dimostri una minima violazione procedurale nella manipolazione della evidenza informatica, i dati acquisiti potrebbero non avere più valore
probatorio.
lli
Ispezione e Sequestro
se
Bi
2.1
L’ispezione costituisce un mezzo di ricerca delle prove ed è una pratica invasiva
sotto ogni punto di vista. Essendo la privacy della persona al centro di ogni
operazione, spesso l’autorità giudiziaria può saltare questo passaggio chiedendo
2.1.1
Sequestro di un dispositivo mobile
Quando si ha a che fare con un cellulare le accortezze da prendere in considerazione sono davvero tante. A partire dal tipo di telefono (di base, avanzato
o smartphone), si passa alla classifica in base all’hardware (tipo di processore,
memoria, display, connettività, geolocalizzazione) e in base al software (sistema
operativo, messaggistica, applicazioni, multimedia, sincronizzazione dati con altri dispositivi, navigazione web) cosı̀ da avere un’idea molto dettagliata su come
funzioni e quale sia la sua architettura sia interna che esterna. Una volta inquadrato il tipo di apparecchio con cui si ha a che fare, si vanno a cercare anche
gli eventuali accessori associati che possono rivelarsi essenziali al momento dello
spostamento del telefono o se, prima che finisca l’acquisizione, inizia a scaricarsi. Infatti ci sono alcuni dispositivi a memoria volatile (soprattutto quelli più
vecchi) che se si spengono tornano allo stato ”nascent”, ossia quello risalente
alla prima accensione, creando quindi non pochi problemi ai fini dell’acquisizione. Come operare nello specifico allora? Se l’apparecchio risulta acceso bisogna
cercare di farlo rimanere acceso e, se c’è la possibilità di poter agire direttamente e senza rischi, attivare la modalità aereo oppure metterlo in una gabbia di
Faraday per l’isolamento radio o usare un jammer (o lo spoofer); se invece il
dispositivo è spento, bisogna lasciarlo spento.
na
An
al soggetto di collaborare e cedere di sua spontanea volontà il bene oggetto
dell’indagine. Per quanto riguarda il sequestro, ne esistono tre forme diverse:
sequestro probatorio, sequestro preventivo e sequestro conservativo. Quello che
interessa al reperimento degli elementi di prova è sicuramente il primo, perchè
impedisce che l’oggetto sequestrato venga ulteriormente manipolato o comunque
utilizzato qualificandolo come “pertinente al reato”.
Bi
2.2
Analisi di un dispositivo mobile:
se
Mobile Forensics
lli
Al momento dell’analisi, la prima cosa a cui si va incontro è il codice di sblocco
del dispositivo: gli apparecchi possono essere obstructed o unobstructed, cioè
richiedenti autenticazione o meno; se il telefono è unostructed sarà molto più
semplice andare avanti con l’acquisizione, altrimenti, a seconda del modello di
cellulare, ci sono diverse tecniche per aggirare la protezione sia hardware che
software, ma ciò richiede più tempo e un margine di rischio superiore. Una
volta superato questo passaggio si arriva all’ acquisizione che può essere fisica
o logica: per acquisizione fisica si intende quella ”bit-a-bit un’intera unità di
memorizzazione fisica (ad es: un chip di memoria)”; l’acquisizione logica invece
è la ”copia bit-a-bit di ”oggetti logici” memorizzati(file, cartelle) su spazi di memorizzazione ”logici” (es: partizioni di storage fisici)”. Il primo metodo dà come
risultato una sequenza di bit che poi andranno ad essere interpretati mediante
applicativi di digital forensics, mentre con il secondo metodo si ottengono dati
2.2.1
Android Forensics
na
An
già comprensibili al primo sguardo, in quanto strutturati ed organizzati. Ovviamente è preferibile sottoporre il dispositivo ad entrambe le acquisizioni, cosı̀ da
confermare e completare il lavoro. Fondamentale nell’acquisizione è il calcolo
dell’hash, una stringa che identifica univocamente il dato stesso e che funge da
”sigillo” per verificare che il dato non sia stato alterato, perchè in quel caso
la stringa finale sarebbe diversa da quella originale; gli algoritmi utilizzati per
calcolarlo sono vari, tra quelli più utilizzati ci sono l’MD5, lo SHA-1, SHA-256,
SHA-512. Un’altra accortezza è garantire l’accesso in sola lettura ai dispositivi
per far sı̀ che non si verifichino eventuali tentativi di scrittura da parte di software ”non tipicamente forensi”; questo è possibile tramite un approccio software
o grazie ad un dispositivo chiamato ”USB blocker” che intercetta i comandi che
dalla workstation vengono inviati al dispositivo mobile.
lli
se
Bi
Android è un sistema operativo open-source per dispositivi mobili basato sul
kernel Linux, composto da applicazioni Java che vengono eseguite su uno speciale framework, basato anch’esso su Java e orientato ad oggetti. Il dispositivo
che si è utilizzato in questa tesi è un Samsung GT-s6500 con versione Android
2.3.6. Gingerbread. Solitamente un telefono Android è più facile da analizzare semplicemente perchè è più diffuso rispetto a Windows Phone, BlackBerry
o iPhone, quindi maggiore è il mercato, maggiore è la documentazione. Ma è
anche il più sicuro? La risposta è no. Il sistema infatti è fortemente integrato
con i servizi Google (calendario, contatti, gmail...) e se da un lato per l’utente
può essere conveniente avere tutto sempre sincronizzato, per il forense questa
integrazione non solo rappresenta una mole di dati maggiore da analizzare e considerare, ma può essere anche fonte di rischi per l’incolumità delle prove, perchè
nulla vieterebbe all’indagato di connettersi al proprio dispositivo tramite PC e
manomettere o peggio cancellare delle prove.
SQLite
na
An
Capitolo 3
lli
13
se
Bi
Ogni applicazione negli smartphone ha un proprio database o base di dati.
Ma che cos’è un database? Esso può essere considerato una raccolta di dati
correlati, memorizzati su un supporto di memoria di massa e progettati per
essere fruiti da diverse applicazioni e utenti; deve essere sicuro (protetto contro interventi non autorizzati), integro (deve garantire che le operazioni non
provochino la perdita dei dati), consistente (i dati devono essere significativi
ed effettivamente utilizzabili nelle applicazioni), condivisibile (diversi utenti e
applicazioni devono poter accedere ai dati comuni), persistente (i dati devono
essere salvati su memoria di massa e non in memoria centrale), scalabile (deve
mantenere intatte le proprie performance all’aumentare della quantità di dati).
Il suo utilizzo semplifica di gran lunga il lavoro di raccolta e catalogazione dei
dati sopratutto perchè esistono molti programmi open-source ed efficaci come
SQLite. I databases SQLite sono formati da pagine di un numero fisso di bytes (1024, 2048, 4096, 8192, 16384, 32768, 65536), di cui 100 della prima sono per
l’header, i rimanenti seguono la struttura di ogni altra pagina; le parti fondamentali sono le tabelle e gli indici (una sorta di tabelle ”speciali”), e ogni tabella
usa una o più pagine. La sqlite master, o ”master table” che si trova nella prima pagina del database, ha il compito di segnalare dove si trova il root di ogni
utente che ha creato la tabella e gli indici.
Ogni tabella o indice viene memorizzata come un B-Tree (albero bilanciato)e
le pagine sono classificate come:
na
An
Figura 3.1: Struttura di un Database SQLite
• Interne, che contengono i puntatori ad altre pagine interne o alle foglie;
• Foglie (Leaf ) che contengono i dati della tabella.
Tipicamente una pagina di root punta a un certo numero di foglie; nelle tabelle
più grandi la pagina di root può puntare anche a pagine interne, mentre nelle
tabelle davvero piccole la pagina foglia o interna è costituita unicamente dalla
pagina di root.
Bi
3.1
Struttura della pagina
Prima di tutto si trova l’header (8 o 12 byte, dipende dal tipo di pagina), poi
l’array di puntatori alle celle (di lunghezza variabile) dove ognuno punta all’inizio
di un record. Si devono considerare anche gli spazi vuoti, perchè nel momento
della cancellazione di un record si cancella anche il puntatore e quindi i record
in questione è marcato come inutilizzato.
lli
se
Figura 3.2: Struttura di una pagina di un database SQLite
3.2
Come viene salvato il record nel disco
Il record è salvato come una serie continua di bytes; poi si suddivide in header
e payload. Il payload a sua volta è composto da serial type (una chiave unica
per ogni colonna della riga) e data(i dati).
na
An
Figura 3.3: Salvataggio di un record di un Database SQLite
lli
se
Bi
Attività e applicazioni
na
An
Capitolo 4
inerenti ad SQLite nella
Forensics
Bi
se
Ogni sistema operativo ha la propria libreria SQLite. Allo stesso modo, ogni
applicazione che si scarica dallo store ha il proprio database dove vengono salvati i record. È proprio da qui che inizia l’esperimento: per ogni applicazione di
messaggistica, trovare il database e andarlo a scandagliare con l’utilizzo di varie
query mirate, fino a trovare il messaggio cancellato o almeno parte di esso. La
sfida principale è stata arrivare a risultati soddisfacenti con un software opensource che, a differenza degli altri a pagamento usati in ambito processuale, ha
molte limitazioni; attualmente ce ne sono ancora pochi di software in circolazione, visto che si parla di una attività ”di elite” (a causa dei costi elevatissimi
sia del prodotto con gli opportuni sigilli informatici, che delle certificazioni per
acquisire l’autorità per collaborare su una digital evidence come privato), ma
tra questi si è scelto ViaExtract. ViaExtract è un prodotto di NowSecure che
nella versione a pagamento presenta le seguenti caratteristiche:
lli
1. Acquisizione fisica che constiste nella copia bit-a-bit del dispositivo, la più
completa;
2. Acquisizione logica, dove si ha un rapido accesso ai record memorizzati dal
telefono all’interno delle diverse aree d’interesse come SMS, MMS, Video,
Immagini, Registro chiamate, Contatti, Info sul telefono(modello, marca,
IMEI, versione del sistema operativo), nomi delle reti Wifi a cui ci si è
collegati, le App istallate;
16
3. Acquisizione backup;
4. Acquisizione filesystem, dove si ottengono più informazioni perchè viene
eseguita una copia dei file contenuti nel file system, quindi c’è la possibilità
di recuperare record cancellati all’interno di file;
6. Report avanzato.
La versione open-source ViaExtract Community Edition non supporta i punti
[1] e [6], ma è sufficiente per lo scopo ultimo di questo esperimento. Nel caso di
studio di questa tesi, dopo aver completato l’acquisizione logica e del filesystem
si sono prese in considerazione le principali applicazioni di messaggistica più in
voga in questo periodo: Whatsapp, Telegram, Messenger Facebook, Skype e i comuni Sms. In seguito le analizzeremo una per una per comprenderne
il funzionamento e se sono cosı̀ sicure come ci dicono.
4.1
na
An
5. Rooting di alcuni tipi di dispositivi con un click;
SMS
4.1.1
Acquisizione SMS
Bi
Chi non ha mai inviato un sms in vita sua? Lo Short Message Service è operativo dal 1992 e ad oggi, anche se la tecnologia è avanzata molto e la maggior parte
comunica tramite applicazioni di messaggistica istantanea, è ancora molto utilizzato. In un’analisi forense, trovare gli sms è alquanto immediato perchè basta
una semplice acquisizione logica, tant’è che si può ottenere un buon risultato
senza andare a scomodare applicativi di digital forensics.
lli
se
Per fare un’acquisizione logica il sistema operativo Santoku è davvero indispensabile: è una distribuzione Linux (quindi open source) che ospita programmi
per la Mobile Forensics, Mobile Malware e Mobile Security. Per prima cosa
bisogna abilitare l’USB Debug nel dispositivo android, che non fa altro che
rendere possibile l’interazione con il dispositivo via USB attraverso l’interfaccia ADB(Android Debug Bridge); in questo modo, attraverso la workstation si
possono installare applicazioni, interagire col sistema tramite shell e dare comandi di PUSH (invio di file all’apparato) e PULL (copia di file dall’apparato
alla postazione di lavoro forense). Il programma invece che si va ad utilizzare
è AFLogicalOSE, la versione open source dell’originale AFLogical presente nel
sistema operativo ViaExtract a pagamento:
na
An
Figura 4.1: Acquisizione Logica con AFLogicalOSE
Nell’immagine si può notare che bastano due comandi per arrivare agli SMS:
• adb devices: serve per verificare che il telefono è connesso al programma;
• aflogical-ose per istallare l’applicazione nel device.
Bi
Il risultato è che il programma estrapola i dati dei database di immagini, sms,
mms, contatti, call history, eventi, calendari e li riversa in file formato csv
(”comma-separated values”), salvando l’acquisizione nella cartella aflogical-data
creata direttamente dal programma.
li
l
se
Figura 4.2: Cartella AFLogical-data
na
An
Skype
Bi
4.2
Figura 4.3: Acquisizione Logica SMS
4.2.1
Acquisizione chat Skype
l
se
Skype è un software VoIP(per Voice over IP si intende una ”tecnologia che rende possibile effettuare una conversazione telefonica sfruttando la connessione
Inernet”)basato su network peer-to-peer che non solo si sostituisce alle compagnie telefoniche tradizionali proponendo prezzi vantaggiosi per sms e chiamate ai fissi (anche internazionali e intercontinentali), ma è anche il più usato
perchè consente videochiamate, messaggistica e invio file gratuitamente. Per
trovare i messaggi della chat bisogna utilizzare l’acquisizione del File System di
ViaExtract.
Inizialmente si è creato un profilo Skype (Anna Rossi) e si è finta una conversazione con un utente, ”infinito2006” come se fosse una reale chat.
li
na
An
Figura 4.4: Chat Skype
Bi
Dopodichè, cercando tra i file di tipo ”sqlite DB” è stato trovato il database
di Skype: “main.db”. Nella tabella messages troviamo i messaggi inviati e
ricevuti, più nello specifico i messaggi automatici di quando si richiede l’aggiunta
di un contatto.
li
l
se
na
An
4.3
Figura 4.5: main.db
Facebook Messenger
4.3.1
Bi
Messenger è un’altra tra le applicazione della categoria VoIP che permette di
chiamare, creare chat di gruppo, inviare file, mandare messaggi (anche sms se
il destinatario non è in linea), ma, a differenza di Skype, è limitata agli utenti
Facebook.
Acquisizione Facebook Messenger
li
l
se
Per fare prove di acquisizione si è creato il profilo di Anna Rossi in modo tale
da poter scambiare messaggi con il suo amico Marco.
na
An
se
Bi
Figura 4.6: Chat Facebook Messenger
lli
Il database che contiene questi messaggi è “Threads db2”: aprendolo con il
programma SQLite, verranno visualizzati nella tabella ”messages”, tra le tante
colonne, gli id dei messaggi scambiati, il sender, il timestamp, il message type e
il corpo del messaggio. L’unica cosa che manca apparentemente è il nome degli
utenti con cui si sono scambiati i messaggi, ma nella prima colonna di un’altra
tabella ”thread users” ci sono gli identificativi (user key) di ogni amico di
Facebook, quindi è facile risalire alla persona con la quale si è tenuta una chat.
4.4
Telegram
Telegram è l’applicazione meno usata perchè meno conosciuta, anche se negli
ultimi mesi c’è stato un forte incremento del suo impiego. La caratteristica
che la distingue da Whatsapp, oltre il poter inviare fino a 1,5 Gb per ogni
documento, è che si possono impostare delle chat ”crittate” e addirittura un
timer di autodistruzione.
na
An
Figura 4.7: Identificativi Utenti
4.4.1
Acquisizione Telegram
Il database a cui si fa riferimento per questa sezione è ”cache4.db”. Le conversazioni costruite sono 2: una con Anna Biselli e l’altra con Alessandro. Con
Anna Biselli, Anna Rossi ha scambiato dei messaggi in una semplice chat:
lli
se
Bi
Figura 4.8: Chat Telegram
Dall’acquisizione forense, nell’esadecimale, si trovano i messaggi scambiati:
na
An
Figura 4.9: Codice Esadecimale del database Telegram
Con Alessandro invece, Anna Rossi si è scambiata messaggi tramite chat
segreta:
lli
se
Bi
Figura 4.10: Chat Segreta Telegram
na
An
e anche questi messaggi sono salvati in plaintext in locale. Questo perchè la
cifratura ”client-to-client” dà modo di crittografare i pacchetti in modo che
solo mittente e destinatario siano in grado di decriptare i messaggi inviati
attraverso la rete. In altre parole, le chiavi crittografiche sono presenti
direttamente nello smartphone che invia e riceve i messaggi, mentre i
messaggi, quando sono in transito, sono difficili da decifrare. Telegram si
occupa di generare la coppia di chiavi: la prima, detta chiave privata, resta sul
dispositivo dell’utente e serve per decifrare i pacchetti dati ricevuti nel corso
dello scambio; la seconda, detta chiave pubblica, è condivisa con l’altro utente
con cui si scambiano i messaggi ed è utilizzata da quest’ultimo per crittografare
tutti pacchetti che invia. La chiave pubblica, inoltre, è progettata in modo che
i messaggi crittografati possano essere decifrati solo da chi possiede la relativa
chiave privata: un sistema end-to-end (o client-to-client) nel quale sono
necessarie entrambe le chiavi per spedire e ricevere messaggi “comprensibili”.
Bi
Figura 4.11: Codice Esadecimale del database Telegram
Whatsapp
se
4.5
lli
Chi non ha Whatsapp? Al giorno d’oggi è l’applicazione usata da quasi mezzo
miliardo di persone, nonostante fosse ancora a pagamento fino a qualche tempo
fa. Whatsapp garantisce agli utenti varie forme di comunicazione user-to-user,
messaggi di broadcast e chat di gruppo. Nel comunicare si possono condividere
files (immagini, audio e video), contatti e informazioni sulla geolocalizzazione.
Ogni utente ha un profilo(un nome Whatsapp, uno stato e un’immagine) salvato
nel sistema centrale cosı̀ che tutti gli altri contatti possano vederlo. Il sistema
centrale provvede anche ad altre cose, come la registrazione dell’utente e la
trasmissione del messaggio.
4.5.1
Acquisizione Whatsapp
Le chat vengono salvate nel database ”msgstore.db”. Anna Rossi in questo caso
ha scambiato messaggi con Leo:
na
An
Figura 4.12: Chat Whatsapp
Bi
Facendo un’acquisizione del file system si trovano tutti i messaggi scambiati:
se
Figura 4.13: Database msgstore.db Whatsapp
lli
Recupero dei dati cancellati
na
An
Capitolo 5
con SQLite
5.1
Bi
Recuperare dati cancellati è tutta un’altra storia: come detto precedentemente
l’acquisizione da sfruttare per questo intento è quella del File System. Nei
capitoli seguenti verrà descritto nel dettaglio come si è andati ad operare per
ogni applicazione di messaggistica.
Recupero SMS cancellati
Per gli SMS bisogna andare a cercare tra i file acquisiti il database SQLite che
contenga i messaggi. Quello di cui si sta parlando non è altro che logs.db.
lli
27
se
Figura 5.1: Database SMS
L’immagine sopra mostra il database aperto tramite un’applicazione SQLite
(SQLiteman) che ci fornisce tantissimi dati, tra cui l’id del messaggio, il numero
del contatto con cui è stato scambiato l’sms, i riferimenti temporali (timestamp)
in formato Unixtime, il nome del contatto come è salvato in rubrica e l’id e il
contenuto del messaggio.
An
Figura 5.2: Acquisizione Logica SMS
na
A questo punto si nota la differenza tra i tipi di acquisizione, logica e del file
system: nella prima vengono riportati gli stessi dati che si vedono nel cellulare,
nella seconda invece ci sono anche i messaggi cancellati in precedenza.
Bi
5.2
se
Figura 5.3: Acquisizione FileSystem SMS
Recupero chat Skype cancellata
lli
Per fare una prova, si crea un’altra chat con un altro utente (annabiselli), dove
ci si scambia messaggi normali e un file .docx. Successivamente, la stessa chat
viene completamente cancellata:
na
An
Figura 5.4: Eliminazione Chat Skype
Aprendo il database main.db con Sqliteman si trovano tutti i messaggi: quelli
che Skype invia in automatico quando aggiungi un contatto, quelli non
cancellati e soprattutto quelli che si sono cancellati precedentemente.
se
Bi
Figura 5.5: Database Skype
Nell’ esadecimale dell’acquisizione della chat, prima che venga eliminata, i messaggi risultano cosı̀:
lli
mentre, dopo esser stata cancellata, si ha:
na
An
Figura 5.6: Codice Esadecimale del database Skype prima dell’eliminazione
Figura 5.7: Codice Esadecimale del database Skype dopo l’eliminazione
Bi
Come si può notare dalle immagini non ci sono cambiamenti nel pre e post
cancellazione: si ritrovano tutti i messaggi interi senza perdita di dati.
lli
se
5.3
Recupero chat Facebook Messenger
cancellata
na
An
Si ipotizza che della conversazione con Marco rimangano solo i primi due messaggi:
Figura 5.8: Chat Messenger Facebook
Bi
Aprendo ”Threads db2” con SQLite si trovano effettivamente solo i messaggi
rimasti e nessuna traccia degli altri cancellati.
lli
se
Figura 5.9: Database Facebook Messenger
La prima cosa da fare è andare a cercare nel codice esadecimale del file SQLite
se si trova qualche spezzone di chat o frammento di messaggio. Proprio come
si poteva immaginare i dati cancellati sono ancora lı̀:
na
An
lli
se
Bi
Figura 5.10: Codice Esadecimale database Facebook Messenger
5.4
Recupero chat Telegram cancellata
Per quanto riguarda Telegram, i messaggi, una volta cancellati, vanno a finire in
qualche porzione di memoria dove non sono recuperabili perchè non vi è traccia
nelle acquisizioni fatte.
na
An
lli
se
Bi
na
An
Figura 5.11: Messaggi Eliminati Telegram
lli
se
Bi
Allo stesso modo, nella descrizione dei messaggi che si autodistruggono,
Telegram è chiaro: ”il messaggio scompare da entrambi i dispositivi e non
lascia traccia” ed è effettivamente cosı̀, quindi è probabile che questo tipo di
chat non venga proprio salvata localmente.
na
An
Figura 5.12: Autodistruzione Messaggi Telegram
5.5
Recupero chat Whatsapp cancellata
lli
se
Bi
Riprendendo in considerazione la conversazione che Anna Rossi ha avuto con
Leo su Whatsapp, si sono cancellati i seguenti messaggi:
na
An
se
Bi
Figura 5.13: Messaggi Eliminati Whatsapp
lli
Quindi, nell’ultima parte, la chat risulta cosı̀:
Guardando nel database msgstore.db ovviamente si trovano solo i messaggi
non cancellati, ma andando a spulciare nell’esadecimale del predetto file si
trovano anche gli altri, più nello specifico si trova tutta la chat integra com’era
prima di essere modificata:
na
An
Figura 5.14: Chat Whatsapp dopo aver cancellato i messaggi
Bi
Figura 5.15: Codice Esadecimale del database Whatsapp
lli
se
Effettuando una successiva acquisizione si nota che questi messaggi piano piano
si deteriorano: vengono sovrascritti con gli altri messaggi scambiati e cancellati; questo succede perchè SQLite gestisce i record da cancellare marcandoli
come ”liberi”, ma di fatto non li rende disponibili immediatamente per la sovrascrittura. Quindi è fondamentale non solo il tempo che è passato da quando
i dati sono stati cancellati dall’utente e acquisiti, ma anche la non ripetibilità
di un’acquisizione forense.
Tecnologie di Anti-forensics
na
An
Capitolo 6
lli
38
se
Bi
Se dai capitoli precedenti si può pensare di essere al sicuro da dubbi e incomprensioni per via del grande lavoro che c’è dietro al reperto di una prova digitale
ci si sbaglia di grosso, almeno in parte. Per questo lavoro di tesi, sempre nello
stesso cellulare, si è costruita una falsa prova: aggiungere ex-novo un messaggio ricevuto e cambiare il testo di un altro messaggio ricevuto in precendenza
sull’applicazione di messaggistica per eccellenza: Whatsapp. Questa tecnica si
chiama Antiforensics: “Insieme di tecniche che mirano a confondere gli applicativi e gli operatori forensi, o usare i programmi e i loro risultati per confondere
l’analista forense”. Tale tecnica non ha altro scopo che ridurre il numero di prove (più specificatamente ridurre l’attendibilità delle stesse ) e a renderle incerte
o contestabili in ambito giuridico. Ma andiamo a vedere nello specifico in cosa
consiste questa prova. Innanzitutto il programma che si utilizza è AFLogicalOse, come per l’acquisizione logica da terminale, ma in questo caso nei panni
di un utente malevolo si va ad operare sul database della chat Whatsapp. Il
problema che si può riscontrare sono i permessi di root perchè, per ogni applicazione, Android crea un utenza ”amministrativa” e ”non amministrativa” per
ragioni di sicurezza. Tale limitazione può essere aggirata con tecniche definite
di ”rooting” (o ”jailbreak” per iPhone), tenendo conto che in alcuni modelli
un’operazione di questo tipo può comportare la perdita di dati salvati, quindi
degli elementi di prova. Il Rooting consiste nella ”sostituzione totale o parziale
del sistema operativo con una versione modificata” e quindi con queste caratteristiche l’investigatore forense deve farne uso solo come ultima ed estrema ratio;
è anche vero però che molti tra gli utenti sfruttano le funzionalità del rooting,
quindi è possibile che il dispositivo come prova abbia già i permessi di root. Il
caso preso in esame è di un cellulare che non ha i permessi di root attivi e che,
dall’acquisizione forense non si sono estrapolati dati a sufficienza. La prima cosa
da considerare è il modello e la marca di telefono, per ogni dispositivo infatti
ci sono specifiche metodologie. Una volta superata questa barriera, basta prelevare tramite terminale di AFLogicalOSE il database di Whatsapp e andarlo a
modificare. Per farlo i comandi sono i seguenti:
• sudo-i per acquisire i privilegi di root
Una volta che si ha il database è relativamente semplice modificare i record e
per farlo si utilizza il programma SQLite.
na
An
• adb pull /data/data/com.whatsapp/databases/msgstore.db /home/ per scaricare nella directory indicata (qui è ”home”) il database
lli
se
Bi
na
An
Figura 6.1: Database di Whatsapp su Sqlitebrowser
Bi
Questo è il database di whatsapp aperto con il programma SQLite per Mac
(sqlitebrowser) che permette di modificare i record della base di dati;
innanzitutto bisogna studiare la struttura della base di dati con cui si ha a che
fare. Ogni messaggio ha:
• un id progressivo che conta il numero dei messaggi presenti nel
database;
se
• key remote id che non è altro che il numero di telefono della persona con
cui si è tenuta la conversazione;
• key from me,uguale a ”0” se il messaggio è inviato dal proprietario del
telefono, uguale ad ”1” se ricevuto;
• key id che consiste nell’identificativo univoco di un messaggio.
• varie colonne per i riferimenti temporali (Timestamp) che verranno
descritti in seguito.
lli
Altri campi non citati sono spesso prestabiliti, fissati, pertanto al momento
della creazione di un messaggio bisognerà copiare gli stessi valori per ogni
colonna. Per il primo esperimento di tecnica antiforensics si è ripresa la
conversazione tra Anna Rossi e Leo e si è modificato, per confutare la
fattibilità di modifica, un messaggio in una conversazione già avvenuta nella
realtà.
Questa che segue è la vera conversazione:
quest’altra invece è quella modificata
na
An
Figura 6.2: Databasa SQLite prima della modifica
Bi
Figura 6.3: Database SQLite dopo la modifica
Sul cellulare il risultato è questo:
lli
se
na
An
Figura 6.4: Primo Esperimento Antiforensics
lli
se
Bi
Un altro esperimento, che rientra tra le tecniche di antiforensics, è stato quello
di creare un messaggio che non è stato mai inviato. Pensandoci su almeno un
attimo non è difficile immaginare quali conseguenze possa provocare un
messaggio presente nel proprio cellulare, soprattutto se compromettente! in tal
caso le tecniche di antiforensics riescono a scaturire conseguenze deleterie e
devianti non solo nelle forze dell’ordine e negli analisti forensi, ma
potenzialmente anche in ognuno di noi. La chat presa di mira per questo
esperimento è quella con Alessandro, perchè Anna Rossi non ha mai ricevuto
risposta al ”Ciao. Come stai?:* ” inviato molto tempo fa.
na
An
Figura 6.5: Secondo Esperimento Antiforensics
Bi
Si noti che la data risale al 19 giugno 2015 e i messaggi sono stati inviati alle
10:19 (UTC + 2). Vogliamo che Alessandro abbia risposto ai messaggi
esattamente 2 minuti dopo Anna. Andando ad operare direttamente nel
database si aggiunge un record, quindi:
• nella colonna id ci sarà il numero successivo all’ultima riga (il numero
di righe totali è 30, quindi sarà ”31”);
• key from me impostato a 1;
se
• su key remote id il numero di telefono di Alessandro secondo la formula
”[email protected]” che ricorre nelle altre righe;
• una stringa di 18 caratteri;
lli
Quando si arriva a compilare il key id non si sa come operare, visto che non si
hanno guide su come venga calcolato dall’applicazione, perciò si sono fatte due
prove sostanziali: una consiste nel lasciare la casella vuota, l’altra nel digitare
una sequenza di cifre casuali della stessa lunghezza delle altre che compongono
le key id. La prima procedura si è dimostrata un fallimento perchè, una volta
conclusa, il messaggio non è apparso nella chat di whatsapp del dispositivo. La
seconda tecnica, invece, è risultata vincente: la parte fondamentale è stata
studiare e mettere a confronto i key id degli altri messaggi, cosı̀ da notare che
tutti sono composti da:
• un trattino(”-”) a cui segue il numero progressivo dei messaggi
scambiati(es: ”-3” indica che nella chat in questione Alessandro ha
scritto 3 messaggi);
na
An
Una volta realizzato che forse sarebbe bastata questa tecnica per ingannare i
controlli di Whatsapp si è generata la seguente stringa:
”154409093454086530-1”.
Avanzando tra le colonne di msgstore.db si incontra poi ”data” che contiene i
testi dei messaggi ricevuti/inviati; è arrivata l’ora, quindi, di aggiungere il
messaggio di Alessandro ”Tutto bene! Tu?”:
Figura 6.6: Modifica Database con Sqlbrowser
Bi
Un’altra parte fondamentale del processo è l’impostare il Timestamp. Sembra
semplice, ma Whatsapp ha vari orari di riferimento:
1. timestamp: l’ora che viene visualizzata nella chat e anche l’ora in cui il
messaggio viene inviato (presa dall’orologio locale del dispositivo);
2. received timestamp: l’ora in cui il messaggio è ricevuto (presa
dall’orologio locale del dispositivo)
se
3. send timestamp: sempre impostato a “-1”;
4. receipt server timestamp: ora in cui l’applicazione riceve l’ack dal server;
5. receipt device timestamp: ora in cui l’applicazione riceve l’ack dal
destinatario(presa dall’orologio locale del dispositivo);
6. read device timestamp: quando il destinatario ha letto il messaggio;
lli
date -d @xxxxxxxxxxxxxxx
se invece si vuole convertire una determinata data in unixtime:
date -d ”2010-10-13 14:55” ”+ %s”
na
An
Tutti questi campi devono essere compilati se si vuole far risultare il messaggio
spedito dal cellulare, oggetto dell’attività di Antiforensics a qualsiasi
destinatario. Se invece si vuole far risultare che un qualunque utente risponda
al proprietario del telefono, gli unici timestamp da compilare sono il primo e il
secondo della lista, il resto è ”-1”. Per calcolare il proprio Timestamp esistono,
oltre numerosi siti web che lo fanno in modo immediato, formule apposta per
ogni sistema operativo utilizzato.
Sotto Linux, se si vuole convertire lo unixtime in data e ora corrente:
Sotto iOS, se si vuole convertire lo unixtime in data human ready:
date -r xxxxxxxxxxxxx
invece convertire una determinata data in unixtime:
date -j -f ”%Y-%m-%d %H:%M” ”2010-10-02 14:55” ”+%s”
Una volta finito di modificare a piacimento il database (in questa prova si è
anche modificato ulteriormente il secondo messaggio inviato da Anna) basta
tornare al terminale di AFLogicalOSE e digitare:
Bi
adb push /home/santoku/Desktop/nomedb.db
/data/data/com.whatsapp/databases/msgstore.db
Dopo aver spento e riacceso il device, il risultato sarà questo:
lli
se
Figura 6.7: Messaggio inserito tramite Antiforensics
na
An
Secondo le indicazioni date nei capitoli precedenti non è difficile pensare che
tutti gli ostacoli che incontra un informatico forense come il rooting e lo
sblocco del cellulare sono le stesse a cui andrebbe incontro l’utente malevolo in
questa attività di antiforensics, ma è anche vero che esistono hacker ai quali
agire addirittura da remoto sembra un gioco da ragazzi. Come fare allora a
distinguere se un messaggio è stato effettivamente inviato/ricevuto? Il
messaggio prodotto da una tecnica antiforensics è visibile solo localmente nel
dispositivo che è stato manomesso e non ce n’è traccia nel dispositivo dell’altro
utente perchè non è salvato nei server di WhatsApp. Una soluzione a questo
problema può essere verificare i timestamp del file sqlite msgstore.db, nello
specifico se la data di creazione che risulta nel filesystem prima e dopo la
modifica del messaggio combacia o no. Attraverso il comando stat msgstore.db
lanciato da un terminale direttamente installato nel telefono, la schermata
risultante è:
Figura 6.8: Comando stat msgstore.db
Bi
Da notare i tre Timestamp presenti:
1. Access: normalmente è l’ora in cui viene creato il database di Whatsapp
per la prima volta (quindi la data e l’ora in cui l’applicazione è stata
scaricata dal Play Store); in questo caso è la data dell’ultimo salvataggio,
dopo la creazione del messaggio malevolo, di msgstore.db.
lli
se
2. Modify: si altera quando si modifica il contentuto del file;
3. Change: si altera quando si modificano gli attributi del file.
na
An
Quindi, per provare che un database Whatsapp sia stato manomesso con una
delle tecniche di Antiforensics si può andare a verificare che la data di
installazione di Whatsapp combaci, ovvero sia compatibile e/o coerente, con il
Timestamp Access. Infatti, per concludere l’esperimento e avere delle certezze
riguardo le ipotesi fatte, si è lanciato il comando stat anche per ottenere
informazioni dal file com.whatsapp:
Figura 6.9: Comando stat com.whatsapp
lli
se
Bi
Come si evince dall’immagine, l’installazione di Whatsapp nel dispositivo di
Anna Rossi è datata 19.06.2015, quindi il database è stato senza ombra di
dubbio alterato... O forse no, perchè le tecniche dell’antiforensics usano e
sfruttano le procedure e gli strumenti degli operatori della digital forensics.
Dal momento che si è riusciti ad individuare la manomissione del file
msgstore.db, si può pensare a raggirare la stessa semplicemente impostando la
data e l’ora del sistema operativo in cui si altera il file e far risultare uguale a
quella che ci si aspetta: la data presente in com.whatsapp.
Conclusioni
na
An
Capitolo 7
lli
48
se
Bi
Come dimostrato in questo studio le tecnologie stanno avanzando molto velocemente ed è sempre più importante promuovere la consapevolezza nell’utente
finale, che al giorno d’oggi è ricoperto della tecnologia più varia, affinchè si destreggi tra le insinue del web e venga a conoscenza delle tecniche base utili a
difendersi o delle autorità che in questo scenario corrono in suo aiuto all’occorrenza, come ad esempio la Polizia Postale. È vero che il capitolo Antiforensics
può scoraggiare nella ricerca di difese contro attacchi malevoli, ma è anche vero
che le dinamiche descritte qui sono fattibili per la Forensics attuale, quindi non
è detto che in un prossimo futuro non si trovi un modo per stare più al sicuro.
D’altronde l’interdisciplinarietà ha sempre portato ad un’evoluzione, perchè si
è costretti ad uscire dagli schemi convenzionali e rimettere tutto in questione.
Da questo punto di vista la Digital Forensics, ”l’unione delle forze giuridiche e
informatiche”, può essere la spinta giusta per far sı̀ che le cose cambino, che in
ambito giuridico le leggi del nostro Ordinamento Giuridico vengano rivisitate
e che allo stesso tempo nella fusione uomo-macchina non si perda di vista la
caratteristica fondamentale che ci fa essere umani: la ragione e la capacità di
giudizio.
[1] ”Computer Forensics: Ricerca ed analisi della prova informatica nell’attività investigativa della Polizia Giudiziaria”, Raul Guido Capriotti, Antonio
Deidda, Alessandro Grilli, Maurizio Pierlorenzi.
na
An
Bibliografia
[2] ”Diritto crimini e tecnologie”, articolo di M.C. De Vivo e G. Ricci in
Informatica e Diritto 2012
[3] ”Computer Forensics e Indagini Digitali”, S.Aterno, F.Cajani, G.Costabile,
M.Mattiucci, G.Mazzaraco
[4] ”Mobile Forensics: Tecniche di Acquisizione e Soluzioni Open Source,
Security Summit 2014”, Paolo Dal Checco.
lli
se
Bi
51