Le mie best practices per iPhone e iDevice

Inviato da rebus il Mer, 29/03/2023 - 08:58

iphone seizure

A pensarci bene, non ho nemmeno la pretesa di chiamarle best practices: non mi sogno di sostenere che siano le migliori pratiche in assoluto, sono solo il meglio che sono riuscito a fare fin qui, ma pur con tutti i lustri di esperienza sul campo che ho accumulato, comunque io non conto niente, quindi chiamiamole onestamente humble practices :)

Dopo aver ripetuto queste raccomandazioni per anni ai miei colleghi e ai miei studenti, ho provato a metterle per iscritto, cosapevole che si tratta di un documento mai finito: a ogni nuovo modello di iPhone o nuova release di iOS ci sono nuove feature, diverse configurazioni di default, cambiamenti nella fornitura dei servizi, e poi arrivano exploit e jailbreak a cambiare le regole, è un aggiornamento continuo. Per cui se avete suggerimenti siete i benvenuti :)

Poor man's humble practices for iOS devices

1. SCOPO DEL DOCUMENTO

Fornire istruzioni operative applicabili durante un sopralluogo informatico per la corretta trattazione dei dispositivi Apple iPhone e iPad dotati di sistemi operativi iOS, in considerazione delle peculiarità costruttive e delle condizioni rilevabili, al fine di provvedere alla loro identificazione, descrizione, raccolta, acquisizione e conservazione secondo modalità idonee a scopi forensi.

Metodi, strumenti e procedure qui descritti sono orientati allo scopo di conservare l’integrità delle evidenze digitali e di massimizzarne la disponibilità.

2. PREMESSE

2.1 METODI DI ACQUISIZIONE INAPPLICABILI

Alcuni metodi comunemente utilizzati per l'acquisizione di dati da dispositivi mobili non sono applicabili ai dispositivi con sistema operativo iOS. Tra questi:

  • JTAG: i dispositivi Apple non sono provvisti di test access port;
  • Chip-off: la cifratura del filesystem rende completamente inutile un attacco basato sulla rimozione dei chip di memoria;
  • By-pass del lockscreen: le chiavi di decrittazione sono derivate dal passcode dell’utente.

2.2 ERRORI COMUNI DA EVITARE

Si riassumono preliminarmente i comportamenti errati e rischiosi da evitare nella manipolazione di dispositivi iOS:

  • Non fare nulla comporta un rischio rilevante: un dispositivo potenzialmente acceso e collegato a Internet può facilmente ricevere da remoto istruzioni per la cancellazione irreversibile dei dati che contiene.
  • Spegnere il dispositivo prima di essersi accertati di poterlo fare in sicurezza può determinare la perdita di possibilità di sblocco. Tra le conseguenze dello spegnimento si evidenzia:
    • perdita della possibilità di accesso biometrico, se presente;
    • perdita della possibilità di sblocco del dispositivo mediante certificati di lockdown;
    • disattivazione della connessione Wi-Fi fino al successivo unlock.
  • Sollecitare i sensori biometrici rischia di precluderne l’utilizzo: i tentativi disponibili per lo sblocco biometrico sono soltanto 5, dopo di che viene richiesto obbligatoriamente l’inserimento del passcode; pertanto, è importante non toccare il sensore di impronte con i polpastrelli, non guardare direttamente nella camera frontale e provvedere prima possibile alla sua copertura, al fine di non sprecare tentativi potenzialmente utili.

3. EQUIPAGGIAMENTO

A seconda del contesto operativo, potrebbe essere necessaria tutta o parte della seguente strumentazione:

  • Cavi USB Lightning;
  • Powerbank;
  • Faraday bag;
  • Notebook equipaggiato con software di acquisizione. Per esempio:
    • S.O. Windows: iTunes, Cellebrite UFED4PC, MSAB XRY, Oxygen Forensic Detective, Hancom MD-NEXT, Elcomsoft iOS Forensic Toolkit, 3uTools ecc.
    • S.O. Linux: libimobiledevice, checkra1n;
    • S.O. Mac OSX: iTunes, checkra1n, Elcomsoft iOS Forensic Toolkit.
  • Unità di storage per la conservazione dei dati estratti e dei report generati.

