際際滷

際際滷Share a Scribd company logo
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 - iPhone Backup Analyzer 2
Software open source per lanalisi di backup iOS
Dott. Mario Piccinelli
mario.piccinelli@ing.unibs.it
Universit`a degli Studi di Brescia
Dipartimento di Ingegneria dellInformazione
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Outline
Presentazione
iOS Backup
iPBA - Features
iPBA 2 - Plugins
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 - iPhone Backup Analyzer 2
Software open source per lanalisi della directory di backup di un
dispositivo iOS.
Licenza MIT
Permission is hereby granted, free of charge, [...] to deal in
the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute,
sublicense, and/or sell copies of the Software, [...], subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 - iPhone Backup Analyzer 2
Scritto in Python 2 con interfaccia utente sviluppata in Qt, quindi
multipiattaforma (Windows, Linux, Mac Os X).
Viene distribuito in forma di sorgente (script Python e 鍖le Qt
Designer) e come eseguibile Windows precompilato.
http://www.ipbackupanalyzer.com
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 - iPhone Backup Analyzer 2
Cosa `e:
Strumento per lanalisi dei dati di backup.
Strumento per lesplorazione degli archivi contenuti nel
backup.
Gratuito, con sorgenti aperti, il cui funzionamento pu`o essere
veri鍖cato da perizia indipendente.
A quanto mi risulta lunico software di questo tipo presente
nel mondo open source.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 - iPhone Backup Analyzer 2
Cosa NON `e:
Un software forense standard (ma quale lo `e?).
Un sistema di analisi automatico: le funzionalit`a di
reportistica sono impostate ma non ancora complete.
Un sistema completo.
Ovviamente, nulla impedisce che un domani lo sia!
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 - iPhone Backup Analyzer 2
Di cosa ha bisogno:
Sviluppo nuove funzionalit`a.
Veri鍖che indipendenti di funzionamento.
Individuazione di errori.
Tutto quello che ci pu`o venire in mente.
Siete tutti invitati!
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Outline
Presentazione
iOS Backup
iPBA - Features
iPBA 2 - Plugins
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iOS Backup
Ogni volta che un dispositivo iOS viene sincronizzato con un
computer, ad esempio mediante lapplicativo iTunes R , ne viene
eseguito un backup (salvo che non sia stato disattivato
manualmente).
Il backup pu`o essere cifrato, ma di default `e in chiaro.
Il backup `e incrementale: viene mantenuta solo una copia per
ciascun dispositivo, la pi`u recente. Eccezione se un dispositivo
viene resettato.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iOS Backup mediante iTunes
Canale privilegiato per lesecuzione di backup di iDevices.
Non si possono utilizzare metodi hardware/software per garantire
la non modi鍖ca del dispositivo in esame.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iOS Backup mediante software open source
Canale alternativo per la sola estrazione dati. Il backup realizzato `e
identico a quello realizzato da iTunes. In e鍖etti si tratta di una
emulazione del protocollo di backup di iTunes.
$ ./idevicebackup2 backup new backup dir
Anche in questo caso non si possono utilizzare metodi
hardware/software per garantire la non modi鍖ca del dispositivo in
esame. Tuttavia il software `e open source e se ne pu`o quindi
analizzare il funzionamento.
Il software `e disponibile allindirizzo:
http://www.libimobiledevice.org/
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iOS Backup
Cosa NON contiene:
File multimediali sincronizzati mediante iTunes.
Email (sincronizzate con account esterni).
Eseguibili delle App installate.
Eseguibili di sistema.
Password (o meglio, in realt`a ci sono ma sono cifrate).
Dati delle applicazioni considerati temporanei o nella directory
Cache.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iOS Backup
Cosa contiene:
Tutto il resto...
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iOS Backup
Che tipi di 鍖le pu`o contenere:
Database SQLite3.
File PLIST.
File PLIST binari.
Altro (鍖le di testo, 鍖le multimediali, 鍖le binari in formato
proprietario).
I formati SQLite e PLIST sono i formati privilegiati per
larchiviazione di informazioni sotto iOS.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Database SQLite
Database relazionale contenente una o pi`u tabelle, interamente
racchiuso in un singolo 鍖le.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Cos`e un database relazionale
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
File PLIST
File di testo in formato simile a XML per larchiviazione di
informazioni strutturate e gerarchiche.
Contiene diversi tipi di dati racchiusi tra tag standard:
<string>testo</string>
<integer>10</integer>
<array>
<string>testo1</string>
<string>testo2</string>
</array>
I 鍖le PLIST possono essere archiviati in forma binaria (compatta)
per risparmiare spazio.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Esempio di PLIST
<plist version="1.0">
<dict>
<key>BookmarksData</key>
<array>
<data>
CAAQABgDIAAqJ1ZpYSBWYWxsb...
</data>
<data>
FHUYGHFGIYhu4789HIGUVUIGYU......
</data>
<key>BookmarksData</key>
<array>
...
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Posizione backup
In OS X:
(your home directoy)/ Library/ Application Support/ MobileSync/
Backup/
In Windows XP:
C: Documents and Settings user Application Data Apple
Computer MobileSync Backup
In Windows Vista/Seven:
C: Users user AppData Roaming Apple Computer
MobileSync Backup
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Esempio di directory di backup
I backup sono divisi in cartelle denominate con lUUID (Universally
Unique IDenti鍖er) del dispositivo di origine.
Se esistono diverse copie di un backup (solo per dispositivi
resettati), quelle archiviate sono identi鍖cate anche mediante data e
ora.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Contenuto directory backup
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Contenuto del backup
Manifest.mbdb: 鍖le binario con lindice dei 鍖le contenuti nel
backup e i loro attributi.
Status.plist: 鍖le PLIST con informazioni sulle鍖ettuazione del
backup.
Manifest.plist: 鍖le PLIST che descrive il contenuto del backup.
Info.plist: 鍖le PLIST con informazioni sul dispositivo oggetto
del backup.
Tutti i singoli 鍖le copiati dal 鍖lesystem del dispositivo, senza
distinzione di path.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Info.plist
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Manifest.plist
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Status.plist
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Organizzazione dei 鍖le
I 鍖le contenuti nel backup sono divisi in domini, ovvero
raggruppamenti logici di contenuti. In iOS 5, i domini sono:
AppDomain: dati delle applicazioni non di sistema.
CameraRollDomain: contenuto della galleria fotogra鍖ca.
HomeDomain: dati delle applicazioni di sistema.
KeychainDomain: dati relativi al portachiavi.
ManagedPreferencesDomain: vuoto.
MediaDomain: elementi multimediali non legati alla
fotocamera (ad es. allegati degli SMS).
(continua)
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Organizzazione dei 鍖le
(continua)
MobileDeviceDomain: provisioning pro鍖les.
RootDomain: dati di cache della geolocalizzazione.
SystemPreferencesDomain: con鍖gurazione dei componenti
core di iOS.
WirelessDomain: con鍖gurazione della parte telefonica del
dispositivo.
Gli elementi del dominio delle applicazioni sono a loro volta divisi
in sottodomini, uno per ciascuna applicazione.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Organizzazione dei 鍖le
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Decodi鍖ca dei nomi
La prima fase dellanalisi `e ricostruire il legame tra il nome 鍖le
reale (dominio - dottodominio - path - 鍖lename - ext) e il nome
e鍖ettivo nel backup (stringa esadecimale di 40 caratteri).
I dati reali sono contenuti nel 鍖le Manifest.mbdb, il nome e鍖ettivo
si ricava calcolando lhash SHA1 del reale, nella forma:
domain-subdomain-path/name
SHA1
nome effettivo
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Struttura 鍖le MBDB
Header Record Record Record
"mbdb50"
uint8[6]
Domain
string
Path
string
Link Target
string
Data Hash
string
unknown
string
Perm.
uint16
unknown
uint32
unknown
uint32
User ID
uint32
Group ID
uint32
m. time
uint32
a. time
uint32
c. time
uint32
File size
uint64
Flag
uint8
Property count
uint8
Property Property
Name
string
Value
string
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Outline
Presentazione
iOS Backup
iPBA - Features
iPBA 2 - Plugins
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Struttura iPBA
Analisi PLIST
Analisi SQLite
Analisi PLIST
binari
Decodi鍖ca ed esplorazione struttura
backup
Visualizzazione
testo e immagini
Visualizzazione
鍖le binari
Analisi EXIF
SMS / iMessage
Lista chiamate
Rubrica indirizzi
Parametri di
connessione
Stato Safari
Contatti Safari
Preferiti Safari
Thumbnails
History e preferiti
YouTube
...
iPBA
(ad oggi)
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Schermata principale
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Visualizzatore di 鍖le PLIST
Analisi del contenuto del 鍖le Manifest.plist.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Visualizzatore di immagini
Preview, dati EXIF, informazioni 鍖le.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Visualizzatore di database SQLite3
Visualizzazione del database del log chiamate.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Visualizzatore di 鍖le binari in HEX
Visualizzazione esadecimale di un 鍖le.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Analisi di una applicazione
Esempio della procedura di reverse engineering del contenuto del
backup di una applicazione.
Caso: nel backup individuo i dati di unapplicazione (RunKeeper,
applicazione usata per registrare attivit`a di jogging) e devo
estrarne informazioni utili per una indagine.
Che informazioni mi aspetto di individuare? I dati relativi
allattivit`a sportiva? Proviamo su un dispositivo di test: installiamo
lappplicazione, generiamo dei dati noti e tentiamo di individuarli
nel backup di prova.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Analisi applicazione - RunKeeper
Analisi del contenuto del backup. Individuiamo un database
SQLite contenente una tabella trips.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Analisi applicazione - Runkeeper
Incrociamo i dati contenuti nel database con i dati visualizzati sul
dispositivo di test, e veri鍖chiamo che le nostre supposizioni siano
confermate.
start date: 1301423993.75
convertito da Unix Epoch: Tue
Mar 29 2011 20:39:53 GMT+2
distance: 4719.983374
in chilometri: 4.72 km
elapsed time: 2627.6
convertito da secondi a minuti:
43.787 minuti = 43:48 minuti
calories: 322
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Outline
Presentazione
iOS Backup
iPBA - Features
iPBA 2 - Plugins
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Struttura modulare
iPBA 2 `e stato pensato per lanalisi del backup a scopo di studio.
Successivamente ci si `e accorti che la complessit`a dei dati non
permette unanalisi consistente semplicemente analizzando gli
elementi singoli.
卒E stato quindi deciso di implementare un sistema modulare,
composto da singoli moduli ciascuno specializzato nellanalisi di un
archivio speci鍖co.
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Struttura modulare
Esempio di complessit`a: struttura rubrica contatti.
ABPerson
ROWID
First
Last
...
ABMultiValue
UID
record_id
property
label
value
ABMultiValueLabel
ABMultiValueEntry
parent_id
key
value
ABMultiValueEntryKey
3
4
5
22
phone number
email address
multivalue entry (address)
url
ABGroupMembers
UID
group_id
member_id
ABGroup
ROWID
name
ABThumbnailImage
record_id
data
ABFullSizeImage
record_id
data
AddressBookImages.sqlitedb
AddressBook.sqlitedb
Sample values for the
"property" 鍖eld of the
"ABMultiValue" table
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 Plugin - rubrica contatti
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 Plugin - elenco chiamate
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 Plugin - reti WiFi contattate
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 Plugin - cronologia Safari
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 Plugin - preferiti Safari
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 Plugin - stato Safari
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 Plugin - elenco SMS/iMessage
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 Plugin - thumbnails
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
iPBA 2 Plugins
Molti altri plugin, ed altri ancora in sviluppo o in progetto. Tra
quelli attualmente presenti nella release si citano:
Skype
Viber
Whatsapp
Informazioni generali sul telefono e sul backup
Applicativo Note
Reti WiFi analizzate (range IP, dominio, MAC address
dellAP)
...
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Conclusione
iPBA `e liberamente scaricabile allindirizzo:
http://www.ipbackupanalyzer.com
I sorgenti sono liberamente disponibili su GitHub:
https://github.com/PicciMario/iPhone-Backup-Analyzer
Ogni contributo allo sviluppo `e bene accetto! :-)
Sviluppo nuovi moduli
Test/individuazione errori
Sviluppo nuove funzionalit`a
Suggerimenti
Report di uso in casi pratici
...
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2
Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
Conclusione
Grazie per lattenzione!
Mario Piccinelli
mario.piccinelli@ing.unibs.it
Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it
iPBA 2 - iPhone Backup Analyzer 2

More Related Content

iPhone Backup Analyzer 2 - presentation [ITA]

  • 1. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 - iPhone Backup Analyzer 2 Software open source per lanalisi di backup iOS Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it Universit`a degli Studi di Brescia Dipartimento di Ingegneria dellInformazione Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 2. Outline Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
  • 3. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 - iPhone Backup Analyzer 2 Software open source per lanalisi della directory di backup di un dispositivo iOS. Licenza MIT Permission is hereby granted, free of charge, [...] to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, [...], subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 4. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 - iPhone Backup Analyzer 2 Scritto in Python 2 con interfaccia utente sviluppata in Qt, quindi multipiattaforma (Windows, Linux, Mac Os X). Viene distribuito in forma di sorgente (script Python e 鍖le Qt Designer) e come eseguibile Windows precompilato. http://www.ipbackupanalyzer.com Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 5. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 - iPhone Backup Analyzer 2 Cosa `e: Strumento per lanalisi dei dati di backup. Strumento per lesplorazione degli archivi contenuti nel backup. Gratuito, con sorgenti aperti, il cui funzionamento pu`o essere veri鍖cato da perizia indipendente. A quanto mi risulta lunico software di questo tipo presente nel mondo open source. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 6. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 - iPhone Backup Analyzer 2 Cosa NON `e: Un software forense standard (ma quale lo `e?). Un sistema di analisi automatico: le funzionalit`a di reportistica sono impostate ma non ancora complete. Un sistema completo. Ovviamente, nulla impedisce che un domani lo sia! Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 7. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 - iPhone Backup Analyzer 2 Di cosa ha bisogno: Sviluppo nuove funzionalit`a. Veri鍖che indipendenti di funzionamento. Individuazione di errori. Tutto quello che ci pu`o venire in mente. Siete tutti invitati! Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 8. Outline Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
  • 9. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iOS Backup Ogni volta che un dispositivo iOS viene sincronizzato con un computer, ad esempio mediante lapplicativo iTunes R , ne viene eseguito un backup (salvo che non sia stato disattivato manualmente). Il backup pu`o essere cifrato, ma di default `e in chiaro. Il backup `e incrementale: viene mantenuta solo una copia per ciascun dispositivo, la pi`u recente. Eccezione se un dispositivo viene resettato. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 10. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iOS Backup mediante iTunes Canale privilegiato per lesecuzione di backup di iDevices. Non si possono utilizzare metodi hardware/software per garantire la non modi鍖ca del dispositivo in esame. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 11. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iOS Backup mediante software open source Canale alternativo per la sola estrazione dati. Il backup realizzato `e identico a quello realizzato da iTunes. In e鍖etti si tratta di una emulazione del protocollo di backup di iTunes. $ ./idevicebackup2 backup new backup dir Anche in questo caso non si possono utilizzare metodi hardware/software per garantire la non modi鍖ca del dispositivo in esame. Tuttavia il software `e open source e se ne pu`o quindi analizzare il funzionamento. Il software `e disponibile allindirizzo: http://www.libimobiledevice.org/ Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 12. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iOS Backup Cosa NON contiene: File multimediali sincronizzati mediante iTunes. Email (sincronizzate con account esterni). Eseguibili delle App installate. Eseguibili di sistema. Password (o meglio, in realt`a ci sono ma sono cifrate). Dati delle applicazioni considerati temporanei o nella directory Cache. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 13. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iOS Backup Cosa contiene: Tutto il resto... Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 14. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iOS Backup Che tipi di 鍖le pu`o contenere: Database SQLite3. File PLIST. File PLIST binari. Altro (鍖le di testo, 鍖le multimediali, 鍖le binari in formato proprietario). I formati SQLite e PLIST sono i formati privilegiati per larchiviazione di informazioni sotto iOS. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 15. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Database SQLite Database relazionale contenente una o pi`u tabelle, interamente racchiuso in un singolo 鍖le. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 16. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Cos`e un database relazionale Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 17. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins File PLIST File di testo in formato simile a XML per larchiviazione di informazioni strutturate e gerarchiche. Contiene diversi tipi di dati racchiusi tra tag standard: <string>testo</string> <integer>10</integer> <array> <string>testo1</string> <string>testo2</string> </array> I 鍖le PLIST possono essere archiviati in forma binaria (compatta) per risparmiare spazio. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 18. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Esempio di PLIST <plist version="1.0"> <dict> <key>BookmarksData</key> <array> <data> CAAQABgDIAAqJ1ZpYSBWYWxsb... </data> <data> FHUYGHFGIYhu4789HIGUVUIGYU...... </data> <key>BookmarksData</key> <array> ... Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 19. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Posizione backup In OS X: (your home directoy)/ Library/ Application Support/ MobileSync/ Backup/ In Windows XP: C: Documents and Settings user Application Data Apple Computer MobileSync Backup In Windows Vista/Seven: C: Users user AppData Roaming Apple Computer MobileSync Backup Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 20. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Esempio di directory di backup I backup sono divisi in cartelle denominate con lUUID (Universally Unique IDenti鍖er) del dispositivo di origine. Se esistono diverse copie di un backup (solo per dispositivi resettati), quelle archiviate sono identi鍖cate anche mediante data e ora. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 21. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Contenuto directory backup Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 22. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Contenuto del backup Manifest.mbdb: 鍖le binario con lindice dei 鍖le contenuti nel backup e i loro attributi. Status.plist: 鍖le PLIST con informazioni sulle鍖ettuazione del backup. Manifest.plist: 鍖le PLIST che descrive il contenuto del backup. Info.plist: 鍖le PLIST con informazioni sul dispositivo oggetto del backup. Tutti i singoli 鍖le copiati dal 鍖lesystem del dispositivo, senza distinzione di path. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 23. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Info.plist Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 24. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Manifest.plist Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 25. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Status.plist Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 26. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Organizzazione dei 鍖le I 鍖le contenuti nel backup sono divisi in domini, ovvero raggruppamenti logici di contenuti. In iOS 5, i domini sono: AppDomain: dati delle applicazioni non di sistema. CameraRollDomain: contenuto della galleria fotogra鍖ca. HomeDomain: dati delle applicazioni di sistema. KeychainDomain: dati relativi al portachiavi. ManagedPreferencesDomain: vuoto. MediaDomain: elementi multimediali non legati alla fotocamera (ad es. allegati degli SMS). (continua) Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 27. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Organizzazione dei 鍖le (continua) MobileDeviceDomain: provisioning pro鍖les. RootDomain: dati di cache della geolocalizzazione. SystemPreferencesDomain: con鍖gurazione dei componenti core di iOS. WirelessDomain: con鍖gurazione della parte telefonica del dispositivo. Gli elementi del dominio delle applicazioni sono a loro volta divisi in sottodomini, uno per ciascuna applicazione. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 28. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Organizzazione dei 鍖le Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 29. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Decodi鍖ca dei nomi La prima fase dellanalisi `e ricostruire il legame tra il nome 鍖le reale (dominio - dottodominio - path - 鍖lename - ext) e il nome e鍖ettivo nel backup (stringa esadecimale di 40 caratteri). I dati reali sono contenuti nel 鍖le Manifest.mbdb, il nome e鍖ettivo si ricava calcolando lhash SHA1 del reale, nella forma: domain-subdomain-path/name SHA1 nome effettivo Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 30. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Struttura 鍖le MBDB Header Record Record Record "mbdb50" uint8[6] Domain string Path string Link Target string Data Hash string unknown string Perm. uint16 unknown uint32 unknown uint32 User ID uint32 Group ID uint32 m. time uint32 a. time uint32 c. time uint32 File size uint64 Flag uint8 Property count uint8 Property Property Name string Value string Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 31. Outline Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
  • 32. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Struttura iPBA Analisi PLIST Analisi SQLite Analisi PLIST binari Decodi鍖ca ed esplorazione struttura backup Visualizzazione testo e immagini Visualizzazione 鍖le binari Analisi EXIF SMS / iMessage Lista chiamate Rubrica indirizzi Parametri di connessione Stato Safari Contatti Safari Preferiti Safari Thumbnails History e preferiti YouTube ... iPBA (ad oggi) Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 33. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Schermata principale Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 34. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Visualizzatore di 鍖le PLIST Analisi del contenuto del 鍖le Manifest.plist. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 35. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Visualizzatore di immagini Preview, dati EXIF, informazioni 鍖le. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 36. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Visualizzatore di database SQLite3 Visualizzazione del database del log chiamate. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 37. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Visualizzatore di 鍖le binari in HEX Visualizzazione esadecimale di un 鍖le. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 38. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Analisi di una applicazione Esempio della procedura di reverse engineering del contenuto del backup di una applicazione. Caso: nel backup individuo i dati di unapplicazione (RunKeeper, applicazione usata per registrare attivit`a di jogging) e devo estrarne informazioni utili per una indagine. Che informazioni mi aspetto di individuare? I dati relativi allattivit`a sportiva? Proviamo su un dispositivo di test: installiamo lappplicazione, generiamo dei dati noti e tentiamo di individuarli nel backup di prova. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 39. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Analisi applicazione - RunKeeper Analisi del contenuto del backup. Individuiamo un database SQLite contenente una tabella trips. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 40. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Analisi applicazione - Runkeeper Incrociamo i dati contenuti nel database con i dati visualizzati sul dispositivo di test, e veri鍖chiamo che le nostre supposizioni siano confermate. start date: 1301423993.75 convertito da Unix Epoch: Tue Mar 29 2011 20:39:53 GMT+2 distance: 4719.983374 in chilometri: 4.72 km elapsed time: 2627.6 convertito da secondi a minuti: 43.787 minuti = 43:48 minuti calories: 322 Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 41. Outline Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins
  • 42. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Struttura modulare iPBA 2 `e stato pensato per lanalisi del backup a scopo di studio. Successivamente ci si `e accorti che la complessit`a dei dati non permette unanalisi consistente semplicemente analizzando gli elementi singoli. 卒E stato quindi deciso di implementare un sistema modulare, composto da singoli moduli ciascuno specializzato nellanalisi di un archivio speci鍖co. Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 43. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Struttura modulare Esempio di complessit`a: struttura rubrica contatti. ABPerson ROWID First Last ... ABMultiValue UID record_id property label value ABMultiValueLabel ABMultiValueEntry parent_id key value ABMultiValueEntryKey 3 4 5 22 phone number email address multivalue entry (address) url ABGroupMembers UID group_id member_id ABGroup ROWID name ABThumbnailImage record_id data ABFullSizeImage record_id data AddressBookImages.sqlitedb AddressBook.sqlitedb Sample values for the "property" 鍖eld of the "ABMultiValue" table Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 44. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 Plugin - rubrica contatti Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 45. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 Plugin - elenco chiamate Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 46. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 Plugin - reti WiFi contattate Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 47. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 Plugin - cronologia Safari Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 48. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 Plugin - preferiti Safari Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 49. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 Plugin - stato Safari Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 50. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 Plugin - elenco SMS/iMessage Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 51. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 Plugin - thumbnails Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 52. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins iPBA 2 Plugins Molti altri plugin, ed altri ancora in sviluppo o in progetto. Tra quelli attualmente presenti nella release si citano: Skype Viber Whatsapp Informazioni generali sul telefono e sul backup Applicativo Note Reti WiFi analizzate (range IP, dominio, MAC address dellAP) ... Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 53. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Conclusione iPBA `e liberamente scaricabile allindirizzo: http://www.ipbackupanalyzer.com I sorgenti sono liberamente disponibili su GitHub: https://github.com/PicciMario/iPhone-Backup-Analyzer Ogni contributo allo sviluppo `e bene accetto! :-) Sviluppo nuovi moduli Test/individuazione errori Sviluppo nuove funzionalit`a Suggerimenti Report di uso in casi pratici ... Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2
  • 54. Presentazione iOS Backup iPBA - Features iPBA 2 - Plugins Conclusione Grazie per lattenzione! Mario Piccinelli mario.piccinelli@ing.unibs.it Dott. Mario Piccinelli mario.piccinelli@ing.unibs.it iPBA 2 - iPhone Backup Analyzer 2