Pubblicità
Motherboard

Come un impiegato di Apple ha trafugato uno dei codici più sensibili dell'iPhone

Il codice sorgente di iBoot sarebbe dovuto restare tra pochi amici. Invece, è successo un disastro.

di Lorenzo Franceschi-Bicchierai
12 febbraio 2018, 11:52am

Immagine: Che Saitta-Zelterman/Motherboard 

Mercoledì scorso, una fonte anonima ha pubblicato il codice sorgente di una componente fondamentale del sistema operativo di iPhone.

L’utente “ZioShiba” ha infatti pubblicato il codice di iBoot — la parte di iOS responsabile dell’avvio sicuro del sistema operativo — su GitHub, la più grossa repository online di codice open source.

Un ricercatore che si occupa di sicurezza iPhone l’ha definito come il “leak più grosso” della storia dell’iPhone. Il codice di iBoot in questione è per iOS 9 ed è vecchio di due anni. Ma potrebbe aiutare i ricercatori in sicurezza e la comunità di jailbreak ancora oggi a trovare nuovi bug e vulnerabilità in una delle parti chiave dell’ecosistema super segreto di iPhone.

“Ha preso tutto, qualsiasi tool interno di Apple e cose simili.”

Il leak del codice sorgente di iBoot non rappresenta un rischio per la sicurezza della maggior parte — per non dire alcuno — degli utenti, ha dichiarato Apple. Ma resta motivo di serio imbarazzo per un’azienda che si fregia della propria segretezza e risponde in modo estremamente aggressivo a ogni leak.

Come è potuta succedere una cosa del genere?

Un impiegato di basso livello di Apple con qualche amico nella comunità di jailbreak ha preso il codice da Apple mentre lavorava nel quartier generale dell’azienda di Cupertino nel 2016, stando a due persone che hanno ricevuto il codice direttamente dall’impiegato. Motherboard ha convalidato le informazioni di queste due testimonianze con i messaggi e gli screenshot risalenti al periodo in cui è avvenuto il leak originale; ha anche parlato con una terza fonte a conoscenza della storia.

Motherboard ha assicurato a queste fonti l’anonimato, data la facilità con cui Apple potrebbe farli perseguire per aver ottenuto e distribuito software proprietario e coperto da copyright. L’impiegato originale di Apple non ha risposto alla nostra richiesta di commento e ha fatto riferire da un amico di non voler parlare, per via dell’accordo di riservatezza firmato con Apple.

Stando a queste fonti, la persona che ha rubato il codice non aveva motivi di rancore nei confronti di Apple. Sono stati alcuni amici che, mentre lavorava per l’azienda, l’hanno incoraggiato a trafugare codice Apple interno. Questi amici facevano parte della comunità di jailbreaking e volevano il codice sorgente per le proprie ricerche in sicurezza.

Questa persona ha preso il codice sorgente di iBoot — e altro codice che deve ancora essere leakato — e lo ha condiviso con un piccolo gruppo di cinque persone.

“Ha preso tutto, qualsiasi tool interno di Apple e cose simili,” mi ha detto un amico del dipendente Apple. Motherboard ha visto gli screenshot di ulteriore codice sorgente e nomi di file che non erano inclusi nel leak di GitHub, ma che erano contrassegnate dalle stesse date del primo leak.

Leggi anche:
I bug dell'iPhone sono troppo preziosi per essere segnalati ad Apple

Stando a due persone che facevano parte del gruppo originale, non era in alcun modo previsto che il codice uscisse dal loro cerchio di amici; un terzo amico che non ha voluto ricevere il codice ma l’ha esaminato dal computer di un altro ha confermato questa dichiarazione.

Alla fin fine, però, il codice è stato condiviso con più persone e il gruppo originale ha perso il controllo sulla sua diffusione.

“Ero super paranoico che qualcuno di noi lo leakasse immediatamente,” mi ha raccontato una delle prime persone a ricevere il codice. “Avere il codice sorgente di iBoot e non essere all’interno di Apple… non si è mai sentita una roba del genere.”

“Personalmente non avrei mai voluto che il codice vedesse la luce del sole. Non per egoismo, ma per paura delle ripercussioni legali,” hanno detto. “La comunità interna di Apple è davvero piena di ragazzini curiosi. Sapevo che un giorno se quei ragazzini ci avessero messo le mani sopra, sarebbero stati abbastanza fessi da buttarlo su GitHub.”