4. DOCUMENTAZIONE

Effettuare la documentazione descrittiva e videofotografica dei dispositivi, ritraendo l'esatta posizione dell’apparecchiatura e il suo contesto, l'eventuale cablaggio, serigrafie o etichette con codici identificativi, l’eventuale presenza di danni visibili e, per quanto possibile, lo stato di funzionamento.

Durante le attività descrittive e di documentazione videofotografica è necessario individuare con più precisione possibile il modello esatto del dispositivo e le condizioni fisiche e operative in cui si trova, con particolare riguardo a:

  • Stato del dispositivo: spento o acceso; sistema operativo avviato o condizioni particolari (boot loop, recovery, DFU, ecc.)
  • Presenza di limitazioni di accesso (lockscreen)
  • Presenza di comunicazioni

Ogni interazione con il dispositivo deve essere scrupolosamente documentata.

Nel caso di un dispositivo acceso documentare se possibile data e ora riportati dal dispositivo, verbalizzando eventuali sfasamenti rispetto all’ora locale esatta. Per ogni marcatura oraria rilevata, va verificato ed esplicitato il fuso orario di riferimento.

5. FLUSSO DI LAVORO

5.1 IDENTIFICAZIONE

Elementi utili a riconoscere compiutamente il dispositivo iOS sono:

  • La presenza del logo Apple sul retro del dispositivo.
  • Su iPhone 7 o modelli precedenti, iPad o iPod touch, le indicazioni stampigliate sul retro del dispositivo, che possono includere il nome commerciale (p.e. “iPhone SE”), il codice di modello (p.e. “A2275”) e il numero IMEI (anch’esso utile a individuare con precisione il modello di dispositivo, oltre a costituire un identificativo unico dell’apparato).
  • Su iPhone 8 o modelli successivi, le indicazioni stampigliate sullo slot di alloggiamento della SIM: il numero di modello si trova sul lato superiore (ossia quello del display); inoltre è presente il numero IMEI.
  • Se il dispositivo è acceso e sbloccato, dal menu Settings > General > Info. A destra della voce Modello è indicato il codice prodotto. Per vedere il numero di modello, eseguire un tap sul codice prodotto.

5.2 DETERMINAZIONE DELLO STATO DI ACCENSIONE

In condizioni normali (esecuzioni regolare del sistema operativo iOS), il display si accende in presenza di uno stimolo esterno (notifiche delle app, chiamate in arrivo, uso della funzione “Find my iPhone” ecc.) o di una sollecitazione meccanica. Una breve pressione sul pulsante Sleep/Wake è sufficiente a riattivare il display, ma attenzione:

  • Una pressione prolungata può accendere un dispositivo inizialmente spento;
  • Va evitata la sollecitazione dei sensori biometrici (il lettore di impronte digitali integrato nel pulsante e la webcam frontale utilizzata per il riconoscimento dei volti) al fine di non pregiudicarne l’utilizzo successivo (dopo 5 riconoscimenti errati il sistema di sblocco biometrico diviene inutilizzabile).

All’attivazione del display è importante documentarne il contenuto rappresentato, con particolare riferimento alla presenza di lockscreen, di comunicazioni attive, di data e ora riportate dal dispositivo.

Diversamente dalle condizioni di funzionamento ordinarie, il dispositivo potrebbe trovarsi in condizioni particolari:

  • se in Recovery mode, il display dovrebbe mostrare l’icona di iTunes o di un PC;
  • se in modalità DFU il display apparirà spento. Per determinare se il dispositivo si trovi in questa condizione è possibile collegarlo mediante cavo lightning a una workstation di analisi equipaggiata con software quali iTunes, 3uTools, libimobiledevice o altri ugualmente idonei a rilevare il dispositivo e il suo stato.
    Attenzione: alimentare un dispositivo iOS spento ne può causare l’avvio. Fintanto che il dispositivo permane nella condizione DFU, il sistema iOS non è in esecuzione e il dispositivo non comunica con l’esterno se non tramite cavo USB; pertanto, non è facilmente suscettibile a modificazioni estranee o accidentali.

