Con iOS 18, Apple ha introdotto una nuova funzionalità di sicurezza chiamata “riavvio per inattività” (Inactivity Reboot, in inglese). Questa caratteristica “inedita” ha suscitato molta curiosità, soprattutto per le implicazioni che potrebbe avere nella protezione dei dati degli utenti e nella gestione dei dispositivi per finalità di indagine forense.
Nel recente passato, infatti, si sono ricorse segnalazioni di “riavvii misteriosi” che interessavano i dispositivi con iOS 18. Il fenomeno sembrava verificarsi quando i dispositivi non erano collegati a reti wireless. L’analisi del codice di iOS 18 da parte di ricercatori indipendenti, ha confermato le segnalazioni e ha permesso di saperne di più su una novità finora tenuta sotto silenzio.
La sicurezza di iOS prima e dopo lo sblocco del dispositivo
Alla prima accensione dell’iPhone, inserendo il passcode corretto, il sistema operativo provvede a sbloccare le risorse critiche ospitate nel Secure Enclave Processor (SEP), contenente dati in forma crittografata.
Questa fase, conosciuta come Before First Unlock (BFU), è caratterizzata da un comportamento più restrittivo. Funzionalità come Face ID e Touch ID non sono disponibili; il passcode è necessario per accedere ai dati. Inoltre, le password WiFi sono criptate: ciò significa che il dispositivo non si connetterà a reti WiFi, a meno che la SIM non sia protetta da PIN, nel qual caso il dispositivo potrà comunque connettersi alle reti mobili. Sebbene il dispositivo possa ricevere chiamate, il nome del contatto non compare, poiché i contatti non sono ancora in uno stato di avvenuta decodifica.
Dopo il primo sblocco del dispositivo iOS, questo entra nella fase After First Unlock (AFU). I dati dell’utente vengono decodificati e alcune informazioni, come le notifiche e la connessione alle reti WiFi, diventano sempre disponibili. Anche quando è attivo il blocco dello schermo. Se un malintenzionato riuscisse a bypassare il blocco dello schermo, allora questi potrebbe ottenere accesso ai dati decriptati.
Il riavvio per inattività in iOS 18
La scoperta del riavvio per inattività (qui la procedura in time lapse) è avvenuta a seguito di un’analisi di iOS 18 e delle sue nuove funzionalità di sicurezza. Svolgendo un’attività di reverse engineering sul codice del sistema operativo Apple, i ricercatori si sono accorti della presenza di una stringa denominata inactivity_reboot
, apparsa nelle versioni iOS 18.1 e 18.2. La stringa confermava l’esistenza di una caratteristica che forza un riavvio automatico del dispositivo dopo un periodo di inattività di 72 ore.
Il riavvio per inattività è gestito dal SEP, che tiene traccia dell’ultimo sblocco dell’iPhone. Se il tempo trascorso supera le 72 ore, SEP comunica al modulo kernel AppleSEPKeyStore
che è necessario eseguire un riavvio.
Il processo di riavvio avviene in modo graduale. Il modulo del kernel informa il sistema di avviare il riavvio, chiudendo correttamente tutte le applicazioni in esecuzione per evitare la perdita di dati. Se, per qualche motivo, il dispositivo non si riavvia, il kernel produce un panic error segnalando un tentativo di tampering ovvero di aggiramento delle misure di difesa.
I potenziali problemi del riavvio automatico per inattività
L’analisi del kernel di iOS 18 ha rivelato come funziona tecnicamente il riavvio per inattività sui dispositivi Apple. Il già citato modulo kernel AppleSEPKeyStore
gestisce le notifiche relative alla funzionalità di protezione nel cosiddetto userspace e imposta una variabile NVRAM, aks-inactivity
, letta dal processo keybagd
.
Al riavvio del dispositivo, keybagd
invia un evento di analisi ad Apple, indicando per quanto tempo l’iPhone è rimasto inattivo.
La novità introdotta da Apple è una “dichiarazione di guerra” per tutti coloro che cercano di accedere al contenuto dei dispositivi altrui. Forze di polizia e professionisti che si occupano di analisi forense sono i primi a essere “tagliati fuori”. La funzionalità di riavvio automatico si attiva senza che l’iPhone sia connesso a reti wireless, indicando che il riavvio non dipende dalla connessione a Internet ma solo dal tempo di inattività del dispositivo.
Il riavvio automatico per inattività offre quindi protezione contro gli attacchi fisici a dispositivi iPhone sequestrati o rubati. Se un dispositivo rimane inattivo per troppo tempo, il riavvio forzato elimina la possibilità di accedere ai dati.
Le attrezzature obsolete utilizzate dalle forze dell’ordine spesso finiscono su eBay e altre piattaforme simili a prezzi piuttosto bassi. Gli aggressori, tuttavia, tipicamente non disporranno dei mezzi finanziari per ottenere exploit aggiornati per sbloccare gli iPhone entro 72 ore (un altro motivo per cui è importante installare gli aggiornamenti di sicurezza).
D’altro canto, le forze dell’ordine dovranno adattare il loro processo e agire più velocemente di prima. Le più note aziende sviluppatrici di strumenti forensi hanno già annunciato di essere in grado di coordinare questi passaggi entro 24 ore, battendo sul tempo il riavvio per inattività di Apple. Questo tuttavia indica implicitamente che le stesse realtà dispongono di exploit funzionanti per l’aggredire solo gli iPhone che si trovano nella fase AFU.