Intervista con i0n1c aka Stefan Esser

i0n1c alias Stefan Esser è l'uomo che dobbiamo ringraziare perché abbiamo una soluzione di jailbreak senza vincoli per iOS 4.3 perché senza di lui il team di sviluppo probabilmente avrebbe girato a lungo in coda come ha fatto con iOS 4.2.1. Stefan Esser è un esperto di sicurezza IT che la piattaforma iOS ha attratto e convinto a dedicare tempo ed energie per scoprire bug che possono essere presentati alle conferenze internazionali sulla sicurezza. La fortuna ha fatto sì che uno di questi bug rimanesse privato e fosse utilizzato in iOS 4.3 e per questo dobbiamo ringraziarli. Afferma di aver scoperto dei bug anche in iOS 5, ma non dice che potrebbero essere sfruttati per un eventuale jailbreak della nuova versione del sistema operativo.

Di seguito l'intervista fatta da ModMyi, buona lettura.

JOSH: Dicci qualcosa su di te; età, occupazione, posizione e qualsiasi altra informazione che desideri condividere (se applicabile).
STEFANO: Ho 32 anni e vivo a Colonia; la quarta città più grande della Germania. Lavoro nel campo della sicurezza informatica dal 4. Nel 1998 ho co-fondato SektionEins (un'azienda tedesca specializzata nella sicurezza delle applicazioni (web)). Dal 2007° luglio di quest'anno mi sono preso una pausa dal lavoro di consulenza a tempo pieno per SektionEins e ora lavoro ai miei progetti di ricerca.

JOSH: Quando hai iniziato a imparare a programmare? In quali lingue sei esperto e c'è una o più lingue particolari in cui codifichi di più?
STEFANO: Ho ricevuto il mio primo PC a Natale quando avevo 8 anni. I miei genitori mi hanno regalato un PC invece di un AMIGA perché volevano che usassi effettivamente il computer e non giocassi. Il PC è arrivato con il suo dialetto Basic e ho imparato a programmare cose semplici. Tuttavia, uno dei miei figli vicini, che era molto più grande di me, mi ha parlato di questo meraviglioso linguaggio Pascal, quindi l'ho imparato e l'ho codificato per molti anni. Allo stesso tempo ho imparato anche il linguaggio assembly x86 perché amavo programmare a basso livello. Ma poi ho imparato che Pascal non è più bello e che C è il vero affare. Così ho iniziato a programmare in C.

Nel corso degli anni ho aggiunto un sacco di altri linguaggi come Logo, Java, Prolog, PHP, C#, Python e oggigiorno il linguaggio assembly ARM. In Objective-C mi considero un principiante assoluto. Ci sono altri linguaggi che posso leggere come Ruby e la maggior parte delle invenzioni di Microsoft, ma li leggo solo e non li uso mai per il mio codice.

JOSH: Generalmente ti riferisci a te con il tuo alias i0n1c. Come ti è venuto in mente quel nome?
STEFANO: In realtà la gente mi conosce con molti soprannomi. Da quando mi sono iscritto a Internet, ho provato un sacco di scene. La scelta di i0n1c è stata solo una coincidenza. Molti anni fa volevo entrare in IRC con il mio nick precedente ed era già occupato. Quindi scelgo la prima parola che mi è venuta in mente. Questo era ionico perché sulla mia scrivania c'era una bottiglia di deodorante e il suo sapore era chiamato ionico.

JOSH: Da quanto tempo fai parte della community del jailbreak? Cosa ti ha coinvolto per primo?
STEFANO: Non so se mi considero davvero nella comunità del jailbreak. Sono un professionista della sicurezza informatica e la sicurezza di iPhone e iOS è stato un argomento interessante per me. Quando ho avuto contatto per la prima volta con la sicurezza di iOS, mi sono reso conto che la mancanza di ASLR era un grave problema di sicurezza e mi sono sfidato ad aggiungere ASLR a iOS sugli iPhone con jailbreak. Sono riuscito a farlo e ne ho parlato alle conferenze sulla sicurezza delle informazioni. Ho dimostrato sul palco che era reale e funzionante, ma poi non l'ho mai rilasciato al pubblico perché stavo lavorando su altre cose e Apple ha deciso di aggiungere ASLR al proprio telefono. In teoria, combinare il mio Antid0te e l'ASLR di Apple sarebbe uno scudo di sicurezza decisamente migliore, ma Apple ha rotto alcune cose in iOS 4.3 in modo che non sia più possibile semplicemente cambiare la cache della libreria in fase di runtime. Tuttavia, molti siti di media si sbagliavano e credevano che ASLR avrebbe posto fine al jailbreak, il che non è vero. Sembrava che la scena del jailbreak fosse turbata e divisa da tutta questa faccenda dell'ASLR e poi Apple ha anche eliminato una scorciatoia nella 4.2.1 che rendeva molto più difficile lo sviluppo di un exploit senza vincoli. Fondamentalmente hanno rimosso l'accesso in scrittura ad alcuni flag di configurazione del runtime che abilitano o disabilitano la co-progettazione. Poiché avevo alcuni bug del kernel utilizzabili solo per untethers, ho deciso di donarli alla causa e ho scritto quel complicato exploit.

JOSH: Le persone ti conoscono più comunemente per il fatto che hai scoperto e sfruttato la versione 4.3+ per consentire un jailbreak senza vincoli. Questa scoperta è avvenuta in collaborazione con qualcuno dei team (iPhone Dev-Team o Chronic Dev-Team) o è stata effettuata esclusivamente da solo? Dopo aver scoperto questo exploit, quanto tempo hai impiegato per trasformarlo in un exploit di jailbreak praticabile?
STEFANO: Non sono coinvolto in nessuno dei team di jailbreak, tranne per il fatto che ho ricevuto supporto dall'iPhone Dev-Team sotto forma di una versione esperta di redsn0w. Questa versione mi ha permesso di avviare kernel arbitrari e aggiungere argomenti di avvio. Ma col tempo li ho convinti a riportare queste caratteristiche esperte al pubblico. Pertanto, l'unica grande differenza tra redsn0w non pubblico e quello pubblico è che viene fornito solo con un'interfaccia a riga di comando, il che è migliore durante lo sviluppo di exploit. L'iPhone Dev-Team ha anche testato in beta l'exploit untether e il comex (@comex) aveva reso pubbliche tutte le sue patch del kernel in quel momento. Ma a parte questo, non vi è stato alcun coinvolgimento nella scoperta e nello sfruttamento.

Ho trovato il bug prima che iOS 4.3 fosse reso disponibile, la scrittura dell'exploit vero e proprio è stata fatta in pochi giorni. Pertanto l'exploit funzionava molto prima del rilascio di iOS 4.3. Tuttavia quando uscirono le beta di iOS 4.3 la gente annunciò la presenza di ASLR e che alcuni trucchi che tutti usavano prima della 4.3 non funzionavano più. È stato un male perché ha interrotto completamente il mio exploit. Ho dovuto riscrivere l'intero exploit come payload ROP. Ciò significa che non puoi inserire il tuo codice ma devi cercare piccoli frammenti di codice nelle librerie iOS e quindi combinarli per fare ciò che vuoi fare. Riscrivere exploit complicati in questo modo è un processo che richiede molto tempo e quindi richiede circa una settimana per renderlo stabile.

JOSH: Dopo aver scoperto che il tuo exploit era bloccato in iOS 5, questo ti ha incoraggiato a trovare un'altra falla da sfruttare per i futuri utenti di iOS 5? Stai attualmente lavorando a progetti relativi a exploit o componenti di quella natura?
STEFANO: Sto effettuando ricerche sulla sicurezza del kernel iOS ormai da diversi mesi. Parlo della ricerca di bug nel kernel iOS e di come sfruttarli nelle conferenze internazionali sulla sicurezza. Sarei un truffatore se non fossi ormai a conoscenza di una serie di bug.

JOSH: Per molto tempo, la gente ha creduto che stavi lavorando su un jailbreak per iPad 2 noto come elevat0r. Anche se non hai confermato il tuo ruolo nel jailbreak dell'iPad 2, c'è mai stato un momento in cui hai pensato di provarci? Raccontaci qualcosa di elevator0r; come sono iniziate le voci e la storia e cosa è diventata ora (il sito web).
STEFANO: La voce sul jailbreak dell'iPad 2 è stata creata ai tempi di SyScan Singapore. @msuiche e stavo twittando di aver discusso del jailbreak dell'iPad 2 durante la cena. In realtà ne avevamo discusso, ma la nostra discussione riguardava più il fatto che io gli spiegassi cosa è necessario/manca per eseguire il jailbreak dell'iPad 2. Ad ogni modo, la gente ha iniziato a infastidire me e lui su Twitter per un ETA. Quindi ha detto che qualcosa al riguardo sarà fatto presto.

Qualche settimana dopo, stavo twittando di un ascensore rotto a casa mia e qualcuno mi ha risposto. "Oh mio Dio, il nuovo jailbreak dell'iPad2 si chiama ascensore" . Questo è stato sufficiente per un gruppo di siti di notizie nella comunità del jailbreak per affermare che presto sarà disponibile un jailbreak per iPhone chiamato ascensore. Io e i miei amici eravamo molto divertiti dalla community del jailbreak che considerava ogni singolo mio tweet una fonte di informazioni per il prossimo jailbreak. Quindi ci siamo divertiti molto a twittare di ascensori, scale, riparazioni, feste in ascensore, ecc. E la gente non ha capito nemmeno quando ho ripetutamente negato di aver lavorato su un jailbreak dell'iPad e ho mostrato le foto del vero ascensore. Tutta questa faccenda è stata davvero divertente perché ha diviso i miei follower su Twitter; quelli che ancora non l'hanno capito e quelli che hanno apprezzato ogni singolo tweet dell'ascensore.

Ad un certo punto ho pensato che sarebbe stato un bell'esperimento vedere quanti dei miei follower fossero davvero fantastici e così ho creato il sito elevat0r.com e ho chiesto loro di inviarmi foto di ascensori e iPad in attesa. Nel frattempo ho ricevuto circa 150 proposte, ma ho dovuto rimuoverne alcune perché non mostravano ascensori ma scale, ecc. Poiché mi piace ricambiare, ho deciso di regalare una AppleTV gratuita a uno dei ragazzi che mi ha inviato una foto dell'ascensore. Sceglierò un vincitore in modo casuale la seconda settimana del prossimo agosto.

Tuttavia, non ho mai lavorato su un jailbreak dell'iPad 2 perché questo era già coperto da comex. Non ho mai visto la necessità di un nuovo jailbreak. Non gioco a giochi di corse sfruttabili perché non portano ad altro che a scontri inutili. Inoltre non mi interessa essere il primo a rilasciare una soluzione. Mi interessa solo una soluzione esistente e per me va bene se sono l'unico ad avere accesso a quella soluzione. Il lato positivo è anche che Apple non lo sa e non può risolverlo 😛

JOSH: Oltre agli exploit e alle implementazioni relative all'hardware per iOS, hai creato eventuali modifiche Cydia o applicazioni AppStore. In caso contrario, stai lavorando a qualcosa di questo tipo adesso o in futuro?
STEFANO: Inizierò presto a lavorare su una semplice applicazione per i professionisti della sicurezza informatica che consentirà loro di configurare le patch del kernel utilizzate in untether. L'idea alla base di ciò è che molte persone che svolgono ricerche approfondite sulla sicurezza degli iPhone si sono rese conto che i loro exploit si comportano in modo molto diverso sui telefoni jailbroken. La ragione di ciò è che il jailbreak disabilita una serie di protezioni e sovrascrive anche la sandbox. Il mio strumento ti consentirà di specificare quali protezioni desideri disabilitare/abilitare al prossimo avvio. Dovrebbe essere pronto entro la fine di luglio.

JOSH: Come vedi la comunità del jailbreak che si svolgerà in futuro? Quale potenziale vedi avere la comunità del jailbreak mentre iOS continua ad evolversi?
STEFANO: Immagino che la comunità del jailbreak potrebbe uccidersi molto presto. È invaso da presunti dodicenni che vogliono solo eseguire il jailbreak per installare software piratato e insultare pesantemente chiunque sia coinvolto nell'esecuzione del jailbreak. E ora queste persone hanno già iniziato ad hackerare i sistemi degli sviluppatori per rubare i jailbreak. Comex e altri attori chiave presto si stancheranno così tanto della scena del jailbreak dell'iPhone che si sposteranno verso un altro obiettivo. Immagino che dipenda solo dalla disponibilità e dalla freddezza del prossimo sistema chiuso che si presenterà.