5.3 DETERMINAZIONE DELLA PRESENZA DI LIMITAZIONI DI ACCESSO

Verificare e documentare le possibilità di accesso all’interfaccia utente.

I tipi di lockscreen disponibili nativamente su dispositivi iOS sono:

  • codice numerico a 4 cifre;
  • codice numerico a 6 cifre;
  • password alfanumerica di lunghezza arbitraria.

La presenza di un codice numerico o di una password ignoti può rendere difficoltoso o persino impossibile l’accesso ai dati conservati nel dispositivo. Nell'impossibilità di ottenere i codici di accesso direttamente dall'utilizzatore del dispositivo, si dovranno indirizzare le operazioni di perquisizione alla ricerca di elementi compatibili con il tipo di codice richiesto.

I metodi, gli strumenti e le possibilità di aggirare il lockscreen variano in considerazione del modello di dispositivo, della versione di iOS installata e delle configurazioni impostate dall’utente.

Se invece il dispositivo si presenta sbloccato, è opportuno verificarne la configurazione e prevenire un eventuale blocco:

  • Non premere il pulsante Sleep/Wake;
  • Disattivare l’Autolock (Settings > General > Autolock > Never) o aumentare l’intervallo di tempo previsto fino al massimo consentito;
  • Verificare la configurazione di passcode (Settings > Face ID & Passcode). Se la configurazione è attiva, allora il dispositivo si trova nello stato AFU.

Si rammenta che la funzione “USB Restricted Mode”, introdotta a partire dalla versione 11.4.1 di iOS, si attiva automaticamente dopo un’ora dall’ultimo unlock, e comporta la disattivazione della connessione USB.

5.3.1 Inserimento del passcode

Il sistema operativo prevede un numero limitato di tentativi per l’inserimento del codice di sblocco, dopo di che il dispositivo sarà automaticamente disabilitato o resettato. L’interfaccia utente non indica quanti tentativi errati siano già stati eseguiti, ma segue questo schema di blocchi progressivi. La durata dei blocchi prograssivi dipende dalla versione di iOS. Generalmente:

  • da 1 a 4 tentativi errati: nessun blocco
  • dal 5° al 6° inserimento errato: dispositivo disabilitato per 1 minuto
  • al 7° inserimento errato: dispositivo disabilitato per 5 minuti
  • al 8° inserimento errato: dispositivo disabilitato per 15 minuti
  • al 9° inserimento errato: dispositivo disabilitato per 60 minuti
  • al 10° inserimento errato: possono verificarsi due eventi alternativi:
    • nella configurazione di default, il dispositivo si disabilita, e il display visualizza il messaggio “iPhone is disabled, Connect to iTunes”. In queste condizioni l’unica possibilità per riabilitare il dispositivo è collegarlo ad un’installazione iTunes dotata di certificati di lockdown validi per tale dispositivo. Se tali certificati non esistono, non sono disponibili, o sono scaduti, il dispositivo rimane disabilitato permanentemente. Per le versioni di iOS precedenti alla 12, le chiavi di decrittazione non vengono distrutte; quindi, esiste possibilità di cracking (supportato p.e. da Passware Kit Mobile), ma da iOS 12 in poi la disabilitazione comporta la distruzione irreversibile delle chiavi, vanificando ogni plausibile tentativo di cracking.
    • se appositamente impostato dall’utente, il dispositivo si resetta alle condizioni di fabbrica, con perdita irreversibile di tutti i dati contenuti.

Da iOS 16, la progressione degli intervalli è diventata la seguente:

  • da 1 a 3 tentativi errati: nessun blocco
  • al 4° inserimento errato: dispositivo disabilitato per 1 minuto
  • al 5° inserimento errato: dispositivo disabilitato per 5 minuti
  • al 6° inserimento errato: dispositivo disabilitato per 15 minuti
  • al 7° inserimento errato: dispositivo disabilitato per 1 ora
  • al 8° inserimento errato: dispositivo disabilitato per 3 ore
  • al 9° inserimento errato: dispositivo disabilitato per 8 ore
  • al 10° inserimento errato: blocco permanente, o factory reset.

