Alcuni esperti di sicurezza hanno scoperto una campagna di hacking di iPhone contro la società di sicurezza russa Kaspersky, che è stata etichettata come “l’exploit più sofisticato di sempre”.
L’attacco Operation Triangulation ha comportato una serie complessa di exploit, incluso un attacco iMessage zero-click, rivolto a iOS fino alla versione 16.2. L’attacco inizia con un allegato iMessage dannoso che sfrutta un’istruzione di carattere TrueType non documentata, portando all’esecuzione di codice in modalità remota.
Secondo il ricercatore di Kaspersky Boris Larin, la catena di exploit incorporava molteplici tecniche come la programmazione orientata return/jump , l’offuscamento di JavaScript e la manipolazione di JavaScriptCore e della memoria del kernel.
Una parte fondamentale dell’attacco consisteva nell’utilizzare controlli hardware speciali (registri MMIO) per aggirare il livello di sicurezza Page Protection di Apple. Tutto questo è stato fatto attraverso exploit specifici, tracciati come CVE-2023-41990, CVE-2023-32434 e CVE-2023-38606 nel database dei bug di sicurezza.
Sfruttando queste falle, gli aggressori potrebbero accedere a tutta la memoria dell’iPhone e ottenere il controllo completo per eseguire ulteriori azioni come inviare ai propri server registrazioni effettuate dal microfono, immagini, informazioni sulla posizione e altri dati riservati.
Uno di questi punti deboli, CVE-2023-38606, si è rivelato particolarmente delicato poiché ha consentito agli aggressori di aggirare la sicurezza aggiuntiva negli iPhone più recenti. Tutto questo è stato fatto inviando dati ad alcune parti della memoria dell’iPhone utilizzando parti nascoste dei chip Apple, che probabilmente erano destinate a verificare e risolvere i problemi.
I ricercatori hanno trovato queste parti nascoste collegate al processore grafico dell’iPhone. Quando hanno tentato di accedervi, il processore grafico si è bloccato, confermando che facevano parte dell’attacco.
Un controller particolare, numerato come 0x206040000, era vitale perché veniva utilizzato all’inizio e alla fine dell’attacco. Questo suggerisce che sia stato utilizzato per attivare o disattivare una funzionalità hardware particolare o per gestire gli avvisi durante l’attacco.
Apple ha risolto il problema di sicurezza aggiornando la mappa interna del dispositivo (nota come device tree) per riconoscere e controllare l’accesso a specifiche aree di memoria, in particolare gli intervalli 0x206000000-0x206050000 e 0x206110000-0x206400000, che venivano utilizzati in modo improprio nell’attacco.
Il sistema del dispositivo (XNU) utilizza questa mappa per decidere se consentire l’accesso a determinate parti della sua memoria. Ogni area nella mappa viene etichettata in modo chiaro per mostrare che tipo di memoria è e a cosa serve.
Come difendersi dall’attacco Operation Triangulation?
Sebbene sia impossibile proteggersi da un attacco zero-day, gli utenti iPhone possono comunque adottare diverse misure per mitigare i rischi. Tuttavia, in questo caso si trattava di un attacco mirato, diretto ai dipendenti di Kaspersky.
Aggiornare iOS alla versione più recente è fondamentale, poiché include correzioni per vulnerabilità di sicurezza note. Gli utenti dovrebbero prestare attenzione ai messaggi ricevuti su iMessage, soprattutto se provenienti da fonti sconosciute, evitando di fare clic su collegamenti sospetti o di scaricare allegati.
L’utilizzo di password complesse e univoche e l’abilitazione dell’autenticazione a due fattori per l’ID Apple aggiunge un ulteriore livello di sicurezza. Inoltre, i backup regolari dei dati dell’iPhone possono mitigare i danni in caso di attacco.
Infine, Apple ha aggiunto una funzionalità chiamata “Modalità isolamento” su iPhone, Mac e iPad in iOS 16, macOS Ventura e iPadOS 16. Si tratta di una funzionalità di sicurezza progettata principalmente per persone di alto profilo che potrebbero essere bersaglio di sofisticati attacchi informatici.
La funzionalità non è destinata all’uso quotidiano a causa della sua natura altamente restrittiva, che limita in modo significativo la funzionalità del dispositivo.