iOS è considerato il sistema operativo mobile con il modello di sicurezza più robusto tra quelli di largo consumo. Apple ha costruito fin dall’inizio un ecosistema chiuso — App Store come unico canale di distribuzione, hardware e software controllati dallo stesso vendor, aggiornamenti di sicurezza distribuiti rapidamente e uniformemente — che riduce strutturalmente molti vettori di attacco comuni su Android. Tuttavia il modello non è imperforabile: gli attacchi più sofisticati, come il celebre spyware Pegasus, dimostrano che anche iOS può essere compromesso con risorse sufficienti.
Secure Boot Chain
iOS implementa una catena di avvio verificata in cui ogni componente verifica crittograficamente il successivo prima di eseguirlo:
Boot ROM (immutabile, in silicio)
→ Low-Level Bootloader (LLB)
→ iBoot
→ Kernel (XNU)
→ Sistema operativo
La Boot ROM contiene la chiave pubblica di Apple hardcodata nel silicio — non modificabile nemmeno da Apple stessa. Ogni step verifica la firma digitale del successivo con quella chiave. Se la verifica fallisce, il dispositivo non si avvia. Questo impedisce il boot di software non autorizzato da Apple anche con accesso fisico al dispositivo.
Apple verifica anche che la versione di iOS installata sia una delle versioni correntemente approvate (SHSH blobs), impedendo il downgrade a versioni con vulnerabilità note.
Sandboxing e isolamento delle app
Ogni app iOS è eseguita in una sandbox rigorosa basata su TrustZone e profili di sandbox del kernel:
- Ogni app ha accesso solo alla propria directory container sul filesystem
- Le comunicazioni tra app avvengono esclusivamente tramite meccanismi espliciti (URL scheme, App Extensions, Shared Keychain con stesso Team ID)
- Le app non possono esaminare la lista delle app installate o i loro dati
- I processi di sistema sono separati dalle app utente tramite profili Sandbox diversi
Entitlements: ogni app dichiara in fase di firma le capacità che le sono consentite (accesso alla rete, keychain, notifiche push, background execution). Apple verifica questi entitlements durante la revisione dell’App Store. Un’app non può acquisire capabilities non dichiarate a priori.
Cifratura hardware
iOS usa la Secure Enclave — un coprocessore di sicurezza dedicato (ARMv8 con firmware separato) presente in tutti gli iPhone dalla generazione A7 (2013) — per:
- Gestire le chiavi di cifratura del filesystem (file encryption keys)
- Processare le impronte digitali (Touch ID) e i dati facciali (Face ID) senza mai esporli al processore principale
- Derivare le chiavi da PIN/passphrase con un contatore hardware che impone limiti ai tentativi di brute force (10 tentativi → cancellazione del dispositivo se configurata)
I dati sul dispositivo sono cifrati con una gerarchia di chiavi in cui la chiave radice è legata all’UID del dispositivo — hardcodato nel silicio e non estraibile nemmeno da Apple. Senza il PIN o la biometria, i dati sono crittograficamente inaccessibili.
App Store e revisione
L’App Store è l’unico canale ufficiale di distribuzione (escluso TestFlight per beta e provisioning enterprise). Apple rivede ogni app prima della pubblicazione e prima di ogni aggiornamento. Questo crea una barriera significativa per la distribuzione di malware rispetto al modello di sideloading Android.
Limitazione: la revisione non è infallibile. App con comportamento malevolo delayed o che scaricano payload da remoto dopo l’approvazione sono state rilevate. Nel 2021, l’indagine di Sideloading Report ha documentato decine di app fraudolente sfuggite alla revisione.
Attacchi documentati
Pegasus (NSO Group): lo spyware commerciale più sofisticato documentato pubblicamente. Sfrutta exploit zero-click (nessuna interazione utente richiesta) su componenti di parsing di iMessage, WebKit e altre superfici. Una volta installato, ha accesso completo al dispositivo inclusi microfono, fotocamera, messaggi cifrati. Usato contro giornalisti, attivisti e capi di stato. Apple rilascia patch di emergenza regolarmente per le vulnerabilità sfruttate da Pegasus.
Lockdown Mode (iOS 16+): modalità di sicurezza estrema che disabilita funzionalità rischiose (preview allegati iMessage, JIT WebKit, connessioni USB con dispositivi non fidati, profili di configurazione). Progettata per utenti ad alto rischio (giornalisti, dissidenti, diplomatici) come risposta diretta a Pegasus.
Jailbreak: sfruttamento di vulnerabilità kernel per rimuovere le restrizioni di iOS. Un dispositivo jailbroken ha la secure boot chain compromessa e la sandbox aggirata. Dal punto di vista della sicurezza, è equivalente a un dispositivo completamente compromesso.