Per le ragioni sopra indicate, è sconsigliato procedere senza criterio a tentativi nello sblocco di un dispositivo. In ogni caso, quando viene eseguito un qualsiasi tentativo di inserimento del passcode (ad esempio per verificare la validità di un codice fornito dall’utente), è indispensabile verbalizzare compiutamente il codice usato e le conseguenze osservate sul dispositivo.

5.3.2 Sistemi di riconoscimento biometrico TouchID e FaceID

La presenza di sistemi di riconoscimento biometrico attivi implica la precedente configurazione di un passcode (PIN o password) da parte dell’utente (non è possibile sui dispositivi iOS configurare il solo accesso biometrico senza passcode). Se il passcode è ignoto, le funzioni TouchID e FaceID potrebbero consentire lo sblocco immediato del dispositivo, presentando al sensore un’impronta digitale o un volto autorizzati. Il software di riconoscimento facciale dovrebbe essere in grado di rilevare se il volto presentato ha gli occhi aperti e lo sguardo rivolto in camera.

È importante considerare che le funzioni di sblocco biometrico sono disponibili soltanto per un tempo limitato, e che pertanto deve essere cura del personale che interviene individuare situazioni critiche che richiedono un’azione immediata o la richiesta di intervento urgente di personale specializzato. Ad esempio, alla data del presente documento, un dispositivo dotato di sistema operativo iOS successivo alla versione 9 che presenta lockscreen può essere sbloccato utilizzando gli accessi biometrici TouchID e FaceID, se questi sono stati configurati, solo entro 48h dall’ultimo sblocco e solo se il dispositivo non è stato spento o riavviato. TouchID, inoltre, si disabilita se il passcode non è stato usato per 6 giorni e non è stato eseguito un unlock con TouchID per 8 ore.

  • Se le funzioni TouchID o FaceID non sono disponibili, è possibile che non siano state configurate o che il dispositivo si trovi nello stato BFU;
  • Se le funzioni biometriche sono attive, il dispositivo è sicuramente nello stato AFU. Dopo 5 tentativi errati di sblocco biometrico, l'accesso biometrico viene disabilitato, ma il dispositivo rimane nello stato AFU.

5.3.3 Condizione AFU e BFU

In linea generale, un dispositivo che si trovi nello stato BFU può essere spento senza particolari accorgimenti: alla riaccensione, il dispositivo si presenterà nuovamente nello stato BFU.

Un dispositivo che si trovi nello stato AFU, invece, conserva nella memoria volatile informazioni utili alla decrittazione dei dati memorizzati nel filesystem. Strumenti di acquisizione forense avanzati (quali GreyKey e UFED Premium) potrebbero essere in grado di estrarre tali informazioni, a condizione che lo specifico modello di dispositivo sia supportato e che venga mantenuto lo stato AFU fino al trasferimento presso il laboratorio attrezzato per l’estrazione.

Un dispositivo nello stato AFU viene riportato allo stato BFU:

  • Se spento o riavviato;
  • Se la batteria si scarica completamente, poiché ciò causa lo spegnimento;
  • Se viene attivata la procedura SOS Emergenze;
  • Dopo 48 ore dall’ultimo sblocco. Il dispositivo non fornisce indicazioni sul tempo trascorso dall’ultimo sblocco e, quindi, sul tempo restante prima che il dispositivo torni autonomamente allo stato BFU.

Per i dispositivi con iOS fino alla versione 11.1, è possibile eseguire il pairing con una workstation di analisi forense equipaggiata con iTunes, 3uTools, libimobiledevice o qualsiasi altro software ugualmente utile a tal fine, così da assicurare un successivo accesso logico al dispositivo anche nel caso in cui si attivasse il blocco.

Da iOS 11.12 in poi la procedura di pairing richiede comunque l’inserimento del passcode.

5.4 DETERMINAZIONE DELLO STATO DI CONNESSIONE

Nel caso di un dispositivo sbloccato, è possibile verificare lo stato e intervenire sulla configurazione dei moduli radio sia dal “Centro di Controllo” che dal menu Impostazioni (Settings).

