L'attacco iPhone "più sofisticato di sempre" sfruttava iMessage per spiarvi

Operation Triangulation: Kaspersky rivela una vulnerabilità iMessage avanzata. Attacco sofisticato su iOS permetteva il controllo del dispositivo.

Avatar di Luca Zaninello

a cura di Luca Zaninello

Managing Editor

Con una rivelazione al Chaos Communication Congress, i ricercatori di sicurezza di Kaspersky Boris Larin, Leonid Bezvershenko e Georgy Kucherin hanno svelato le complessità di una vulnerabilità di iMessage eccezionalmente sofisticata nota come "Operation Triangulation". Questa rivelazione arriva a seguito delle patch, dopo un periodo compreso tra il 2019 e dicembre 2022 in cui la vulnerabilità è rimasta attivamente sfruttabile, lasciando i dispositivi iOS vulnerabili a una catena di attacchi molto avanzata.

Descritta come la "catena di attacchi più sofisticata" mai vista dai ricercatori, Operation Triangulation ha sfruttato una serie di vulnerabilità zero-day, culminando in un exploit iMessage 0-click che è persistito fino al rilascio di iOS 16.2 nel dicembre 2022.

La complessa catena di attacchi prevedeva lo sfruttamento di una vulnerabilità di esecuzione di codice remoto (CVE-2023-41990) nell'istruzione del font TrueType ADJUST, esclusiva di Apple. Questa vulnerabilità, presente fin dai primi anni Novanta, è rimasta inosservata fino al rilascio di una patch. L'attacco è proseguito con l'uso di una programmazione orientata al ritorno/salto e di più fasi scritte nel linguaggio di query NSExpression/NSPredicate.

Un elemento cruciale dell'exploit è stato il codice JavaScript offuscato, per un totale di circa 11.000 righe di codice, principalmente incentrato su JavaScriptCore e sulla manipolazione della memoria del kernel. Gli aggressori hanno utilizzato la funzione di debug di JavaScriptCore, DollarVM ($vm), per manipolare la memoria ed eseguire funzioni API native.

In particolare, l'attacco è stato progettato per colpire sia i vecchi che i nuovi iPhone, incorporando un bypass del Pointer Authentication Code (PAC) per i modelli più recenti. L'attacco sfruttava una vulnerabilità di integer overflow (CVE-2023-32434) nelle syscall di mappatura della memoria di XNU, ottenendo l'accesso in lettura/scrittura all'intera memoria fisica a livello utente.

I ricercatori sottolineano che l'exploit JavaScript, una volta eseguito con successo, ha garantito agli aggressori un ampio controllo sul dispositivo compromesso. Le fasi successive comprendevano l'avvio del processo IMAgent, l'iniezione di un payload per cancellare gli artefatti di sfruttamento, l'esecuzione di un processo Safari furtivo e l'inoltro a una pagina web per la fase successiva.

La pagina Web, verificata da uno script, ha avviato l'exploit Safari (CVE-2023-32435) che ha eseguito un codice shell. Questo shellcode, a sua volta, ha innescato un altro exploit del kernel utilizzando CVE-2023-32434 e CVE-2023-38606, garantendo infine i privilegi di root e consentendo l'esecuzione di ulteriori fasi, tra cui la distribuzione di spyware.

Sebbene i ricercatori abbiano compiuto progressi sostanziali nel reverse-engineering della catena di attacco, essi evidenziano un mistero che circonda CVE-2023-38606. Invitano la comunità della sicurezza iOS a esaminare le loro scoperte, incoraggiando la collaborazione per decifrare come gli aggressori siano venuti a conoscenza della funzione hardware nascosta.

In una nota conclusiva, Larin, Bezvershenko e Kucherin affermano che i sistemi che si affidano alla "sicurezza attraverso l'oscurità" non possono mai essere veramente sicuri. La divulgazione dell'Operazione Triangulation sottolinea l'importanza di solide misure di sicurezza informatica di fronte a minacce sempre più sofisticate. Per chi fosse interessato a contribuire alla ricerca in corso, i dettagli tecnici sono disponibili sul blog Kaspersky SecureList.