Acquisizione e analisi di iOS
Estrarre e analizzare i dati iOS.
Acquisizione e analisi di iOS è una lezione Cyber Security Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Cyber Security Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Cyber Security Academy include 4 lezioni in totale.
Modello di sicurezza di iOS
L'informatica forense su iOS è influenzata da un modello di sicurezza hardware strettamente integrato.
- Secure Enclave (SEP) — coprocessore isolato che contiene il materiale crittografico; i tentativi di inserimento del codice di accesso sono limitati direttamente dall'hardware.
- Data Protection — chiavi di cifratura per file associate al codice di accesso e all'UID del dispositivo.
- Sandboxing — ogni app è confinata nel proprio container.
Ciò significa che i tentativi di forzare il codice di accesso sono rallentati dal SEP e che un dump grezzo della memoria flash contiene testo cifrato. L'accesso conforme alla legge dipende generalmente dal fatto che il dispositivo sia stato sbloccato dall'utente o si trovi in stato AFU.
Classi di protezione dei dati
A ogni file viene assegnata una classe di protezione che determina quando la relativa chiave è disponibile.
- Complete — la chiave viene cancellata poco dopo il blocco del dispositivo (massimo livello di protezione).
- Complete Until First User Authentication — la chiave è disponibile dopo il primo sblocco (impostazione predefinita comune per AFU).
- No Protection — la chiave è sempre disponibile (caso raro).
Per questo lo stato AFU è importante su iOS: i file della classe fino alla prima autenticazione diventano leggibili, rendendo accessibile la maggior parte dei dati dell'utente.
Acquisizione di backup tramite iTunes/Finder
Il metodo logico più accessibile è l'acquisizione di un backup tramite la relazione di abbinamento con il computer host (lo stesso meccanismo usato da iTunes/Finder).
- Richiede un pairing record (lockdown certificate) valido e un dispositivo sbloccato per crearne uno.
- Un backup cifrato (con password del backup impostata) include effettivamente più dati: keychain, dati sanitari e password salvate.
Crei un backup utilizzando libimobiledevice con la corretta autorizzazione:
idevice_id -l # list connected UDIDs
ideviceinfo -k ProductVersion # confirm iOS version
idevicebackup2 backup --full ./ios_backup/Struttura del backup e manifest
Un backup iOS non archivia i file con il loro nome. Calcola l'hash dei percorsi e li archivia in modo piatto, indicizzandoli tramite un file SQLite Manifest.db.
- Manifest.db associa dominio e percorso relativo al nome del file con hash presente su disco.
- Info.plist / Status.plist contengono i metadati del dispositivo e del backup.
- I backup cifrati richiedono inoltre l'unwrapping delle chiavi del keychain tramite la password del backup.
Individui un artefatto noto tramite il manifest:
sqlite3 -readonly Manifest.db \
"SELECT fileID, domain, relativePath FROM Files
WHERE relativePath LIKE '%sms.db%';"Estrazione dell'intero file system
Un'estrazione del file system completo (FFS) va oltre i dati consentiti dai backup e comprende l'intera partizione utente, incluse le cache delle app, gli artefatti informativi e i database di sistema.
- Richiede un agente o exploit (ad esempio, basato su checkm8 per i chip meno recenti vulnerabili) e un dispositivo in stato AFU.
- Acquisisce artefatti esclusi dai backup: knowledgeC.db, interactionC.db, cache delle posizioni.
Quando ottenibile legalmente, l'FFS è lo standard di riferimento per l'analisi dei dispositivi iOS moderni, perché porta alla luce i database comportamentali del sistema invisibili in un backup standard.
Database principali di iOS
iOS memorizza l'attività dell'utente in database SQLite noti all'interno dei domini delle app.
- sms.db — iMessage e SMS (tabelle: message, handle).
- CallHistory.storedata — registri delle chiamate.
- AddressBook.sqlitedb — contatti.
- Photos.sqlite — metadati dei contenuti multimediali e collegamenti agli asset.
Esegua una query sul contenuto di iMessage (in sola lettura) da un'estrazione:
sqlite3 -readonly sms.db
sqlite> SELECT datetime(date/1000000000 + 978307200,'unixepoch') ts,
...> h.id, m.text
...> FROM message m JOIN handle h ON m.handle_id=h.ROWID
...> ORDER BY m.date DESC LIMIT 20;Timestamp Apple (Mac/Cocoa)
iOS utilizza spesso l'epoca Apple/Cocoa: secondi dal 2001-01-01 UTC, non dal 1970. Alcuni database memorizzano questo valore in nanosecondi.
- Lo scarto rispetto all'epoca Unix è di 978307200 secondi.
- Il campo
datedi iMessage indica i nanosecondi dal 2001; lo divida per 1e9, quindi aggiunga lo scarto.
Interpretare erroneamente l'epoca produce date con uno scarto di 31 anni. Schema di conversione:
-- Cocoa seconds -> UTC
SELECT datetime(ZDATE + 978307200, 'unixepoch') FROM ZRECORD;
-- iMessage nanoseconds -> UTC
SELECT datetime(date/1000000000 + 978307200, 'unixepoch') FROM message;Database comportamentali
iOS conserva dati di telemetria comportamentale dettagliati per le funzionalità di sistema, estremamente utili per le linee temporali.
- knowledgeC.db — utilizzo delle app, focus, blocco/sblocco del dispositivo, eventi di Siri.
- interactionC.db — comunicazioni con i contatti tra le app.
- routined / cache_encryptedB.db — posizioni significative.
Questi dati esistono solo nelle estrazioni FFS, non nei backup standard, e possono stabilire che cosa stesse facendo l'utente in un momento preciso. Li interpreti però con cautela, poiché alcuni eventi sono generati dal sistema e non dall'utente.
Recupero del keychain
Il keychain contiene password Wi-Fi, token, credenziali delle app e certificati. È cifrato con chiavi di classe derivate dal codice di accesso.
- È recuperabile da un backup iTunes cifrato (con la password del backup) o da un'estrazione FFS.
- Gli elementi hanno una propria classe di protezione; alcuni sono disponibili solo nello stato AFU.
Il contenuto del keychain può rivelare l'accesso agli account e informazioni contestuali aggiuntive. Lo gestisca con la stessa cautela giuridica riservata a qualsiasi materiale contenente credenziali.
Analisi automatizzata con iLEAPP
iLEAPP analizza i backup iOS e le estrazioni FFS trasformandoli in report strutturati, che comprendono centinaia di tipi di artefatti.
- Decodifica knowledgeC, sms, la cronologia di Safari, gli stati delle app e altro.
- Lo utilizzi per una prima selezione; verifichi i risultati decisivi rispetto al database SQLite originale.
Esegua iLEAPP su un backup o un'estrazione:
python3 ileapp.py -t fs -i ./ios_filesystem/ -o ./ileapp_report/
# Or -t itunes for a Finder/iTunes backup folderiCloud e convalida incrociata
I dati eliminati dal dispositivo possono persistere in iCloud (backup, Photos, Messages in iCloud, dati delle app).
- L'accesso a iCloud richiede una distinta autorizzazione legale e credenziali o token appropriati.
- Convalidi i risultati sul dispositivo confrontandoli con le copie nel cloud e con un secondo strumento.
Come sempre, confermi l'hash dell'estrazione prima e dopo l'analisi e documenti le versioni degli strumenti e i comandi, in modo che un altro esaminatore possa riprodurre i risultati.
Verifica rapida
Decodifica un timestamp di iMessage come epoca Unix e la data risulta anticipata di 31 anni. Che cosa è andato storto?
Riepilogo: acquisizione e analisi di iOS
Ora è in grado di orientarsi nell'ecosistema forense di iOS.
- Le classi Secure Enclave + Data Protection rendono cruciale lo stato AFU.
- I backup cifrati includono keychain e dati sanitari; le estrazioni FFS aggiungono i database comportamentali.
- I backup sono indicizzati da Manifest.db con nomi di file sottoposti ad hashing.
- Prove principali: sms.db, CallHistory, AddressBook, knowledgeC.db.
- Decodifichi i timestamp Apple/Cocoa (epoca 2001, +978307200).
- Utilizzi iLEAPP per la prima selezione, convalidi manualmente e consideri iCloud disponendo della necessaria autorizzazione.
Prossimo argomento: analisi degli artefatti delle app e produzione del report.
Impara Cyber Security Academy con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 76
- Lezioni
- 303
Domande Frequenti
La lezione «Acquisizione e analisi di iOS» è gratuita?
Sì — il testo completo di «Acquisizione e analisi di iOS» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Cyber Security Academy, passa a CoddyKit PRO. Il corso Cyber Security Academy include 4 lezioni in totale.
Cosa imparerò in «Acquisizione e analisi di iOS»?
Estrarre e analizzare i dati iOS. Eserciti Cyber Security Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Cyber Security Academy?
Non è richiesta alcuna esperienza precedente. Cyber Security Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Acquisizione e analisi di iOS»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Cyber Security Academy?
Sì. Ogni lezione Cyber Security Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Fondamenti di informatica forense mobile
- Acquisizione e analisi di Android
- Acquisizione e analisi di iOS
- App, artefatti e report