Il 27 settembre scorso un ricercatore di sicurezza, nonché hacker, di nome axi0mX, ha dichiarato tramite un post su Twitter di aver trovato un exploit, denominato Checkm8, in grado di violare determinati dispositivi Apple.
Come si legge nel post, l’exploit interessa la memoria ROM contenente le istruzioni di boot (d’ora in poi bootrom) dei dispositivi che montano i chip da A5 ad A11. Nel dettaglio, quindi, i dispositivi Apple esposti a questa vulnerabilità sarebbero i seguenti:
- iPhone dal 4s fino all’iPhone X
- iPad dalla 2 alla 7a generazione
- iPad Mini 2 and 3
- iPad Air 1a e 2a generazione
- iPad Pro da 10,5 pollici e 12,9 pollici di seconda generazione
- Apple Watch Series 1, Series 2 e Series 3
- Apple TV 3a generazione e 4k
- iPod Touch dalla 5a alla 7a generazione
Questo probabilmente non è un elenco esaustivo e, come menziona lo stesso axi0mX, ne verranno aggiunti altri.
Il tweet con cui l’hacker axi0mx ha svelato l’esistenza dell’exploit Checkm8 in grado di violare i dispositivi Apple che montano i chip da A5 ad A11.
Indice degli argomenti
Checkm8: un bug all’origine di tutto
Apple, dunque, sarebbe stata violata: è stato trovato un modo per sbloccare i dispositivi della Mela e, a quanto pare, il nuovo jailbreak sarebbe “definitivo” in quanto non ci sarebbe modo di impedirlo.
Haters e smanettoni di tutto il mondo stanno già gongolando, iniziando a stappare bottiglie di champagne a seguito della buona novella: finalmente si avrà l’opportunità di rivedere Cydia come store principale del nostro amato dispositivo.
O forse no?
Prima di fare chiarezza sull’accaduto, cerchiamo innanzitutto di scoprire cos’è la bootrom. Un bootrom è un chip di memoria di sola lettura contenente le prime parti di codice da caricare all’avvio di un sistema.
Il codice contenuto nel bootrom è il nucleo del processo di avvio del dispositivo e non dovrebbe essere possibile modificarlo, poiché in sola lettura. Trovare un bug in questa porzione di codice è considerato il Santo Graal dell’hacking.
Di fatto, secondo axi0mX, esiste un errore del genere ed il codice necessario per sfruttarlo è ora disponibile pubblicamente su GitHub.
Lo stesso axi0mX, per dimostrare la bontà dell’exploit rilevato, ha pubblicato un video nel quale sfoggia la possibilità di visualizzare l’opzione di avvio in modalità verbose.
Un frame del video in cui si vede in esecuzione l’exploit Checkm8 che consente di effettuare il “jailbreak” dei dispositivi Apple.
Checkm8: un epic jailbreak
A questo punto, è d’obbligo una piccola precisazione. Un esperto di sicurezza non può mai essere un grande fan del jailbreak, se non ritenendolo utile per fini analitici: manomettere il firmware di un dispositivo per aggiungere funzionalità che il sistema operativo non ha o per installare app pirata non è una buona pratica.
In parole povere, effettuare il root o jailbreak di un dispositivo è come cambiare i mobili in casa dopo aver forzato la porta di ingresso. Questa diventa forzabile un po’ da chiunque.
La sicurezza decade e si rischia, oltre ai malfunzionamenti, anche di aprire falle che potrebbero successivamente essere sfruttate da malware. Senza contare l’immediato decadimento di ogni tipo di garanzia del dispositivo.
È inoltre curioso che tale exploit sia stato auto-definito epico, quando di epico c’è ben poco.
Per prima cosa, la falla è stata trovata su una memoria ROM: essendo quest’ultima in sola lettura per definizione, non ammette aggiornamenti firmware, quindi il problema è apparentemente non risolvibile da parte di Apple. Ma allo stesso tempo, il pericolo che ne deriva è pari a zero, proprio per quanto appena affermato.
Essendo un’operazione che incide sulle locazioni di memoria volatile a seguito del caricamento delle istruzioni dalla memoria ROM, non vi sarà alcun tipo di persistenza. Pertanto, ad ogni riavvio, qualsiasi injection di codice decade.
Perciò, anche se si dovesse arrivare nel prossimo futuro ad un jailbreak che applica fantomatiche modifiche al codice di sistema, è altamente probabile che al primo riavvio le componenti che poggiano le loro fondamenta sulla parte di codice iniettata nel firmware diventino innocue.
Quanto detto è inoltre confermato direttamente da axi0m8 alle 11:00 del 27/09: “Updated for the misconception that the bootrom was actually being modified. Apparently, the “permanent” only refers to the fact that the bug is in the bootrom, where it cannot be patched.”
Secondo, per applicare questo tipo di exploit serve ottenere fisicamente l’accesso al dispositivo e collegarlo ad un computer. Limitazione molto importante, perché esclude tutta una serie di casistiche molto pericolose verificatesi anche nel recente passato.
Anche in questo caso è di nuovo axi0m8 alle 12:15 del 27/09 a chiarire che: “After speaking with @axi0m8, clarified a few other points, including the fact that this cannot be exploited remotely.”
Infine, interessando la bootrom, il Secure Enclave e la Secure Bootchain dei dispositivi Apple che si occupano rispettivamente di cifrare i dati e controllare la bontà dei software, non vengono compromessi dall’exploit: i dati restano al sicuro, criptati nel dispositivo.
Vi è la totale impossibilità che possano essere in alcun modo estrapolati in chiaro da esso.
Considerazioni tecniche sull’exploit Checkm8
Quindi a cosa serve questo exploit che non è un jailbreak? Attualmente a niente.
Checkm8 può essere sicuramente interessante ai fini accademici, per capire come funziona il codice di iOS e soprattutto per vedere come Apple risolverà la questione.
Non sarà ad ogni modo facile creare un jailbreak completo, poiché sarebbe necessario non solo bypassare la sicurezza della bootrom ma anche del Secure Enclave di Apple. Salvo il fatto che eventuali “buchi” che coinvolgono pezzi di sistema successivi all’avvio del chip che abilita il boot del dispositivo, potranno in ogni caso essere risolti tramite aggiornamenti software.
Tecnicamente e teoricamente l’exploit della bootrom potrebbe tuttavia offrire la possibilità di eseguire il downgrade della versione di iOS, senza il bisogno dei blobs SHSH o APTickets (Application Processor Ticket), impedendo ad Apple di invalidare il ripristino del device a versioni precedenti di iOS (effettuando il downgrade a un firmware non digitalmente firmato da Apple, con strumenti che in passato avevano nomi quali Cydia e TinyUmbrella).
Anche in questo caso stiamo in ogni caso parlando di un factory reset che non permette in alcun modo l’accesso ai dati cifrati precedentemente storicizzati sul dispositivo.
Conclusioni
In base a quanto detto, nel breve tempo non salteranno fuori informazioni molto rilevanti riguardanti l’exploit Checkm8. Ma la cosa più importante è che tale bug che non è così utile per tutte quelle aziende che mirano ad esfiltrare i dati contenuti all’intero di un iPhone.
Non si prevedono quindi impatti sulla sicurezza dei dispositivi aziendali, nemmeno per quelli utilizzati in ambito smart working; è altresì vero che se si volesse ridurre in ogni caso al minimo la superficie di esposizione ad un eventuale rischio di compromissione dei dispositivi aziendali, si potrebbe optare ad un upgrade degli stessi verso modelli non vulnerabili a questo tipo di exploit.