Dispositivo Apple per la ricerca sulla sicurezza
Il dispositivo Apple per la ricerca sulla sicurezza è un iPhone con fusibili speciali che consente a chi compie ricerche su iOS di operare senza dover superare o disabilitare le funzionalità di sicurezza della piattaforma di iPhone. Tale dispositivo consente ai ricercatori il sideload di contenuti che vengono eseguiti con permessi equivalenti a quelli della piattaforma, rendendo possibili ricerche su una piattaforma più simile a quella dei dispositivi destinati alle operazioni di produzione.
Per aiutare a garantire che la politica di esecuzione del dispositivo per la ricerca sulla sicurezza non abbia effetto sui dispositivi per l’utente, le modifiche alla politica vengono implementate in una variante di iBoot e della raccolta del kernel di avvio. Il loro avvio non è possibile sull’hardware per utenti. La variante di iBoot per la ricerca verifica la presenza di un nuovo stato del fusibile ed entra in un loop di kernel panic se viene eseguito su un hardware con fusibile non per la ricerca.
Il sottosistema cryptex consente a un ricercatore di caricare una cache di attendibilità personalizzata e un’immagine disco con contenuti corrispondenti. Per aiutare a garantire che questo sottosistema non consenta l’esecuzione su dispositivi per utenti, sono state implementate approfondite misure di difesa:
launchd
non carica l’elenco di proprietà launchd dicryptexd
se rileva un dispositivo utente ordinario.cryptexd
viene abortito se rileva un dispositivo utente ordinario.AppleImage4
non fornisce il valore anti-replay utilizzato per verificare un cryptex di ricerca su un dispositivo utente ordinario.Il server di firma rifiuta di personalizzare le immagini disco cryptex per un dispositivo che non compare in un esplicito elenco approvato.
Per rispettare la privacy del ricercatore, solo le misurazioni (ad esempio, gli hash) degli eseguibili o la cache del kernel e gli identificativi del dispositivo per la ricerca sulla sicurezza vengono inviati ad Apple durante la personalizzazione. Apple non riceve il contenuto del cryptex che viene caricato sul dispositivo.
Per evitare situazioni in cui un hacker potrebbe tentare di far passare un dispositivo per la ricerca per un dispositivo per utenti e fare in modo che una vittima lo adotti per uso quotidiano, il dispositivo per la ricerca presenta le seguenti differenze:
Il dispositivo per la ricerca sulla sicurezza si avvia solo mentre è in carica. Questa può essere effettuata tramite cavo Lightning o tramite caricatore compatibile con lo standard Qi. Se il dispositivo non è in carica durante l’avvio, entra in modalità di recupero. Se l’utente inizia la ricarica e riavvia il dispositivo, questo si avvierà normalmente. Appena XNU ha eseguito l’avvio del dispositivo, questo non deve essere in carica per continuare l’operazione.
Durante l’avvio di iBoot, sotto il logo Apple, viene mostrata la scritta “Security Research Device”.
Il kernel XNU si avvia in modalità “Verbose”.
Sul lato del dispositivo è inciso il messaggio: “Property of Apple. Confidential and Proprietary. Call +1 877 595 1125”.
Quelle di seguito sono misure aggiuntive implementate nel software che vengono mostrate dopo l’avvio:
Durante la configurazione del dispositivo viene mostrata la scritta “Security Research Device”.
Nella schermata di blocco e nell’app Impostazioni viene mostrata la scritta “Security Research Device”.
Il dispositivo per la ricerca sulla sicurezza consente ai ricercatori di eseguire le seguenti operazioni, non permesse sui dispositivi per utenti. I ricercatori possono:
Effettuare il sideload sul dispositivo di codice eseguibile con permessi arbitrari dello stesso livello di quello dei componenti del sistema operativo Apple.
Avviare i servizi all’avvio.
Mantenere contenuti tra un riavvio e l’altro.
Utilizza il permesso
research.com.apple.license-to-operate
per consentire a un processo di eseguire il debug di qualsiasi altro processo in esecuzione sul sistema, inclusi i processi di sistema.Il namespace
research.
viene rispettato soltanto dalla varianteRESEARCH
dell’estensione del kernel AppleMobileFileIntegrity; durante la convalida della firma su un dispositivo utente, tutti i processi con questo permesso vengono terminati.Personalizzare e ripristinare una cache del kernel personalizzata.