Tutto inizia il 27 settembre 2019, con un post su twitter di un certo axi0mX che annuncia l’imminente pubblicazione di un “epic jailbreak” per iPhone e iPad: in sostanza, l’autore del tweet parla di un programma che sfrutta una vulnerabilità dal nome in codice checkm8, in grado di violare la sicurezza di buona parte dei dispositivi Apple prodotti negli ultimi anni.
Un paio di mesi dopo il tweet viene effettivamente pubblicato, da parte di un team di abili ricercatori, il primo jailbreak che sfrutta la specifica vulnerabilità per violare la sicurezza e sbloccare i privilegi di amministratore di numerosi modelli di iPhone e iPad.
In realtà sono sempre esistiti jailbreak per iPhone e iPad, software disponibili in genere soltanto per specifiche versioni del sistema e che la maggior parte delle volte non funzionano per le versioni successive. Il motivo è che questi sistemi sono osteggiati dalla stessa Apple che, non appena viene a conoscenza dell’esistenza di uno di essi, cerca di capire come riescono a violare la sicurezza e pubblica una nuova versione di iOS non vulnerabile allo specifico attacco.
Questi programmi, infatti, per poter attivare lo sblocco dei dispositivi hanno sempre sfruttato qualche vulnerabilità dei sistemi Apple, ad esempio bachi lasciati magari a causa di disattenzione da parte degli sviluppatori. La comunità di esperti di sicurezza ha sempre aspettato con ansia la pubblicazione di ogni nuovo jailbreak, perché sono uno dei pochi metodi per studiare a fondo il funzionamento dei sistemi operativi Apple.
Il software di cui si parla da settembre 2019 e dell’exploit su cui è basato viene spiegato in dettaglio nelle slide prodotte del ricercatore Luca Todesco. In particolar modo, spicca il fatto che il sistema non è specifico per un solo modello di telefono o una sola versione di iOS ma è compatibile con tutti i modelli che vanno dall’iPhone 5s all’iPhone X, con aggiunta di iPad Mini 2, Mini 3 e Air.
In sostanza, tutti i dispositivi con chip dall’A5 all’A11 sono vulnerabili e quindi candidati per il jailbreak, con qualunque versione di iOS dalla 12.3 in poi. Nell’eventualità di trovarsi di fronte a un dispositivo sul quale è installata una versione di iOS più vecchia, è comunque possibile aggiornare il sistema senza perdere i dati e rendere quindi il dispositivo compatibile con questo attacco.
Ulteriori caratteristiche rendono peculiare questo jailbreak e lo distinguono da quelli usciti negli scorsi anni, spiegando anche il motivo della scelta del nome: cerchiamo di capire quali e che impatto hanno sulla sicurezza nostra e dei dati che trattiamo, ma anche sulla mobile forensics e le indagini informatiche.
Indice degli argomenti
Checkmat8: la differenza con i “vecchi” jailbreak
Rispetto ai jailbreak che, di tanto in tanto, in passato sono stati resi disponibili online, quello basato sull’exploit “checkmate” ha due caratteristiche che lo rendono peculiare e storicamente rilevante.
La prima è che, per poter essere attivato, non richiede che il telefono venga sbloccato tramite il PIN o la password impostata dall’utente. Si può eseguire il jailbreak di un dispositivo bloccato o persino mai inizializzato, ad esempio appena acquistato in negozio. Il motivo è che il programma agisce a un livello più basso rispetto a quello del sistema operativo: si avvia infatti il dispositivo in modalità DFU (Device Firmware Upgrade) e quindi s’interviene prima che venga richiesto l’inserimento del PIN. In sostanza, è lo stesso sistema che viene utilizzato per aggiornare il firmware dei dispositivi, facendolo “a monte” del sistema operativo e quindi aggirandone eventuali ostacoli.
La seconda caratteristica è ancora più rilevante: per Apple non è possibile rimediare al baco sul quale si basa questo jailbreak. Inutile produrre nuove versioni di iOS sperando di “chiudere la porta lasciata aperta” e convincere gli utenti ad aggiornare il proprio software: i dispositivi compatibili con l’attacco rimarranno per sempre vulnerabili. Negli anni passati, Apple aveva sempre rimediato ai jailbreak pubblicando repentinamente aggiornamenti del proprio sistema operativo non appena veniva reso noto un baco, così da impedire il funzionamento degli exploit, cioè dei codici su cui si basano tali programmi di sblocco dei privilegi amministrativi. Con questo nuovo exploit, invece, Apple non ha possibilità di difendersi, perché “checkmate” (a questo punto dovrebbe essere chiaro il motivo del nome, che significa “scacco matto”) sfrutta una vulnerabilità dell’hardware, che non può essere corretta se non idealmente ritirando tutti i dispositivi venduti e “aggiustandoli”, cosa praticamente impossibile.
Checkmat8: cosa è possibile ottenere con il jailbreak
Premettiamo che la versione attualmente disponibile del jailbreak “checkra1n” è definita semi-tethered, richiede cioè che il dispositivo venga connesso a un PC per poter avviare il programma e sbloccare i privilegi di amministratore dello smartphone.
Inoltre, al momento non è possibile scrivere sul sistema o rendere permanenti le modifiche. Una volta spento il telefono, il jailbreak scompare e il dispositivo ritorna come prima, con i limiti di sempre, fino a quando non lo si connette nuovamente a un PC per riattivare lo sblocco. Da un lato questo rappresenta un vantaggio perché l’impatto è solo temporaneo e quindi non si rischia di fare danni; dall’altro, non si può riavviare il dispositivo mantenendo le modifiche perché scomparirebbero.
Questo ne rende certamente l’utilizzo meno rilevante per alcuni fruitori dei jailbreak tradizionali, perché è vero che una volta avviato il jailbreak è possibile ad esempio l’istallazione di qualunque programma, anche non approvato da Apple, ma una volta riavviato il telefono, tutto ritorna alla normalità.
D’altra parte, sembra che la comunità di ricercatori stia lavorando a versioni “untethered” del jailbreak, per permetterne un’applicazione permanente sui dispositivi e anche la possibilità di scrivere sullo spazio di archiviazione del dispositivo.
Le conseguenze per la digital forensics
Dal punto di vista della digital forensics – in particolare della mobile forensics – poco interessa il fatto che il riavvio del dispositivo comporti il ritorno alla normalità anzi, il tutto rende meno invasivo il procedimento e quindi più adatto ad attività legate all’acquisizione delle prove digitali secondo criteri d’informatica forense.
L’interesse maggiore nei jailbreak verte infatti, per gli informatici forensi, sulla possibilità di diventare “amministratori” – anche soltanto temporaneamente – di un dispositivo iPhone e poterne visionare interamente il contenuto.
Mentre l’acquisizione forense tradizionale di un dispositivo Apple permette infatti esclusivamente l’estrazione di alcuni dati e alcune app (ad esempio, le chat Telegram e Signal non possono essere estratte) con il jailbreak diventa possibile l’acquisizione di tutto il filesystem e quindi di tutti i file, inclusi quelli delle app che nascondono i loro dati da un normale backup iTunes, procedura su cui si basano le acquisizioni forensi tradizionali di sistemi iOS.
Per chi non si accontenta della modalità di estrazione “filesystem”, è possibile persino operare un’acquisizione in modalità “physical”, così da avere un’estrazione dell’intero contenuto della memoria flash dello smartphone.
Nel caso dei dispositivi mobili Apple, quest’ultima modalità porta poco lontano, dato che i dati sono comunque in buona parte cifrati, ma permette di recuperare alcune informazioni cancellate e comunque di avere una copia speculare del dispositivo.
Particolare attenzione è stata rivolta dai ricercatori alla possibilità di accedere a dati contenuti all’interno di dispositivi protetti da PIN o password non note, scoprendo che con il jailbreak checkra1n è possibile ottenere alcune informazioni rilevanti anche senza il consenso del proprietario del telefono.
Distinguiamo innanzitutto due stati nei quali può trovarsi uno smartphone BFU e AFU. Lo stato BFU (che sta per “Before First Unlock”, cioè “prima del primo sblocco”) è quello nel quale si trova un dispositivo dopo l’accensione ma prima che l’utente inserisca PIN o password. Lo stato AFU (che sta per “After First Unlock”, dopo il primo sblocco) è quello nel quale il dispositivo è stato sbloccato almeno una volta con PIN o password dall’utente, dopo essere stato acceso.
Quando il telefono si trova nello stato BFU, i dati sono ancora cifrati con una parte della password dell’utente e quindi protetti. Chiunque può notare, ad esempio, che se si riceve una telefonata dopo aver riavviato l’iPhone ma prima di aver inserito il PIN, si visualizza sullo schermo il numero di telefono del chiamante ma non il suo nome e cognome prelevato dalla rubrica, anche se presente. Il motivo è che la rubrica è un dato cifrato e se l’utente non inserisce il PIN almeno una volta, non può essere sbloccato.
I ricercatori – in particolare Elcomsoft e il collega Mattia Epifani – hanno studiato con attenzione la cifratura e decifratura dei dati tra i vari stati dell’iPhone, osservando come diverse informazioni rilevanti non sono cifrate e sono quindi accessibili anche senza che l’utente inserisca il PIN, a patto di poter attivare il jailbreak sul telefono.
Il collega Mattia Epifani ha pubblicato sul suo blog, in diverse puntate, i dettagli delle informazioni che si possono estrarre da un iPhone che non è stato ancora sbloccato (o persino nuovo, appena acquistato) mettendo a disposizione gratuitamente il codice per estrarre un sunto di tali informazioni.
Il codice, tra l’altro, sarà a breve incluso nella distribuzione forense Tsurugi Linux, così da renderlo immediatamente accessibile a chi dovesse essere interessato a estrarre dati da dispositivi Apple.
Elcomsoft ha pubblicato sul suo blog ulteriori approfondimenti legati in particolare all’archivio delle password dell’iPhone – chiamato “keychain” – che si è scoperto non essere interamente cifrato, lasciando quindi la possibilità di accedere ad alcune credenziali anche senza il consenso del proprietario del telefonino.
Cellebrite ha invece presentato in un webinar a inizio 2020 le novità introdotte nel suo software, che prende spunto dall’exploit checkm8 per acquisire interamente il contenuto dei dispositivi Apple senza necessità di utilizzare il jailbreak. Sembra che Cellebrite sia la prima società in grado di sviluppare una propria versione del jailbreak così da mantenerne un’esecuzione controllata al fine di produrre copia forense di un dispositivo.
Le conseguenze per la sicurezza personale
Se dunque la crittografia utilizzata sui dispositivi Apple ha “resistito” agli attacchi portati avanti con il jailbreak Checkm8, la stessa cosa non si può dire per la sicurezza dei nostri dati che sono a rischio.
Dal punto di vista della sicurezza personale, a causa di questo jailbreak vale ancor di più la regola del non lasciare il dispositivo incustodito o in mano di persone non di fiducia. Il motivo è che in pochi minuto, chiunque è in grado di estrarre diverse informazioni rilevanti anche da un iPhone bloccato o persino avviato per la prima volta.
Al momento non sono noti pubblicamente metodi per applicare il jailbreak da remoto, quindi il possesso fisico del dispositivo è una delle massime garanzie d’integrità dello stesso.
La reazione di Apple al jailbreak Checkm8
Sono passati alcuni mesi dalla dichiarazione su Twitter e dall’uscita del codice per violare la sicurezza di iPhone e iPad ma Apple ancora non ha replicato, se non tentando di aggiornare per quanto possibile il software così da ridurre i danni.
Non potendo modificare l’hardware dei dispositivi per “tappare il buco”, l’unica cosa che può fare Apple è tentare di cifrare il maggior numero di dati, così da evitare che un’attività di jailbreak ed estrazione dati in modalità BFU (Before First Unlock) possa rilevare informazioni importanti del proprietario del telefono.
Il problema è che il sistema deve mantenere una retrocompatibilità e quindi non è possibile stravolgerlo, inoltre diverse informazioni devono, per definizione, non essere cifrate e quindi accessibili anche a telefono avviato per la prima volta.
Jailbreak Checkm8: sviluppi futuri
La rincorsa al primo jailbreal untethered è partita e diversi team stanno facendo a gara per chi vi arriverà per primo. Lato informatica forense, Cellebrite con il suo annuncio durante il webinar di inizio gennaio 2020 pare essere la prima ad aver implementato non soltanto l’analisi di dispositivi oggetto di jailbreak, ma anche il jailbreak stesso.
La saga del jailbreak Checkra1n e dell’exploit checkm8 ricorda quella che ha permesso, diversi anni fa, di accedere all’intero contenuto dell’iPhone 4 e acquisirne interamente una copia forense.
Da allora è passata un’era geologica in termini informatici e, per questo motivo, i ricercatori sono entusiasti della possibilità di scoprire i piccoli segreti che Apple aveva nascosto in aree della memoria che credeva non accessibili.