Nel caso di un dispositivo bloccato, le uniche informazioni disponibili sono deducibili dalle icone visibili nella barra di stato, che possono includere:

  • Stato di connessione alla rete mobile, operatore e intensità del segnale;
  • Presenza di connessione dati attiva;
  • Presenza di connettività Wi-Fi;
  • Modulo BT attivo e stato di associazione con altri dispositivi;
  • Modulo GPS attivo.

5.4.1 Isolamento logico

Dopo aver verificato la presenza di connessioni logiche, va valutato il loro necessario isolamento.

  • Modalità volo: sempre disponibile su dispositivi sbloccati. Per i dispositivi bloccati, comunque disponibile in alcune versioni di iOS dal “Centro di Controllo”.
  • Oltre alla modalità volo, verificare lo spegnimento dei servizi Wi-Fi, Bluetooth, NFC e GPS.
  • Nelle versioni attuali di iOS, la rimozione della SIM causa l’attivazione del lockscreen, se configurato, pertanto è un metodo di isolamento da eseguire solo nel caso in cui la funzione lockscreen sia disattivata o la sua attivazione sia ininfluente.
  • L’impiego di Faraday bag consente di isolare efficacemente dalle comunicazioni radio un dispositivo acceso. La sua utilità è quindi limitata a quei casi critici e urgenti in cui sia necessario mantenere acceso un dispositivo che si trova in condizione AFU e che deve essere immediatamente trasferito in un laboratorio attrezzato con strumenti di estrazione avanzati quali GreyKey e UFED Premium. Occorre considerare che l’inserimento in una Faraday bag di un dispositivo con modulo telefonico attivato causerà un rapido consumo della batteria, con conseguente rischio di spegnimento. Pertanto, sarà opportuno inserire all’interno dell’involucro anche un power bank sufficiente a mantenere il dispositivo alimentato per il tempo strettamente necessario al suo arrivo in laboratorio. In alternativa esistono delle apposite Faraday bag alimentabili dall’esterno.

5.5 MDM (Mobile Device Management)

I dispositivi aziendali sono spesso gestiti da un amministratore centrale tramite la funzione MDM. In questi casi è da valutare l’opportunità di nominare ausiliario di P.G. uno degli amministratori (se persona estranea ai fatti e idonea allo scopo, ai sensi dell’art. 348 c. 4 c.p.p.) che disponga dei privilegi necessari per sbloccare i dispositivi senza perdita di dati e che possa indicare e mettere a disposizione eventuali copie di backup dei dati di interesse investigativo.

6. ALTRE FONTI DI INFORMAZIONE

6.1 SIRI

Siri è l’assistente virtuale sviluppato da Apple per i dispositivi iOS. Se la funzione “Allow Siri When Locked” è stata lasciata attiva, è possibile ottenere alcune informazioni da un dispositivo in blocco.

Siri si attiva:

  • su iPhone 8 Plus e modelli precedenti: con una pressione prolungata del tasto Home (prestando eventualmente attenzione a non sollecitare involontariamente il sensore biometrico)
  • su iPhone X e modelli successivi: con pressione prolungata sul tasto laterale destro (Sleep/Wake);
  • pronunciando il comando vocale “Ehi Siri”.

Le richieste disponibili a dispositivo bloccato sono:

  • “Come mi chiamo?” (“What’s my name?”);
  • “Ultime chiamate” (“Last call”);
  •  “Calendario” (“Calendar”).

6.2 SYSDIAGNOSE

La funzione Sysdiagnose di iOS consente di generare dei log acquisibili poi in user space (nel caso in cui sia possibile stabilire un pairing col dispositivo).

Le informazioni salvate in tali log sono già presenti in log di sistema, ma normalmente non sarebbero esposte e risulterebbero acquisibili solo con accesso Full File System, che presuppone una qualche forma di jailbreak, non sempre attuabile.

