Le minacce informatiche si evolvono rapidamente, e l’ultima scoperta nel mondo della sicurezza informatica è “Operation Triangulation“. Questo sofisticato attacco, scoperto dai ricercatori di sicurezza di Kaspersky Boris Larin, Georgy Kucherin e Leonid Bezvershenko, sfrutta una serie di vulnerabilità per infiltrarsi negli iPhone, dimostrando che nessun sistema, nemmeno quello chiuso di Apple, è immune da tali minacce e va quindi tenuto sotto controllo e monitorato constantemente.
L’Operation Triangulation è definita un “attacco a catena” poiché sfrutta una serie di vulnerabilità concatenate, 0-day perché sfrutta vulnerabilità sconosciute, e 0-click poiché non richiede interazioni da parte dell’utente. Questo attacco complesso è stato potenzialmente utilizzato tra il 2019 e il dicembre 2022, mettendo in pericolo la sicurezza degli utenti iPhone.
L’ingresso nell’iPhone avviene attraverso iMessage, un’app di messaggistica di Apple. Un file PDF dannoso, inviato tramite iMessage, sfrutta la vulnerabilità di esecuzione del codice remoto nel sistema, consentendo l’installazione di uno spyware senza richiedere all’utente di aprire il file. Questa vulnerabilità è stata risolta solo con l’uscita di iOS 16.2 a dicembre 2022.
Gli aggressori inviano un file dannoso tramite iMessage, sfruttando un ingegnoso stratagemma che sfugge alla percezione dell’utente. Questo allegato si avvale della vulnerabilità di esecuzione del codice remoto, identificata con il codice CVE-2023-41990, relativa all’istruzione di font ADJUST TrueType, una componente non documentata e specifica di Apple. È interessante notare che questa istruzione è presente fin dai primi anni novanta, e solo successivamente è stata risolta con l’implementazione di una patch.
Il livello di complessità aumenta notevolmente in questa fase dell’attacco, poiché si fa largo uso della programmazione orientata al ritorno/salto e di più fasi scritte nel linguaggio di query NSExpression/NSPredicate. Si procede, inoltre, alla manipolazione dell’ambiente della libreria JavaScriptCore mediante patching per eseguire un exploit di escalation dei privilegi scritto in JavaScript. L’exploit in JavaScript viene nascosto attraverso un processo di oscuramento mirato a renderlo completamente illeggibile e a ridurne le dimensioni. Con un’imponente mole di circa 11.000 righe di codice, il suo focus principale è sull’analisi e la manipolazione della memoria in JavaScriptCore e nel kernel.
L’ingegneria del codice sfrutta la funzione di debug JavaScriptCore DollarVM ($vm) per ottenere la capacità di manipolare la memoria di JavaScriptCore dallo script ed eseguire funzioni API native. Un aspetto preoccupante è la progettazione mirata alla massima compatibilità, supportando sia i modelli di iPhone più datati che quelli più recenti. Questa inclusione copre persino un bypass del codice di autenticazione puntatore (PAC), consentendo attacchi anche su dispositivi di ultima generazione.
Proseguendo nell’attacco, il codice sfrutta la vulnerabilità di overflow intero CVE-2023-32434 nelle syscall di mappatura della memoria di XNU (mach_make_memory_entry e vm_map). Questo consente l’accesso in lettura/scrittura all’intera memoria fisica del dispositivo a livello di utente. Successivamente, si sfruttano i registri I/O (MMIO) mappati con memoria hardware per aggirare il Page Protection Layer (PPL), risolvendo così una vulnerabilità identificata come CVE-2023-38606.
L’attacco, estremamente complesso, raggiunge il culmine quando il codice assume il controllo totale del telefono, rappresentato simbolicamente come il “teschio“. A questo punto, l’exploit JavaScript potrebbe già iniettare uno spyware, ma gli aggressori compiono ulteriori azioni strategiche. Avviano il processo IMAgent e iniettano un payload che elimina ogni traccia di sfruttamento dal dispositivo. In contemporanea, eseguono un processo Safari in modalità invisibile, instradandolo verso una pagina web contenente la fase successiva dell’attacco.
Questa pagina web, dotata di uno script di verifica della vittima, riceve la fase successiva: l’exploit di Safari. Quest’ultimo utilizza la vulnerabilità CVE-2023-32435 per eseguire un codice di shell, attivando un ulteriore exploit del kernel sotto forma di un file oggetto Mach. Sfruttando le stesse vulnerabilità impiegate precedentemente per ottenere il controllo del kernel (CVE-2023-32434 e CVE-2023-38606), gli aggressori consolidano la loro presa sul dispositivo, preparandolo all’iniezione dello spyware e aprendo la porta a un controllo completo delle azioni del telefono.
Nonostante la scoperta di questa sofisticata minaccia, i ricercatori sono ancora perplessi su come gli aggressori abbiano avuto accesso a una delle vulnerabilità chiave. Chiedono aiuto alla comunità di sicurezza iOS per esaminare i dettagli tecnici e trovare spiegazioni a questo mistero.
I ricercatori concludono che i sistemi chiusi, come quello di Apple, basati sulla “sicurezza attraverso l’oscurità”, non possono garantire una vera sicurezza. L’Operation Triangulation evidenzia la necessità di continue innovazioni nella sicurezza informatica e di una maggiore trasparenza per affrontare minacce sempre più avanzate. La sicurezza digitale richiede una collaborazione costante e la consapevolezza che nessun sistema è immutabile di fronte all’evoluzione delle minacce.