Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2
Upcoming SlideShare
Loading in...5
×
 

Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2

on

  • 922 views

 

Statistics

Views

Total Views
922
Views on SlideShare
921
Embed Views
1

Actions

Likes
0
Downloads
32
Comments
0

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2 Deftcon 2013 - Mario Piccinelli - iPBA 2 - iPhone Backup Analyzer 2 Presentation Transcript

    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 - iPhone Backup Analyzer 2Software open source per l’analisi di backup iOSDott. Mario Piccinellimario.piccinelli@ing.unibs.itUniversit`a degli Studi di BresciaDipartimento di Ingegneria dell’InformazioneDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • OutlinePresentazioneiOS BackupiPBA - FeaturesiPBA 2 - Plugins
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 - iPhone Backup Analyzer 2Software open source per l’analisi della directory di backup di undispositivo iOS.Licenza MITPermission is hereby granted, free of charge, [...] to deal inthe Software without restriction, including without limitationthe rights to use, copy, modify, merge, publish, distribute,sublicense, and/or sell copies of the Software, [...], subject tothe following conditions:The above copyright notice and this permission notice shall beincluded in all copies or substantial portions of the Software.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 - iPhone Backup Analyzer 2Scritto in Python 2 con interfaccia utente sviluppata in Qt, quindimultipiattaforma (Windows, Linux, Mac Os X).Viene distribuito in forma di sorgente (script Python e file QtDesigner) e come eseguibile Windows precompilato.http://www.ipbackupanalyzer.comDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 - iPhone Backup Analyzer 2Cosa `e:Strumento per l’analisi dei dati di backup.Strumento per l’esplorazione degli archivi contenuti nelbackup.Gratuito, con sorgenti aperti, il cui funzionamento pu`o essereverificato da perizia indipendente.A quanto mi risulta l’unico software di questo tipo presentenel mondo open source.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 - iPhone Backup Analyzer 2Cosa NON `e:Un software forense ”standard” (ma quale lo `e?).Un sistema di analisi ”automatico”: le funzionalit`a direportistica sono impostate ma non ancora complete.Un sistema completo.Ovviamente, nulla impedisce che un domani lo sia!Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 - iPhone Backup Analyzer 2Di cosa ha bisogno:Sviluppo nuove funzionalit`a.Verifiche 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.itiPBA 2 - iPhone Backup Analyzer 2
    • OutlinePresentazioneiOS BackupiPBA - FeaturesiPBA 2 - Plugins
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiOS BackupOgni volta che un dispositivo iOS viene sincronizzato con uncomputer, ad esempio mediante l’applicativo iTunes R , ne vieneeseguito un backup (salvo che non sia stato disattivatomanualmente).Il backup pu`o essere cifrato, ma di default `e in chiaro.Il backup `e incrementale: viene mantenuta solo una copia perciascun dispositivo, la pi`u recente. Eccezione se un dispositivoviene resettato.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiOS Backup mediante iTunesCanale privilegiato per l’esecuzione di backup di iDevices.Non si possono utilizzare metodi hardware/software per garantirela non modifica del dispositivo in esame.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiOS Backup mediante software open sourceCanale alternativo per la sola estrazione dati. Il backup realizzato `eidentico a quello realizzato da iTunes. In effetti si tratta di unaemulazione del protocollo di backup di iTunes.$ ./idevicebackup2 backup new backup dirAnche in questo caso non si possono utilizzare metodihardware/software per garantire la non modifica del dispositivo inesame. Tuttavia il software `e open source e se ne pu`o quindianalizzare il funzionamento.Il software `e disponibile all’indirizzo:http://www.libimobiledevice.org/Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiOS BackupCosa 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.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiOS BackupCosa contiene:Tutto il resto...Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiOS BackupChe tipi di file pu`o contenere:Database SQLite3.File PLIST.File PLIST binari.Altro (file di testo, file multimediali, file binari in formatoproprietario).I formati SQLite e PLIST sono i formati privilegiati perl’archiviazione di informazioni sotto iOS.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsDatabase SQLiteDatabase relazionale contenente una o pi`u tabelle, interamenteracchiuso in un singolo file.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsCos’`e un database relazionaleDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsFile PLISTFile di testo in formato simile a XML per l’archiviazione diinformazioni 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 file PLIST possono essere archiviati in forma binaria (compatta)per risparmiare spazio.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsEsempio 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.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsPosizione backupIn OS X:(your home directoy)/ Library/ Application Support/ MobileSync/Backup/In Windows XP:C: Documents and Settings user Application Data AppleComputer MobileSync BackupIn Windows Vista/Seven:C: Users user AppData Roaming Apple ComputerMobileSync BackupDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsEsempio di directory di backupI backup sono divisi in cartelle denominate con l’UUID (UniversallyUnique IDentifier) del dispositivo di origine.Se esistono diverse copie di un backup (solo per dispositiviresettati), quelle archiviate sono identificate anche mediante data eora.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsContenuto directory backupDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsContenuto del backupManifest.mbdb: file binario con l’indice dei file contenuti nelbackup e i loro attributi.Status.plist: file PLIST con informazioni sull’effettuazione delbackup.Manifest.plist: file PLIST che descrive il contenuto del backup.Info.plist: file PLIST con informazioni sul dispositivo oggettodel backup.Tutti i singoli file copiati dal filesystem del dispositivo, senzadistinzione di path.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsInfo.plistDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsManifest.plistDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsStatus.plistDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsOrganizzazione dei fileI file contenuti nel backup sono divisi in domini, ovveroraggruppamenti logici di contenuti. In iOS 5, i domini sono:AppDomain: dati delle applicazioni non di sistema.CameraRollDomain: contenuto della galleria fotografica.HomeDomain: dati delle applicazioni di sistema.KeychainDomain: dati relativi al portachiavi.ManagedPreferencesDomain: vuoto.MediaDomain: elementi multimediali non legati allafotocamera (ad es. allegati degli SMS).(continua)Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsOrganizzazione dei file(continua)MobileDeviceDomain: provisioning profiles.RootDomain: dati di cache della geolocalizzazione.SystemPreferencesDomain: configurazione dei componenticore di iOS.WirelessDomain: configurazione della parte telefonica deldispositivo.Gli elementi del dominio delle applicazioni sono a loro volta divisiin sottodomini, uno per ciascuna applicazione.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsOrganizzazione dei fileDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsDecodifica dei nomiLa prima fase dell’analisi `e ricostruire il legame tra il nome filereale (dominio - dottodominio - path - filename - ext) e il nomeeffettivo nel backup (stringa esadecimale di 40 caratteri).I dati reali sono contenuti nel file Manifest.mbdb, il nome effettivosi ricava calcolando l’hash SHA1 del reale, nella forma:domain-subdomain-path/name⇓SHA1nome effettivoDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsStruttura file MBDBHeader Record Record Record"mbdb50"uint8[6]DomainstringPathstringLink TargetstringData HashstringunknownstringPerm.uint16unknownuint32unknownuint32User IDuint32Group IDuint32m. timeuint32a. timeuint32c. timeuint32File sizeuint64Flaguint8Property countuint8Property PropertyNamestringValuestringDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • OutlinePresentazioneiOS BackupiPBA - FeaturesiPBA 2 - Plugins
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsStruttura iPBAAnalisi PLISTAnalisi SQLiteAnalisi PLISTbinariDecodifica ed esplorazione strutturabackupVisualizzazionetesto e immaginiVisualizzazionefile binariAnalisi EXIFSMS / iMessageLista chiamateRubrica indirizziParametri diconnessioneStato SafariContatti SafariPreferiti SafariThumbnailsHistory e preferitiYouTube...iPBA(ad oggi)Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsSchermata principaleDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsVisualizzatore di file PLISTAnalisi del contenuto del file Manifest.plist.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsVisualizzatore di immaginiPreview, dati EXIF, informazioni file.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsVisualizzatore di database SQLite3Visualizzazione del database del log chiamate.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsVisualizzatore di file binari in HEXVisualizzazione esadecimale di un file.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsAnalisi di una applicazioneEsempio della procedura di reverse engineering del contenuto delbackup di una applicazione.Caso: nel backup individuo i dati di un’applicazione (RunKeeper,applicazione usata per registrare attivit`a di jogging) e devoestrarne informazioni utili per una indagine.Che informazioni mi aspetto di individuare? I dati relativiall’attivit`a sportiva? Proviamo su un dispositivo di test: installiamol’appplicazione, generiamo dei dati noti e tentiamo di individuarlinel backup di prova.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsAnalisi applicazione - RunKeeperAnalisi del contenuto del backup. Individuiamo un databaseSQLite contenente una tabella ”trips”.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsAnalisi applicazione - RunkeeperIncrociamo i dati contenuti nel database con i dati visualizzati suldispositivo di test, e verifichiamo che le nostre supposizioni sianoconfermate.start date: 1301423993.75convertito da Unix Epoch: TueMar 29 2011 20:39:53 GMT+2distance: 4719.983374in chilometri: 4.72 kmelapsed time: 2627.6convertito da secondi a minuti:43.787 minuti = 43:48 minuticalories: 322Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • OutlinePresentazioneiOS BackupiPBA - FeaturesiPBA 2 - Plugins
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsStruttura modulareiPBA 2 `e stato pensato per l’analisi del backup a scopo di studio.Successivamente ci si `e accorti che la complessit`a dei dati nonpermette un’analisi consistente semplicemente analizzando glielementi singoli.´E stato quindi deciso di implementare un sistema modulare,composto da singoli moduli ciascuno specializzato nell’analisi di unarchivio specifico.Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsStruttura modulareEsempio di complessit`a: struttura rubrica contatti.ABPersonROWIDFirstLast...ABMultiValueUIDrecord_idpropertylabelvalueABMultiValueLabelABMultiValueEntryparent_idkeyvalueABMultiValueEntryKey34522phone numberemail addressmultivalue entry (address)urlABGroupMembersUIDgroup_idmember_idABGroupROWIDnameABThumbnailImagerecord_iddataABFullSizeImagerecord_iddataAddressBookImages.sqlitedbAddressBook.sqlitedbSample values for the"property" field of the"ABMultiValue" tableDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 Plugin - rubrica contattiDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 Plugin - elenco chiamateDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 Plugin - reti WiFi contattateDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 Plugin - cronologia SafariDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 Plugin - preferiti SafariDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 Plugin - stato SafariDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 Plugin - elenco SMS/iMessageDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 Plugin - thumbnailsDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsiPBA 2 PluginsMolti altri plugin, ed altri ancora in sviluppo o in progetto. Traquelli attualmente presenti nella release si citano:SkypeViberWhatsappInformazioni generali sul telefono e sul backupApplicativo NoteReti WiFi analizzate (range IP, dominio, MAC addressdell’AP)...Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsConclusioneiPBA `e liberamente scaricabile all’indirizzo:http://www.ipbackupanalyzer.comI sorgenti sono liberamente disponibili su GitHub:https://github.com/PicciMario/iPhone-Backup-AnalyzerOgni contributo allo sviluppo `e bene accetto! :-)Sviluppo nuovi moduliTest/individuazione erroriSviluppo nuove funzionalit`aSuggerimentiReport di uso in casi pratici...Dott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2
    • Presentazione iOS Backup iPBA - Features iPBA 2 - PluginsConclusioneGrazie per l’attenzione!Mario Piccinellimario.piccinelli@ing.unibs.itDott. Mario Piccinelli mario.piccinelli@ing.unibs.itiPBA 2 - iPhone Backup Analyzer 2