Secondo la fonte, se il codice si fosse diffuso troppo, avrebbe potuto aiutare eventuali malintenzionati a creare exploit e jailbreak malevoli per attaccare gli utenti iPhone.

”Può trasformarsi in un'arma,” mi hanno detto. ”Ci sarebbe anche qualcosa da dire sulla questione della libertà di informazione, molti sono convinti che questo leak sia una cosa positiva. Ma l'informazione non è libera quando viola la sicurezza personale.”

”Abbiamo compiuto ogni sforzo possibile per assicurarci che trapelasse solo una volta che il codice fosse ormai invecchiato,” hanno aggiunto.

Circa un anno dopo il furto del codice e la sua diffusione presso un gruppo ristretto di amici, qualcuno all'interno di quel gruppo lo ha girato "a qualcun altro che non avrebbe dovuto averlo," ha detto una delle nostre fonti.

“Nulla di tutto questo avrebbe mai dovuto raggiungere più di un piccolo gruppo di persone, quello che è successo è un disastro.”

A questo punto, la storia diventa poco chiara. Nessuna delle persone con cui ho parlato è sicura di chi abbia fatto trapelare il codice all'esterno dal primo gruppo di amici. E nessuno ha veramente chiaro cosa sia successo dopo. Ma tutti quelli con cui ho parlato sono d'accordo sul fatto che, a un certo punto, hanno perso il controllo del codice e questo si è diffuso sempre di più. Altre due fonti legate alle comunità di ricerca nel campo del jailbreaking e degli iPhone hanno confermato a Motherboard che questo codice ha iniziato a circolare più ampiamente nel 2017.

Poi, nell'autunno del 2017, diverse persone estranee a quel gruppo iniziale di amici hanno iniziato a condividere gli screenshot del codice in un gruppo di jailbreaker su Discord per vantarsi e prendere in giro altri membri del gruppo, secondo una delle persone con cui ho parlato.

”Quando ho sentito parlare di quel gruppo su Discord, ho buttato tutte le copie di iBoot che avevo,” hanno detto. ”Non ne ho più bisogno e, se questa storia sta diventando di dominio pubblico, non voglio essere associato al leak. Se esce fuori, uscirà comunque, ma non per causa mia.”

A quel punto, però, era troppo tardi. Poco dopo, su Reddit, qualcuno che ha usato l'account temporaneo "apple_internals" ha pubblicato un link a Mega archive con il codice sorgente di iBoot su r/jailbreak.

Uno screenshot del post di Reddit passato in sordina attraverso cui il codice sorgente di iBoot è stato condiviso per la prima volta con l'internet intero.

Eppure, è stato notato da pochissime persone perché il post era stato rimosso automaticamente da un bot moderatore. Ma poi, mercoledì, è stato pubblicato di nuovo su GitHub.

Entrambe le nostre fonti sono convinte che chi ha pubblicato il codice su GitHub non sia associato al leak originale: "quello che è trapelato ieri non è nemmeno il leak completo — ma una copia," ci ha detto una delle fonti.

A quel punto, è diventato virale, prima all' interno della comunità dei jailbreaker, poi presso la comunità più vasta di ricercatori della sicurezza di iOS. Nel giro di poche ore, il profilo Twitter infosec ne stava già parlando e così noi (e il resto della stampa) ne abbiamo scritto.

Apple ha rifiutato di rispondere alle nostre domande per capire se l'azienda fosse a conoscenza del leak prima di mercoledì e se stia indagando sul caso.

”Per come sono progettati, la sicurezza dei nostri prodotti non dipende dalla segretezza del nostro codice sorgente. Ci sono diversi livelli di protezioni a livello hardware e software incorporati nei nostri prodotti,” ha spiegato l'azienda in una dichiarazione via mail.

Mercoledì, un dipendente Apple mi ha rivelato che erano a conoscenza del leak prima che fosse pubblicato su GitHub, ma non mi ha detto quando l'azienda ha saputo che il codice era stato rubato.

”Nulla di tutto questo avrebbe mai dovuto raggiungere più di un piccolo gruppo di persone, quello che è successo è un disastro,” mi ha detto una delle persone che avevano ricevuto il codice per prime. ”Ovviamente è finito per trasformarsi in un casino, ma le intenzioni originali non erano malevole.“

Seguici su Facebook e Twitter.