Italian deft 7 manual 90
-
Upload
mstrom62 -
Category
Technology
-
view
1.557 -
download
2
Transcript of Italian deft 7 manual 90
65 Manuale DEFT 7
6.10 Xplico
Il progetto DEFT ha sempre sostenuto, sin dalle primissime release di DEFT Linux,
l’evoluzione del progetto Xplico73.
L’utilizzo di Xplico è molto semplice: dato in input un file pcap74 contenente un dump di
traffico di rete IP, il programma è in grado di ricostruire i contenuti dei dati transitati in
quel momento nella rete IP rendendoli disponibili e consultabili grazie ad una comoda
interfaccia web.
Dalla release 7 di DEFT, Xplico viene gestito come servizio. Pertanto, per poter eseguire
l’applicativo, sarà necessario avviare i seguenti servizi in sequenza:
1. Apache web server;
2. Xplico.
L’avvio dei servizi sopra citati può avvenire tramite menu DEFT > menu services, oppure
tramite l’utilizzo della linea di comando.
Una volta avviati i servizi è possibile lanciare l’icona Xplico dal menu Network Forensics.
73
Il tool, reperibile presso questo indirizzo http://www.xplico.org/, è diventato nel tempo uno dei più potenti Network
Forensic Tool open source. 74
Questo tipo di file contiene pacchetti di dati catturati tramite i programmi "packet sniffing". Solitamente sono pacchetti
che sono stati registrati durante la trasmissione in una rete.
66 Manuale DEFT 7
6.10.1 Creazione di un caso
Avviamo Xplico dalla sezione Network Forensic
seguenti credenziali per ottenere l’accesso al gestore casi:
user: xplico
password: xplico
Queste credenziali riguardano l’utente predefinito che
non modificare le impostazioni dell’applicazione.
Per poter personalizzare le impostazioni del pannello di controllo, creare nuovi utenti,
ecc., è necessario eseguire il
user: admin
password: xplico
Nell’esempio seguente abbiamo creato un nuovo caso denominato Pippo dove
ed analizzato tutto il traffico che in quel momento
della nostra postazione.
un caso
Manca la didascalia
Avviamo Xplico dalla sezione Network Forensics del menu di DEFT ed inseriamo le
seguenti credenziali per ottenere l’accesso al gestore casi:
Queste credenziali riguardano l’utente predefinito che può creare e gestire solo i casi ma
non modificare le impostazioni dell’applicazione.
Per poter personalizzare le impostazioni del pannello di controllo, creare nuovi utenti,
il login con le credenziali di administrator:
abbiamo creato un nuovo caso denominato Pippo dove
tutto il traffico che in quel momento è passato attraverso l’interfaccia eth0
del menu di DEFT ed inseriamo le
può creare e gestire solo i casi ma
Per poter personalizzare le impostazioni del pannello di controllo, creare nuovi utenti,
abbiamo creato un nuovo caso denominato Pippo dove è acquisito
attraverso l’interfaccia eth0
67 Manuale DEFT 7
Al Termine della fase di acquisizione, Xplico avrà già decodifica
dati supportati, cioè:
• http
• dns
• web mail
• smtp
• pop3
Xplico: Gestione casi
Al Termine della fase di acquisizione, Xplico avrà già decodificato e ricostruito
• imap
• sip
• telnet
• ftp
• tftp
• rtp
• pjl
• facebook chat
• msn
• irc
ricostruito tutti i tipi di
rtp
pjl
facebook chat
msn
irc
68 Manuale DEFT 7
Nell’esempio precedente abbiamo visitato il sito
intercettato.
L’elenco contenente le ricostruzioni di tutti i siti web e di tutti i contenuti visualizzati è
consultabile alla voce site del menu
Report dei dati ricostruiti
ll’esempio precedente abbiamo visitato il sito http://www.libero.it richiesto dall’utente
contenente le ricostruzioni di tutti i siti web e di tutti i contenuti visualizzati è
del menu web.
richiesto dall’utente
contenente le ricostruzioni di tutti i siti web e di tutti i contenuti visualizzati è
69 Manuale DEFT 7
Va tenuto conto che l’elenco di tutte le
l’utente esegue involontariamente come ad esempio tutte le richieste che vengono fatte
dalla pagina web ai vari url contenenti pubblicità o sc
75
Richiesta ad un web server per la visualizzazione di un dete
Lista di tutte le get eseguite dal browser
Va tenuto conto che l’elenco di tutte le get75 eseguite comprende anche quelle che
l’utente esegue involontariamente come ad esempio tutte le richieste che vengono fatte
dalla pagina web ai vari url contenenti pubblicità o script per il tracciamento.
Richiesta ad un web server per la visualizzazione di un determinato url.
anche quelle che
l’utente esegue involontariamente come ad esempio tutte le richieste che vengono fatte
ript per il tracciamento.
70 Manuale DEFT 7
6.11 Hydra
Hydra è uno dei più noti software utilizzati per la forzatura di login e password mediante
attacco a forza bruta76.
76
http://it.wikipedia.org/wiki/Metodo_forza_bruta
Hydra è uno dei più noti software utilizzati per la forzatura di login e password mediante
Hydra : selezione dei protocolli
http://it.wikipedia.org/wiki/Metodo_forza_bruta
Hydra è uno dei più noti software utilizzati per la forzatura di login e password mediante
71 Manuale DEFT 7
L’elenco seguente indica i protocolli ed applicativi su cui si può eseguire un attacco brute
force utilizzando Hydra:
• AFP
• Cisco AAA
• Cisco auth
• Cisco enable
• CVS
• Firebird
• FTP
• HTTP-FORM-
GET
• HTTP-FORM-
POST
• HTTP-GET
• HTTP-HEAD
• HTTP-PROXY
• HTTPS-FORM-
GET
• HTTPS-FORM-
POST
• HTTPS-GET
• HTTPS-HEAD
• HTTP-Proxy
• ICQ
• IMAP
• IRC
• LDAP
• MS-SQL
• MYSQL
• NCP
• NNTP
• Oracle Listener
• Oracle SID
• Oracle
• PC-Anywhere
• PCNFS
• POP3
• POSTGRES
• RDP
• Rexec
• Rlogin
• Rsh
• SAP/R3
• SIP
• SMB
• SMTP
• SMTP Enum
• SNMP
• SOCKS5
• SH (v1 and v2),
• Subversion
• Teamspeak
(TS2)
• Telnet
• VMware-Auth
• VNC
• XMPP
All’interno di DEFT Linux non sono inclusi dizionari per eseguire le attività di “violazione”
password.
Tramite l’applicazione cupp è possibile generare dizionari personalizzati: rispondendo alle
domande che vi pone l’applicazione è possibile generare una elenco di parole chiave
basate sulle informazioni presenti nella macchina protetta dalle credenziali da forzare77.
77 Le wordlist sono reperibili facilmente in rete in diverse tipologie: lingue, raccolte di password, ecc. come ad esempio
ftp://ftp.ox.ac.uk/pub/wordlists/ o http://wordlist.sourceforge.net/
72 Manuale DEFT 7
6.12 Keepnote
Keepnote è un software utilizzato per la
Nel campo della Computer Forens
catalogando le memorie di massa e tutte
È possibile creare un albero di oggetti (directory e pag
esigenze ed inserire all’interno delle pagine informazioni
• Testo non formattato
• Html;
• Immagini;
• File.
Le informazioni inserite all’interno del notebook creato con
salvate nel formato KeepNote
è un software utilizzato per la raccolta e la classificazione di informazioni.
Nel campo della Computer Forensics può essere usato per la gestione delle evidence,
catalogando le memorie di massa e tutte i risultati delle analisi all’interno di altri oggetti.
KeepNote: la raccolta di evidence
È possibile creare un albero di oggetti (directory e pagine), strutturarlo secondo le proprie
ed inserire all’interno delle pagine informazioni quali:
Testo non formattato;
Le informazioni inserite all’interno del notebook creato con KeepNote possono essere
pNote o esportate in un file html.
e la classificazione di informazioni.
ics può essere usato per la gestione delle evidence,
all’interno di altri oggetti.
secondo le proprie
possono essere
73 Manuale DEFT 7
6.13 Maltego
Maltego78 può essere utilizzato sia nell’ambito de
Intelligence.
È multi-piattaforma, scritto in Java, in grado di trovare e
collegamenti tra persone, g
indirizzi IP, nomi di dominio, file, documenti, ecc.
Poiché l’utilizzo di questo programma esu
funzionamento non verrà trattato nel dettaglio
Vi suggeriamo di fare riferimento all’esaustiva documentazione ufficiale presso questo
indirizzo:
http://www.paterva.com/web5/documentation/userguide.php
78
http://www.paterva.com/
può essere utilizzato sia nell’ambito della Computer Forensics sia di Cyber
piattaforma, scritto in Java, in grado di trovare e rappresentare
collegamenti tra persone, gruppi, aziende, siti web, città, vie, e-mail, numeri di telefono,
indirizzi IP, nomi di dominio, file, documenti, ecc.
Maltego CE, creazione di un diagramma
Poiché l’utilizzo di questo programma esula dagli scopi di questo documento
non verrà trattato nel dettaglio.
Vi suggeriamo di fare riferimento all’esaustiva documentazione ufficiale presso questo
http://www.paterva.com/web5/documentation/userguide.php
Computer Forensics sia di Cyber
rappresentare graficamente
mail, numeri di telefono,
a dagli scopi di questo documento, il suo
Vi suggeriamo di fare riferimento all’esaustiva documentazione ufficiale presso questo
74 Manuale DEFT 7
Capitolo 7: Mobile forensics
Dalla release 7 di DEFT Linux sono inclusi alcuni strumenti destinati all’analisi dei
dispositivi cellulari.
È ora disponibile Sqlite database browser per permettere l’analisi dei database Sqlite,
usati nella maggior parte delle applicazioni dei dispositivi Android, Iphone e Ipad.
Per l’analisi dei cellulari è stato incluso:
• Ipddump per l’analisi dei backup di dispositivi BlackBerry;
• Iphone Analyzer per l’analisi di iPhone dalla versione 3 e precedenti;
• Iphone backup analyzer per l’analisi dei backup di dispositivi iPhone;
• Bitpim che supporta i seguenti dispositivi:
Audiovox CDM8900
LG AX-8600
LG C2000
LG G4015
LG LX570
LG PM225
LG UX-5000
LG VX-3200
LG VX-4400
LG VX-4500
LG VX-4650
LG VX-5200
LG VX-5300
LG VX-6000
LG VX-6100
LG VX-7000
LG VX-8000
LG VX-8100
LG VX-8300
LG VX-8500
LG VX-8560
LG VX-8600
LG VX-8610
LG VX-8700
LG VX-8600
LG VX-8800
LG VX-9100
LG VX-9200LG VX-
9600
LG VX-9700
LG VX-9800
LG VX-9900
LG VX-10000
LG VX-11000
Motorola E815
Motorola E815m
Motorola K1m
Motorola V325
Motorola V325M
Motorola V3c
Motorola V3cm
Motorola V3m
Motorola V3mM
Motorola V710
Motorola V710m
Samsung SCH-A870
Samsung SCH-A930
Samsung SCH-A950
Samsung SCH-U470
Samsung SCH-U740
Samsung SCH-U750
Samsung SPH-M300
Sanyo SCP-6600
(Katana)
Other Sanyo Phones
Toshiba VM-4050
75 Manuale DEFT 7
Bitpim: la lista dei telefoni supportati
76 Manuale DEFT 7
7.1 Android
Android è un sistema operativo open source, derivato da linux, destinato ai dispositivi mobile (smartphone, tablet, netbook).
Particolarmente diffuso nei sistemi a basso costo di origine cinese, è presente in una grandissima varietà di disinstallarlo sullo stesso iPhone di Appleutilizzato Nokia OS
Il sistema, sviluppato attualmente dalla Open Handset AllianceGoogle, ha visto la
release, si è arricchito di funzionalità che ne hanno garantito una notevole maturità.
In questo momento le versioni più recenti del sistema operativo sono:
• 2.3.x Gingerbread: diffusa soprattutto t
• 3.2 Honeycomb: destinata ai tablet, ha introdotto un supporto maggiore per gli schemi di
dimensioni maggiori, multiprocessori ed hardware per l’accelerazione grafica.
Si sta diffondendo sempre più la nuova verforza delle due versioni.
In questo capitolo, per ragioni di spazio, rivolgeremo la nostra attenzione solo alla versione 2.3.x Gingerbread.
L’OHA, comunque, non cura l’aggiornamento del sistemademandando questa incombenza ai singoli produttori che decidono autonomamente il rilascio delle patch per la correzione di problemi di sicurezza o l’implementazione di nuove funzioni. Questa ha causato indirettamente la nascita di un gran numero di “Rom Cooked”, tratte dalla versione 2.3, personalizzate per i singoli modelli e più performanti della versione normalmente presente nel dispositivo.
Ciò influenza pesantemente il lavoro dell’operatore che si trova a compiere un’analisi forense poiché non potrà sapere con certezza quale versione di Android sia installata nel dispositivo sottoposto a perizia
Il sistema operativo di base supporta le funzionalità essenziali di uno
• connessioni via GSM/EDGE, UMTS, Bluetooth, Wi
• chiamate;
• ricezione e trasmissione di SMS e MMS
• supporto multilingue;
• navigazione web;
• “Dalvik virtual machine”84;
• supporto multimediale audio/video
• multitasking;
• comandi vocali;
• tethering.
80 http://www.giardiniblog.com/guida-installare-
81 Da intendersi come tutti i sistemi operativi installati sui dispositivi Nokia, creati da Nokia: http://en.wikipedia.org/wiki/Nokia_OS
82 http://www.openhandsetalliance.com/
83 Vedi ad esempio la rom CyanogenMod (www.cyanogenmod.com
4.0.
84 Macchina virtuale java ottimizza per operare con consumi energetici ridotti in dispositivi con scarsa potenza.
Android è un sistema operativo open source, derivato da linux, destinato ai dispositivi mobile (smartphone, tablet, netbook).
Particolarmente diffuso nei sistemi a basso costo di origine cinese, è presente in una grandissima varietà di dispositivi, scavalcando per diffusione iOS (è possibile installarlo sullo stesso iPhone di Apple80) e l’ormai datato ma ancora molto utilizzato Nokia OS81 .
Il sistema, sviluppato attualmente dalla Open Handset AllianceGoogle, ha visto la luce per la prima volta nel novembre del 2007 e, ad ogni
release, si è arricchito di funzionalità che ne hanno garantito una notevole maturità.
In questo momento le versioni più recenti del sistema operativo sono:
2.3.x Gingerbread: diffusa soprattutto tra gli smartphone ed i tablet di fascia bassa
3.2 Honeycomb: destinata ai tablet, ha introdotto un supporto maggiore per gli schemi di
dimensioni maggiori, multiprocessori ed hardware per l’accelerazione grafica.
Si sta diffondendo sempre più la nuova versione 4.0 Ice Cream Sandwich, che dovrebbe riunire i punti di
In questo capitolo, per ragioni di spazio, rivolgeremo la nostra attenzione solo alla versione 2.3.x
L’OHA, comunque, non cura l’aggiornamento del sistema operativo installato nei singoli dispositivi ai singoli produttori che decidono autonomamente il rilascio delle patch
per la correzione di problemi di sicurezza o l’implementazione di nuove funzioni. Questa la nascita di un gran numero di “Rom Cooked”, tratte dalla versione 2.3,
personalizzate per i singoli modelli e più performanti della versione normalmente presente nel dispositivo.
lavoro dell’operatore che si trova a compiere un’analisi forense poiché non potrà sapere con certezza quale versione di Android sia installata nel dispositivo sottoposto a perizia
Il sistema operativo di base supporta le funzionalità essenziali di uno smartphone:
via GSM/EDGE, UMTS, Bluetooth, Wi-Fi, WiMAX;
ricezione e trasmissione di SMS e MMS;
supporto multimediale audio/video;
-android-su-iphone-3g
nstallati sui dispositivi Nokia, creati da Nokia: http://en.wikipedia.org/wiki/Nokia_OS
www.cyanogenmod.com) o la Rom Miui (miui.nexus-lab.com) nate entrambe attorno alla versione
Macchina virtuale java ottimizza per operare con consumi energetici ridotti in dispositivi con scarsa potenza.
Android è un sistema operativo open source, derivato da linux, destinato ai
Particolarmente diffuso nei sistemi a basso costo di origine cinese, è presente in positivi, scavalcando per diffusione iOS (è possibile
e l’ormai datato ma ancora molto
Il sistema, sviluppato attualmente dalla Open Handset Alliance82 (OHA) guidata da luce per la prima volta nel novembre del 2007 e, ad ogni
release, si è arricchito di funzionalità che ne hanno garantito una notevole maturità.
ra gli smartphone ed i tablet di fascia bassa;
3.2 Honeycomb: destinata ai tablet, ha introdotto un supporto maggiore per gli schemi di
dimensioni maggiori, multiprocessori ed hardware per l’accelerazione grafica.
sione 4.0 Ice Cream Sandwich, che dovrebbe riunire i punti di
In questo capitolo, per ragioni di spazio, rivolgeremo la nostra attenzione solo alla versione 2.3.x
operativo installato nei singoli dispositivi ai singoli produttori che decidono autonomamente il rilascio delle patch
per la correzione di problemi di sicurezza o l’implementazione di nuove funzioni. Questa politica di mercato la nascita di un gran numero di “Rom Cooked”, tratte dalla versione 2.3,
personalizzate per i singoli modelli e più performanti della versione normalmente presente nel dispositivo.
lavoro dell’operatore che si trova a compiere un’analisi forense poiché non potrà sapere con certezza quale versione di Android sia installata nel dispositivo sottoposto a perizia83.
nstallati sui dispositivi Nokia, creati da Nokia: http://en.wikipedia.org/wiki/Nokia_OS
m) nate entrambe attorno alla versione 2.3 e
77 Manuale DEFT 7
Ulteriori funzionalità possono essere disponibili in base al tipo di hardware presente (touchscreen, GPS,
accelerometro, scheda 3D, ecc.) o all’aggiunta di particolari applicazioni (client per social network,
gestionali di ogni tipo, sicurezza, giochi, ecc.).
L'Hardware utilizzato negli smartphone è strettamente legato alle caratteristiche progettuali decise dal
produttore: varia sia sulla base del budget destinato alla produzione, sia al target di mercato.
Per quanto concerne la memoria del dispositivo, nella maggior parte dei casi il sistema operativo è
installato all’interno della memoria flash, generalmente non rimovibile senza un procedimento di
dissaldatura della memoria stessa dalla piastra madre. Essa è spesso affiancata da uno slot di espansione
per memorie esterne (MicroSD).
Scelte diverse da quanto indicato nel paragrafo precedente sono spesso attuate dai produttori minori,
solitamente aziende di origine cinese, che possono progettare l'architettura in modo drasticamente
diverso. Ad esempio per quanto riguarda la memorizzazione del sistema operativo, può capitare che sia
preferito l'utilizzo di schede MicroSD, di costo minore, estraibili con una semplice pressione del dito.
è possibile quindi affermare che la difficoltà di accesso alla memoria del cellulare possa variare
enormemente in base al prodotto da analizzare.
Spesso è necessario utilizzare delle procedure che ci daranno la possibilità di andare a leggere il contenuto
di partizioni accessibili solo con i permessi di root e senza smontare la memoria a stato solido dal
dispositivo.
Il principale punto debole di questo tipo di procedure è che sarà alterato, seppur in minima parte, il
contenuto della memoria di massa. Pertanto è auspicabile che l'operatore, qualora agisca durante
procedimenti penali, richieda il regime di accertamento tecnico non ripetibile per l'attività di acquisizione
dei dati85.
7.2 Breve Panoramica sulle applicazioni Google
Nonostante sia molto comune che il sistema operativo sia più o meno personalizzato dal produttore dello
smartphone o dall’operatore telefonico, è probabile che le applicazioni google86 siano presenti e possano
costituire un fonte di informazione primaria ai fini della perizia.
Tra le varie, le due principali sono il profilo Gmail e Market87.
85
Art. 360 c.p.p. (Accertamenti Tecnici Non Ripetibili). 86 Vedi http://www.google.com/mobile/android/
87 Esistono diverse eccezioni a quanto appena scritto: un esempio può essere il netbook AC 100 di Toshiba: le applicazioni Google sono assenti ed il
market presente per le applicazioni è il Camangi Market (www.camangimarket.com).
78 Manuale DEFT 7
7.2.1 Gmail
Ai fini investigativi è il caso di tenere conto del profondo legame tra la gestione
interna dello smartphone ed un account Google. Molte delle funzionalità interne
(gestione dei contatti, calendario, google talk, google market, ecc.) dipendo, o posso
dipendere, da un account attivo sui sistemi Google.
Alcuni esempi:
• È necessario registrare un account Google per scaricare/acquistare le applicazioni dall’Android
market;
• I dati dei Contatti e del calendario posso essere salvati automaticamente anche nel profilo Google;
• Se presente, il client di Google+ offre la possibilità di caricare automaticamente ogni foto scattata
tramite la fotocamera interna in un album privato di un
corrispondente all'account Google predefinito
• La funzione Latitude, presente
nell’applicazione Maps, si
appoggia anch’essa al profilo
Google registrato e memorizza la
posizione del cellulare, check
locali particolari, ecc. Questi dati
sono poi trasmessi e registrati nel
profilo dove sono conservati fino a
quando non siano eliminati
dall'utente.
88 http://www.google.com/support/mobile/bin/answer.py?ans
Ai fini investigativi è il caso di tenere conto del profondo legame tra la gestione
interna dello smartphone ed un account Google. Molte delle funzionalità interne
ione dei contatti, calendario, google talk, google market, ecc.) dipendo, o posso
dipendere, da un account attivo sui sistemi Google.
Alcuni esempi:
È necessario registrare un account Google per scaricare/acquistare le applicazioni dall’Android
dati dei Contatti e del calendario posso essere salvati automaticamente anche nel profilo Google;
e presente, il client di Google+ offre la possibilità di caricare automaticamente ogni foto scattata
tramite la fotocamera interna in un album privato di un profilo Google+ non necessariamente
corrispondente all'account Google predefinito88;
a funzione Latitude, presente
nell’applicazione Maps, si
appoggia anch’essa al profilo
Google registrato e memorizza la
posizione del cellulare, check-in in
olari, ecc. Questi dati
sono poi trasmessi e registrati nel
profilo dove sono conservati fino a
quando non siano eliminati
http://www.google.com/support/mobile/bin/answer.py?answer=1304818
Ai fini investigativi è il caso di tenere conto del profondo legame tra la gestione
interna dello smartphone ed un account Google. Molte delle funzionalità interne
ione dei contatti, calendario, google talk, google market, ecc.) dipendo, o posso
È necessario registrare un account Google per scaricare/acquistare le applicazioni dall’Android
dati dei Contatti e del calendario posso essere salvati automaticamente anche nel profilo Google;
e presente, il client di Google+ offre la possibilità di caricare automaticamente ogni foto scattata
profilo Google+ non necessariamente
79 Manuale DEFT 7
7.2.2 Market
Analogamente a quanto si verifica per il sistema iOS con l'applicazione App Store,
l’Android Market
applicazioni che permettono di aumentare le funzionalità dello smartphone.
Sempre tramite il Market è possibile ottenere gli aggiornamenti delle applicazioni
installate.
Oltre a questa modalità, il
installare applicazioni tramite market terzi (applibs, Amazon Android Market,
ecc.) oppure tramite la copia diretta dell’applicazione all’interno del cellulare.
Va rilevato che le politiche adottate da
alquanto “indulgenti” ed hanno permesso nel corso degli ultimi mesi la presenza di malware
successivo dilagare di diverse infezioni
tramite la pronta diffusione degli aggiornamenti da parte di google sia tramite la disinstallazione remota
dell'applicazione vettore dell'infezione
Il controllo sulle applicazioni è ancora minore, se non assente, nel caso di market parallel
numerosi i casi segnalati di malware di vario tipo presenti in questi canali che per ora appaiono confinati
nell'area cinese o del vicino94.
L’effetto delle attività indicate qui sopra è stato limitato dalla non omogenea gestione, se prese
rilascio di appositi aggiornamenti del firmware da parte dei produttori di smartphone o degli operatori
telefonici che distribuiscono smartphone Android. Ciò condiziona pesantemente la possibilità di chiudere le
falle di sicurezza nei vari modelli in circolazione e contribuisce al permanere e
La presenza di ROM cooked gratuite
pratica di installare rom non originali viene spesso scoraggiata dalle case produt
Ipoteticamente le politiche di vendita prodotti e rilascio aggiornamenti potrebbero creare la possibilità di
attaccare precise aree geografiche o l'utenza di determinati operatori.
7.2.3 File System in uso
YAFFS2 (Yet Another Flash File System)
Creato da Charles Manning per l'azienda finlandese Aleph One, è al momento distribuito sotto licenza GPL.
Ad oggi è ufficialmente supportato dai seguenti sistemi operativi:
89 Il market è accessibile anche via web alla pagina https://market.android.com. Permette inoltre l’installazione da remoto dell
90 Le software house hanno inoltre la possibilità di limitare la disponibilità delle applicazioni stes
sulla base delle proprie esigenze di vendita.
91 Uno degli esempi più recenti di malware è Anserverbot ( http://www.csc.ncsu.edu/faculty/jiang/pubs/AnserverBot_Analysis.pdf )
92 https://www.mylookout.com/_downloads/lookout
93 http://arstechnica.com/gadgets/news/2011/03/google
94http://www.pcworld.com/businesscenter/article/237196/mobile_malware_is_on_the_rise_but_theres_n
95 Vedi ad esempio Cyanogen mod (http://www.cyanogenmod.com/devices) o Miui (http://miuiandroid.com/)
Analogamente a quanto si verifica per il sistema iOS con l'applicazione App Store,
l’Android Market89 viene utilizzato per lo scaricamento e/o acquisto, di giochi od
applicazioni che permettono di aumentare le funzionalità dello smartphone.
Sempre tramite il Market è possibile ottenere gli aggiornamenti delle applicazioni
installate.90
Oltre a questa modalità, il sistema operativo Android garantisce la possibilità di
installare applicazioni tramite market terzi (applibs, Amazon Android Market,
ecc.) oppure tramite la copia diretta dell’applicazione all’interno del cellulare.
Va rilevato che le politiche adottate da Google nell’accettare un’applicazione all’interno del market sono
alquanto “indulgenti” ed hanno permesso nel corso degli ultimi mesi la presenza di malware
successivo dilagare di diverse infezioni92. La diffusione di malware è stata parzialmente os
tramite la pronta diffusione degli aggiornamenti da parte di google sia tramite la disinstallazione remota
dell'applicazione vettore dell'infezione93.
Il controllo sulle applicazioni è ancora minore, se non assente, nel caso di market parallel
numerosi i casi segnalati di malware di vario tipo presenti in questi canali che per ora appaiono confinati
L’effetto delle attività indicate qui sopra è stato limitato dalla non omogenea gestione, se prese
rilascio di appositi aggiornamenti del firmware da parte dei produttori di smartphone o degli operatori
telefonici che distribuiscono smartphone Android. Ciò condiziona pesantemente la possibilità di chiudere le
in circolazione e contribuisce al permanere e alla diffusione del malware.
La presenza di ROM cooked gratuite95 permetterebbe di sopperire in parte a questo “problema” ma la
pratica di installare rom non originali viene spesso scoraggiata dalle case produttrici.
Ipoteticamente le politiche di vendita prodotti e rilascio aggiornamenti potrebbero creare la possibilità di
attaccare precise aree geografiche o l'utenza di determinati operatori.
(Yet Another Flash File System) è il file system adottato nei dispositivi Android fino alla versione 2.2.
Creato da Charles Manning per l'azienda finlandese Aleph One, è al momento distribuito sotto licenza GPL.
Ad oggi è ufficialmente supportato dai seguenti sistemi operativi:
Il market è accessibile anche via web alla pagina https://market.android.com. Permette inoltre l’installazione da remoto dell
Le software house hanno inoltre la possibilità di limitare la disponibilità delle applicazioni stesse ad aree geografiche o a gestori telefonici precisi
Uno degli esempi più recenti di malware è Anserverbot ( http://www.csc.ncsu.edu/faculty/jiang/pubs/AnserverBot_Analysis.pdf )
_downloads/lookout-mobile-threat-report-2011.pdf
http://arstechnica.com/gadgets/news/2011/03/google-using-remote-kill-switch-to-swat-android-malware-apps.ars
http://www.pcworld.com/businesscenter/article/237196/mobile_malware_is_on_the_rise_but_theres_no_need_to_panic.html#tk.mod_rel
Vedi ad esempio Cyanogen mod (http://www.cyanogenmod.com/devices) o Miui (http://miuiandroid.com/)
Analogamente a quanto si verifica per il sistema iOS con l'applicazione App Store,
tilizzato per lo scaricamento e/o acquisto, di giochi od
applicazioni che permettono di aumentare le funzionalità dello smartphone.
Sempre tramite il Market è possibile ottenere gli aggiornamenti delle applicazioni
sistema operativo Android garantisce la possibilità di
installare applicazioni tramite market terzi (applibs, Amazon Android Market,
Google nell’accettare un’applicazione all’interno del market sono
alquanto “indulgenti” ed hanno permesso nel corso degli ultimi mesi la presenza di malware91 ed il
. La diffusione di malware è stata parzialmente ostacolata sia
tramite la pronta diffusione degli aggiornamenti da parte di google sia tramite la disinstallazione remota
Il controllo sulle applicazioni è ancora minore, se non assente, nel caso di market paralleli. Sono, infatti,
numerosi i casi segnalati di malware di vario tipo presenti in questi canali che per ora appaiono confinati
L’effetto delle attività indicate qui sopra è stato limitato dalla non omogenea gestione, se presente, del
rilascio di appositi aggiornamenti del firmware da parte dei produttori di smartphone o degli operatori
telefonici che distribuiscono smartphone Android. Ciò condiziona pesantemente la possibilità di chiudere le
la diffusione del malware.
permetterebbe di sopperire in parte a questo “problema” ma la
trici.
Ipoteticamente le politiche di vendita prodotti e rilascio aggiornamenti potrebbero creare la possibilità di
system adottato nei dispositivi Android fino alla versione 2.2.
Creato da Charles Manning per l'azienda finlandese Aleph One, è al momento distribuito sotto licenza GPL.
Il market è accessibile anche via web alla pagina https://market.android.com. Permette inoltre l’installazione da remoto delle applicazioni.
se ad aree geografiche o a gestori telefonici precisi
Uno degli esempi più recenti di malware è Anserverbot ( http://www.csc.ncsu.edu/faculty/jiang/pubs/AnserverBot_Analysis.pdf )
apps.ars
o_need_to_panic.html#tk.mod_rel
80 Manuale DEFT 7
• Android
• Linux
• Windows CE
La seconda versione di questo file system garantisce un alto livello d’integrità del dato
scritto all'interno della memoria e, allo stesso tempo, cerca di mantenere il più elevat
possibile le performance di accesso ai dati
le performance di scrittura di un file sono state migliorate del 500% e le performance di
cancellazione97 del 400%.
Dalla versione 2.3 di Android, gli sviluppatori hanno deciso di abbandonare questo file
system migrando ad EXT4.
7.2.4 EXT4 file system
Ext498 (fourth extended file system) è un file system journaled
dell'Ext3 per aumentarne i limiti di immagazzinamento a 64 bit e migliorarne in parte le
prestazioni. Per quanto concerne la lettura di
inferiori a quelle di file system concorrenti
performante nelle operazioni di scrittura.
Ad oggi è considerato più sicuro rispetto agli altri file system Linux in virtù dell
semplicità e della maggior base di installazioni a scopo di test.
96 Viene inoltre tenuto in considerazione che l'hardware è di tipo “portabile” ed il tipo di memoria nel 99% dei casi è a st
solido.
97 http://www.yaffs.net/yaffs-2-specification
98 Ad oggi ext4 è supportato nativamente da qualsiasi distribuzione Linux, da Windows mediante il progetto Ext2fs e dai
principali applicativi, commerciali e non, per la Compute
99 È una tecnologia utilizzata da molti file system moderni per preservare l'integrità dei dati da eventuali cadute di tensione o
spegnimenti improvvisi; si basa sul concetto di transazione, ogni scrittura su disco è interpretata dal file system
transazione.
100 Quali ad esempio JFS, ReiserFS e XFS, Ext4
• pSOS
• eCos
• ThreadX
La seconda versione di questo file system garantisce un alto livello d’integrità del dato
scritto all'interno della memoria e, allo stesso tempo, cerca di mantenere il più elevat
possibile le performance di accesso ai dati96. Rispetto alla prima versione del file system,
le performance di scrittura di un file sono state migliorate del 500% e le performance di
Dalla versione 2.3 di Android, gli sviluppatori hanno deciso di abbandonare questo file
(fourth extended file system) è un file system journaled99 nato come miglioramento
dell'Ext3 per aumentarne i limiti di immagazzinamento a 64 bit e migliorarne in parte le
prestazioni. Per quanto concerne la lettura di file, nonostante le performance siano
inferiori a quelle di file system concorrenti100, richiede meno risorse della CPU ed è più
performante nelle operazioni di scrittura.
Ad oggi è considerato più sicuro rispetto agli altri file system Linux in virtù dell
semplicità e della maggior base di installazioni a scopo di test.
Viene inoltre tenuto in considerazione che l'hardware è di tipo “portabile” ed il tipo di memoria nel 99% dei casi è a st
specification-and-development-notes.
Ad oggi ext4 è supportato nativamente da qualsiasi distribuzione Linux, da Windows mediante il progetto Ext2fs e dai
principali applicativi, commerciali e non, per la Computer Forensics
una tecnologia utilizzata da molti file system moderni per preservare l'integrità dei dati da eventuali cadute di tensione o
spegnimenti improvvisi; si basa sul concetto di transazione, ogni scrittura su disco è interpretata dal file system
JFS, ReiserFS e XFS, Ext4.
La seconda versione di questo file system garantisce un alto livello d’integrità del dato
scritto all'interno della memoria e, allo stesso tempo, cerca di mantenere il più elevato
petto alla prima versione del file system,
le performance di scrittura di un file sono state migliorate del 500% e le performance di
Dalla versione 2.3 di Android, gli sviluppatori hanno deciso di abbandonare questo file
nato come miglioramento
dell'Ext3 per aumentarne i limiti di immagazzinamento a 64 bit e migliorarne in parte le
file, nonostante le performance siano
, richiede meno risorse della CPU ed è più
Ad oggi è considerato più sicuro rispetto agli altri file system Linux in virtù della sua
Viene inoltre tenuto in considerazione che l'hardware è di tipo “portabile” ed il tipo di memoria nel 99% dei casi è a stato
Ad oggi ext4 è supportato nativamente da qualsiasi distribuzione Linux, da Windows mediante il progetto Ext2fs e dai
una tecnologia utilizzata da molti file system moderni per preservare l'integrità dei dati da eventuali cadute di tensione o
spegnimenti improvvisi; si basa sul concetto di transazione, ogni scrittura su disco è interpretata dal file system come una
81 Manuale DEFT 7
Le principali caratteristiche si possono riassumere in:
• file system di dimensioni fino a 1 exabyte (1.000.000 terabyte);
• rimozione del limite delle 32000 sotto directory;
• pre-allocazione persistente101;
• retro compatibilità, cioè poter eseguire il mount di un file system ex4 come se
fosse un ext3 o ext2;
• aumento delle prestazioni per il controllo dell’integrità del file system (fsck);
• deframmentazione in linea riducendo drasticamente la frammentazione del file
system.
Il supporto nativo ad ext4 è stato introdotto in Android nella versione 2.3 per le sue nuove
caratteristiche legate al miglioramento nella scrittura di file ed alla loro garanzia di
integrità.
Da un punto di vista forense, tale implementazione ha reso molto più semplici le
operazioni di analisi del file system poiché, ad oggi, non esistono strumenti software,
commerciali o gratuiti, che supportino nativamente file system di tipo YAFFS.
7.2.5 Policy di utilizzo delle memorie di massa
Nella maggior parte dei dispositivi Android, l’utente finale può decidere come utilizzare la
memoria di massa, interna ed esterna, a sua disposizione.
Generalmente tutte le applicazioni scaricate ed installate dall’applicazione Market
vengono salvate all’interno della memoria interna del dispositivo, ad eccezione di quelle
che hanno implementato la funzione di scelta della memoria di massa in cui essere
installate. Anche nel caso dei file prodotti dalle applicazioni presenti102 viene data la
possibilità all’utente finale di decidere se salvarli nella memoria esterna o in quella
interna.
7.2.6 Accesso al file system del sistema operativo
Tutti i dispositivi Android delle principali case produttrici sono distribuiti senza l’utenza di
root abilitata e senza la possibilità di accedere direttamente al file system dove è presente
il sistema operativo103.
Esiste comunque la possibilità di superare questo tipo di restrizioni in pratica per tutti i
dispositivi oggi in commercio a patto che siano accettate delle modifiche parzialmente
101 In altre parole le applicazioni hanno la possibilità di pre allocare spazio su disco.
102 Ad esempio il salvataggio di allegati o di una foto scattata con il proprio dispositivo.
103 I dispositivi delle case produttrici minori di provenienza asiatica invece, in alcuni casi, non applicano questo tipo di
restrizione, facilitando in questo modo l’accesso alle informazioni di nostro interesse
82 Manuale DEFT 7
invasive al sistema stesso, alterandone in parte l’originalità. Tali operazioni, “rooting”104,
che differiscono in base al dispositivo ed alla versione del sistema operativo, vengono
disincentivate dai produttori degli smartphone al punto di minacciare la perdita
immediata della garanzia in caso di rooting.
Dal punto di vista forense, questo tipo di alterazione è strettamente necessaria per poter
accedere alle informazioni di interesse quali il registro delle chiamate, gli sms, la
cronologia della navigazione Internet e tutto ciò che una applicazione potrebbe scrivere
nella directory data.
104 http://en.wikipedia.org/wiki/Rooting_(Android_OS)
83 Manuale DEFT 7
7.3 Samsung Galaxy S i9000
Lo smartphone oggetto di analisi è un Samsung Galaxy S i9000 con Android 2.3.3.
Samsung, come altre azien
modo pesante l’architettura Android presente nei propri dispositivi.
Il file system in uso su questo dispositivo è una realizzazione proprietaria di Samsung dal
nome RFS (Robust FAT File System)
sistema di journaling che lo dovrebbe renderebbe più sicuro, evitando perdite di dati in
caso di errore.
Tale implementazione in realtà è stata piuttosto fallimentare dato che la maggioranza
degli utilizzatori del dispositivo hanno lamentato problemi di performance, legati proprio
alle scarse prestazioni che RFS fornirebbe in termini di velocità di lettura e scrittura.
Da un punto di vista forense, le partizioni di tipo RFS possono essere trattate c
VFAT. Pertanto tutti i software per la Computer Forensic che supportano file system di
tipo VFAT sono in grado leggere un file system RFS
Le principali caratteristiche hardware del dispositivo sono:
Processore:
S5PC110 CPU, 45 nm 1 GHz ARM Cortex
PowerVR SGX 540 GPU con supporto OpenGL ES
1.1/2.0.
Memoria:
512 MB LPDDR2 RAM dedicata,
8GB di memoria a stato solido con la possibilità di
espansione fino a 32 GB mediante l’utilizzo di una
microSD card.
105 È quindi possibile immaginare che tutte le distribuzioni Linux e i s
già predisposti per attività di analisi per questo tipo di dispositivo.
i9000– caratteristiche hardware
Lo smartphone oggetto di analisi è un Samsung Galaxy S i9000 con Android 2.3.3.
Samsung, come altre aziende produttrici di smartphone, ha deciso di personalizzare in
modo pesante l’architettura Android presente nei propri dispositivi.
Il file system in uso su questo dispositivo è una realizzazione proprietaria di Samsung dal
nome RFS (Robust FAT File System). Si tratta un file system FAT a cui è stato aggiunto un
sistema di journaling che lo dovrebbe renderebbe più sicuro, evitando perdite di dati in
Tale implementazione in realtà è stata piuttosto fallimentare dato che la maggioranza
tilizzatori del dispositivo hanno lamentato problemi di performance, legati proprio
alle scarse prestazioni che RFS fornirebbe in termini di velocità di lettura e scrittura.
Da un punto di vista forense, le partizioni di tipo RFS possono essere trattate c
VFAT. Pertanto tutti i software per la Computer Forensic che supportano file system di
tipo VFAT sono in grado leggere un file system RFS105.
Le principali caratteristiche hardware del dispositivo sono:
S5PC110 CPU, 45 nm 1 GHz ARM Cortex-A8 based
PowerVR SGX 540 GPU con supporto OpenGL ES
512 MB LPDDR2 RAM dedicata, 16-32 MB DRAM,
8GB di memoria a stato solido con la possibilità di
espansione fino a 32 GB mediante l’utilizzo di una
È quindi possibile immaginare che tutte le distribuzioni Linux e i software commerciali per la Computer Forensics siano
già predisposti per attività di analisi per questo tipo di dispositivo.
Lo smartphone oggetto di analisi è un Samsung Galaxy S i9000 con Android 2.3.3.
de produttrici di smartphone, ha deciso di personalizzare in
Il file system in uso su questo dispositivo è una realizzazione proprietaria di Samsung dal
. Si tratta un file system FAT a cui è stato aggiunto un
sistema di journaling che lo dovrebbe renderebbe più sicuro, evitando perdite di dati in
Tale implementazione in realtà è stata piuttosto fallimentare dato che la maggioranza
tilizzatori del dispositivo hanno lamentato problemi di performance, legati proprio
alle scarse prestazioni che RFS fornirebbe in termini di velocità di lettura e scrittura.
Da un punto di vista forense, le partizioni di tipo RFS possono essere trattate come le
VFAT. Pertanto tutti i software per la Computer Forensic che supportano file system di
oftware commerciali per la Computer Forensics siano
84 Manuale DEFT 7
7.3.1 Procedura per il “rooting” del dispositivo
La procedura per ottenere il “rooting” di questo dispositivo consiste sostanzialmente nella
modifica del kernel dello smathphone tramite l'aggiunta di un programma denominato
busybox106.
Questa procedura è la meno invasiva per il sistema e permette che la memoria non sia né
sovrascritta né cancellata, lasciando inalterato il contenuto delle partizioni di file system
che contengono i file prodotti dalle applicazioni e le applicazioni stesse.
Gli strumenti necessari per le operazioni di rooting del dispositivo Android sono:
• Il software di sincronizzazione Samsung Keies (installato ed avviato almeno una
volta)107;
• La versione di CF-ROOT108 adatta per il dispositivo sottoposto ad indagine
(controllare il numero build andando su impostazioni -> info sul telefono) che è
possibile scaricare dal sito degli sviluppatori xda109.
Dopo aver ottenuto tutto il necessario, possiamo proseguire con la procedura:
1. Abilitare la modalità di debug usb dal menu impostazioni > applicazioni > sviluppo,
permettendo in questo modo al telefono di trasmettere file tramite il
collegamento usb;
2. Spegnere il Galaxy S e riavviarlo in modalità aggiornamento/recovery premendo
contemporaneamente il tasto centrale, tasto volume giù e il tasto accensione
(dovrebbe comparire un segnale di pericolo che vi avvisa sulle potenziali azioni
dannose)110;
3. Collegare il dispositivo tramite usb al pc ed avviare l'applicativo Odin; se il campo
ID:COM è di colore giallo lo smartphone è stato riconosciuto correttamente, in
caso contrario probabilmente si è verificato qualche problema con i driver del
sistema operativo111;
4. Estrarre l’archivio CF-Root.zip, cliccare su PDA e scegliere il file scompattato;
5. Selezionare solo Auto-Reboot e F. Reset Time112 tra le opzioni disponibili;
106 http://www.busybox.net/about.html
107 http://www.samsungapps.com/about/onPc.as
108 File per la modifica del Kernel del dispositivo
109 http://forum.xda-developers.com/showpost.php?p=12651359&postcount=6
110 Tale procedura permetterà di avviare il dispositivo in una modalità dedicata all'acquisizione di file per le operazioni di
flash della memoria.
111 È necessario avviate Kies con un Galaxy S (preferibilmente non quello sottoposto ad analisi) collegato tramite usb e dal
menu strumenti cliccare su installa drive. 112 NON selezionate l'opzione Re-Partition: tale funzione cancellerà l'attuale kernel in uso
85 Manuale DEFT 7
6. Fare clic su START, dopo cir
verde. Da quel momento in poi il dispositivo si riavvierà in automatico con il
sistema “rootato”.
7.3.2 Samsung Galaxy S -
L’attività di acquisizione fisica
scomoda e rischiosa se paragonata a quella di un disco rigido.
L'unico metodo a disposizione è l'utilizzo del comando dd da eseguire o mediante la
tastiera virtuale del dispositivo (previa install
terminale") o via rete utilizzando
del comando dd a sua volta potrà essere salvato soltanto all'interno delle memorie
riconosciute dal dispositivo: o la memoria flash
Nel nostro caso si è scelto di salvare la
ragioni di comodità e portabilità della memoria esterna
Per ragioni architetturali, a differenza delle memorie di massa classiche, non è possi
eseguire la clonazione dell'intera memoria in una sola sessione, ma si è obbligati ad
eseguire il comando dd per ogni partizione montata dal dispositivo.
clic su START, dopo circa 15 secondi comparirà la scritta PASS evidenziata in
quel momento in poi il dispositivo si riavvierà in automatico con il
- acquisizione fisica della memoria flash interna
L’attività di acquisizione fisica della memoria interna del dispositivo è sicuramente molto
scomoda e rischiosa se paragonata a quella di un disco rigido.
L'unico metodo a disposizione è l'utilizzo del comando dd da eseguire o mediante la
tastiera virtuale del dispositivo (previa installazione di un app come "emulatore
terminale") o via rete utilizzando ssh (previa installazione di un "demone ssh"). L'output
a sua volta potrà essere salvato soltanto all'interno delle memorie
riconosciute dal dispositivo: o la memoria flash interna o la MicroSD.
Nel nostro caso si è scelto di salvare la bit stream image all'interno della MicroSD per
ragioni di comodità e portabilità della memoria esterna.
Per ragioni architetturali, a differenza delle memorie di massa classiche, non è possi
eseguire la clonazione dell'intera memoria in una sola sessione, ma si è obbligati ad
per ogni partizione montata dal dispositivo.
ca 15 secondi comparirà la scritta PASS evidenziata in
quel momento in poi il dispositivo si riavvierà in automatico con il
della memoria interna del dispositivo è sicuramente molto
L'unico metodo a disposizione è l'utilizzo del comando dd da eseguire o mediante la
azione di un app come "emulatore
(previa installazione di un "demone ssh"). L'output
a sua volta potrà essere salvato soltanto all'interno delle memorie
all'interno della MicroSD per
Per ragioni architetturali, a differenza delle memorie di massa classiche, non è possibile
eseguire la clonazione dell'intera memoria in una sola sessione, ma si è obbligati ad
86 Manuale DEFT 7
Per poter conoscere il numero di tutte le partizioni in uso dal sistema è necessario
visualizzarle tramite il comando mount.
Un esempio di output del comando può essere il seguente:
rootfs on / type rootfs (ro,noatime,nodiratime) tmpfs on /dev type tmpfs (rw,noatime,nodiratime,mode=755) devpts on /dev/pts type devpts (rw,noatime,nodiratime,mode=600) proc on /proc type proc (rw,noatime,nodiratime) sysfs on /sys type sysfs (rw,noatime,nodiratime) none on /acct type cgroup (rw,relatime,cpuacct) tmpfs on /mnt/asec type tmpfs (rw,noatime,nodiratime,mode=755,gid=1000) tmpfs on /mnt/obb type tmpfs (rw,noatime,nodiratime,mode=755,gid=1000) none on /dev/cpuctl type cgroup (rw,relatime,cpu) /dev/block/stl9 on /system type rfs (ro,noatime,nodiratime,vfat,log_off,check=no,gid/uid/rwx,iocharset=utf8) /dev/block/stl3 on /efs type rfs (rw,nosuid,nodev,noatime,nodiratime,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8) /dev/block/mmcblk0p2 on /data type rfs (rw,nosuid,nodev,noatime,nodiratime,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8) /dev/block/stl10 on /dbdata type rfs (rw,nosuid,nodev,noatime,nodiratime,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8) /dev/block/stl11 on /cache type rfs (rw,nosuid,nodev,noatime,nodiratime,vfat,llw,check=no,gid/uid/rwx,iocharset=utf8) /dev/block/stl6 on /mnt/.lfs type j4fs (rw,noatime,nodiratime) /sys/kernel/debug on /sys/kernel/debug type debugfs (rw,noatime,nodiratime) /dev/block/vold/179:1 on /mnt/sdcard type vfat (rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) /dev/block/vold/179:9 on /mnt/sdcard/external_sd type vfat (rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) /dev/block/vold/179:9 on /mnt/secure/asec type vfat (rw,dirsync,nosuid,nodev,noexec,noatime,nodiratime,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) tmpfs on /mnt/sdcard/external_sd/.android_secure type tmpfs (ro,relatime,size=0k,mode=000) /dev/block/dm-0 on /mnt/asec/android.androidVNC-2 type vfat (ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) /dev/block/dm-1 on /mnt/asec/net.androgames.level-2 type vfat (ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) /dev/block/dm-2 on /mnt/asec/punteroanull.app.androick-1 type vfat (ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) /dev/block/dm-3 on /mnt/asec/com.natenai.glowhockey-1 type vfat (ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iochars
87 Manuale DEFT 7
et=iso8859-1,shortname=mixed,utf8,errors=remount-ro) /dev/block/dm-4 on /mnt/asec/com.feelingtouch.bocce-1 type vfat (ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro) /dev/block/dm-5 on /mnt/asec/com.fridgecat.android.atiltlite-1 type vfat (ro,dirsync,nosuid,nodev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
Prima di avviare l’acquisizione è necessario ottenere i permessi di root digitando il
comando su. Dopo qualche secondo il terminale chiederà se confermare la richiesta di
autorizzazione al programma per l’esecuzione con i privilegi di amministratore.
Una volta ottenuti i permessi, il comando da eseguire per l'acquisizione è il classico dd così
configurato:
dd if=partizione of=/mnt/sdcard/nomefile.img
Pertanto nel caso in cui volessimo acquisire la partizione /system, il comando sarà
dd if=/dev/block/stl9 of=/mnt/sdcard/system.img
Una volta terminata l'acquisizione sarà possibile accedere alla partizione clonata mediante
il comando mount, trattando la partizione RFS come se fosse una vfat:
mount -o loop -t vfat –o ro system.img /mnt/evidence/system
dove
• -o loop permette di eseguire il mount di immagini in formato bit stream;
• -t vfat dichiara che il tipo di partizione che si desidera utilizzare è di tipo vfat;
• -o ro permette di accedere in sola lettura alla partizione;
• /mnt/evidence/system è il percorso creato per visualizzare il contenuto della
memoria acquisita all'interno della directory.
7.4 Samsung Galaxy S - acquisizione fisica della memoria esterna
A differenza della memoria flash interna del dispositivo, l'acquisizione della MicroSD può
essere eseguita seguendo le indicazioni delle best practices della Computer Forensics e
non necessità dell’accesso come root:
1. estrarre la scheda MicroSD;
2. collegarla ad un write blocker113 o ad un sistema che abbia funzioni equivalenti114;
3. calcolo dell'hash115 della memoria originale;
113 Dispositivo usato per prevenire eventuali scritture su memorie di massa oggetto di analisi.
114 Distribuzioni Linux per la Computer Forensics.
115 L'hash è una funzione matematica univoca ed unidirezionale (cioè che non può essere invertita), che trasforma un testo
di qualunque lunghezza (input) in un testo di lunghezza fissa (output) relativamente limitata; in pratica, applicando una
88 Manuale DEFT 7
4. Acquisizione tramite il programma preferito116 e verifica che l'hash della memoria
clonata coincidi con l'hash dell’originale.
7.4.1 Lavorare direttamente sullo smartphone
Nei casi di particolare urgenza, è possibile eseguire attività di ricerca dei file d’interesse
direttamente dal touchscreen del dispositivo mediante l'utilizzo di alcune applicazioni
scaricabili gratuitamente dal Market.
Un’applicazione molto utile per questo tipo di attività, pur non essendo un software
creato espressamente per la Computer Forensics, è File Manager HD117. Attivando la
funzione "Root Explorer" nelle impostazioni dell'applicativo, è possibile navigare nel file
system anche nelle directory protette come data, dbdata e system, ricercando i file di
interesse mediante l'apposita funzione di search e copiarli nella microSD card per
un’analisi più approfondita su una postazione adibita all'analisi dotata degli strumenti
necessari.
7.4.2 Posizione e analisi delle applicazioni e dei file di comune interesse
Generalmente un’applicazione è composta dal suo file eseguibile con estensione .apk ed i
suoi file di configurazione o database.118
Le cartelle che più interessano l'operatore sono:
• /system/app/ : contiene le applicazioni di base fornite dal produttore del
dispositivo;
• /data/app/ : contiene le applicazioni che l’utente ha installato tramite
l’applicativo Market;
• /data/data/ : contiene i file di configurazione e i database delle applicazioni
presenti;
• /dbdata/database/ : qui sono presenti i database contenente gli sms, gli mms, la
rubrica e tutto ciò che riguarda la parte fonia.
L’analisi dei file di configurazione e dei database delle applicazioni può essere eseguita
mediante strumenti come editor di testo per le configurazioni testuali ed xml e con un
normale client SQLite119 per i database con estensione .db.
funzione di hash a un file o ad un intero hard disk, si ottiene una sequenza alfanumerica, ad es. di 32 caratteri, che
rappresenta una specie di "impronta digitale" del file, e viene detta valore di hash.
116 Esempio: FTK Imager per Windows, Guymager o dd per Linux
117 https://market.android.com/details?id=com.rhmsoft.fm
118 Samsung, come tutti gli altri produttori di dispositivi, ha preferito non modificare la porzione di memoria standard dove
raggruppare gli applicativi.
119 Sqlite (http://www.sqlite.org) permette di creare una base di dati, comprese tabelle, query, form e report, in un unico file.
89 Manuale DEFT 7
Nell'esempio riportato nell'immagine, si è usato un client SQLite per aprire il database
degli sms ed mms di nome mmssms.db
/dbdata/database/com.android.providers.telephony/
ed analizzarne il contenuto, esportandolo i dati utili nel formato desiderato (txt, xml o
csv).
L’analisi delle tabelle di un database SQLite può anche essere eseguita mediante l’utilizzo
di query sql120 senza l’utilizzo di strumenti dedicati
Esempi:
È possibile visualizzare tutti i campi contenuti nella tabella sms con la richiesta:
Nel caso in cui interessi solo il contenuto di tutti gli sms:
Se volessimo visualizzare solo gli sms ricevuti dall’utenza +3912345:
Select *
120 Interrogazione di un database nel compiere determinate operazioni (selezione, inserimento, cancellazione dati, ecc..) da
eseguire in uno o più database; solitamente una query viene interpretata, dal linguaggio Sql per renderla più comprensibile
al DBMS
121 Come ad esempio http://www.filesig.co.uk/sqlite
Nell'esempio riportato nell'immagine, si è usato un client SQLite per aprire il database
mmssms.db contenuto in
/dbdata/database/com.android.providers.telephony/
alizzarne il contenuto, esportandolo i dati utili nel formato desiderato (txt, xml o
L’analisi delle tabelle di un database SQLite può anche essere eseguita mediante l’utilizzo
senza l’utilizzo di strumenti dedicati121.
le visualizzare tutti i campi contenuti nella tabella sms con la richiesta:
Select * from sms
Nel caso in cui interessi solo il contenuto di tutti gli sms:
Select body from sms
Se volessimo visualizzare solo gli sms ricevuti dall’utenza +3912345:
Select * from sms where address= ‘+3912345’
azione di un database nel compiere determinate operazioni (selezione, inserimento, cancellazione dati, ecc..) da
eseguire in uno o più database; solitamente una query viene interpretata, dal linguaggio Sql per renderla più comprensibile
http://www.filesig.co.uk/sqlite-forensic-reporter.html
Nell'esempio riportato nell'immagine, si è usato un client SQLite per aprire il database
alizzarne il contenuto, esportandolo i dati utili nel formato desiderato (txt, xml o
L’analisi delle tabelle di un database SQLite può anche essere eseguita mediante l’utilizzo
le visualizzare tutti i campi contenuti nella tabella sms con la richiesta:
azione di un database nel compiere determinate operazioni (selezione, inserimento, cancellazione dati, ecc..) da
eseguire in uno o più database; solitamente una query viene interpretata, dal linguaggio Sql per renderla più comprensibile