Qualora fosse di interesse investigativo documentare dettagliatamente lo stato del dispositivo al momento del sopralluogo, si può quindi valutare l’opportunità di generare un report Sysdiagnose. Questo può essere fatto sia da interfaccia utente (quindi a dispositivo sbloccato) che mediante pressione di tasti anche a dispositivo bloccato, con la seguente procedura:

  • premere i pulsanti Vol Up + Vol Down + Power
  • mantenerli premuti 1-1.5 secondi
  • rilasciare i pulsanti

Si avverte una vibrazione e dopo pochi minuti i report generati sono disponibili in Settings > Privacy > Analytics > Analytics Data, o in una cartella successivamente acquisibile con iTunes o altri strumenti analoghi.

6.3 ALTRI DISPOSITIVI

Soprattutto nel caso di dispositivi bloccati, può assumere particolare rilevanza la presenza di altri dispositivi informatici che potrebbero conservare copia delle informazioni e/o autorizzazioni di accesso al dispositivo bloccato.

  • Device connessi, utili per completezza e unlock;
  • PC, per backup, certificati di lockdown, credenziali salvate, token;
  • iCloud e cloud di terze parti;
  • Dominio aziendale per dispositivo con sistema MDM;
  • Materiali non elettronici: ricevute di acquisto, manuali, imballi originali, appunti che potrebbero riportare codici identificativi (IMEI, seriali ecc.), descrizione esatta del modello, account o codici di sblocco associati ecc.

7. SPEGNIMENTO

Salvo esigenze straordinarie, i dispositivi vanno repertati isolati e spenti.

Non spegnere il sistema prima di essere sicuri di aver esaurito le possibilità di accertamento e rilievo.

8. REPERTAZIONE

8.1 REPERTAZIONE LOGICA

Tutti i dati di cui è stata estratta copia e tutti i report generati dai programmi impiegati devono essere conservati su idonei supporti e secondo modalità che ne garantiscano la conformità agli originali e l’immodificabilità nel tempo. Per fare questo è opportuno utilizzare algoritmi come MD5 e SHA1 per calcolare gli hash dei dati originali e di ogni copia eseguita, riportando a verbale i risultati del calcolo. Inoltre, quando possibile, è utile repertare i dati copiati all’interno di un unico contenitore logico (EWF, AD1, ISO, Zip ecc.) e riportare a verbale la dimensione in byte dell’archivio, gli algoritmi di hash applicati (preferibilmente almeno due) e i risultati ottenuti.

8.2 REPERTAZIONE FISICA

Inserire tutti i reperti nelle apposite buste di sicurezza, se presenti, e imballare il tutto per la spedizione al laboratorio che effettuerà le analisi. Gli imballaggi, come più in generale tutti i metodi impiegati per trasporto e stoccaggio, dovranno essere idonei a preservare i reperti da contaminazioni o altri fattori potenzialmente dannosi, quali shock meccanici, esposizione ad alte temperature, campi elettromagnetici, umidità, polvere.

Nel caso in cui si renda necessario repertare un dispositivo mobile acceso mantenendolo in funzione, sarà necessario provvedere senza ritardo al suo trasferimento presso il laboratorio che effettuerà l’analisi, avendo cura di mantenere nel frattempo l’alimentazione e l’isolamento logico da comunicazioni radio. È utile che lo stato di accensione del dispositivo e l’urgenza della sua trattazione siano evidenziate sulla confezione.

9. RIFERIMENTI

  • ISO/IEC 27032:2021 “Guidelines for identification, collection, acquisition and preservation of digital evidence”
  • SWGDE “Best Practices for Mobile Device Evidence Collection & Preservation, Handling and Acquisition”
  • NIST 800-101 rev1 “Guidelines on Mobile Device Forensics”
  • ENFSI-BPM-FIT-01 “Best Practice Manual for the Forensic Examination of Digital Technology”
  • U.S. Secret Service “Best Practices for Seizing Electronic Evidence” v4.2
  • ENISA “Electronic evidence - a basic guide for First Responders”, 2014
  • INTERPOL “Global guidelines for digital forensics laboratories”, 2019
  • INTERPOL “Guidelines for digital forensics first responders, March 2021
  • Council of Europe “Guida alla prova digitale” v1.0
  • M.Epifani, P.Stirparo “Learning iOS Forensics”, Packt Publishing, 2015