Jailbreak iOS 7, primi dettagli tecnici: parlano gli evad3rs

David Wang, membro degli evad3rs, illustra il funzionamento del Jailbreak untethered di iOS 7: scopriamo come si comporta Evasi0n

Il rilascio del Jailbreak untethered di iOS 7 è ormai imminente: ne abbiamo parlato a lungo nei mesi scorsi, in una serie di articoli che potete trovare QUI. Oggi tratteremo nel dettaglio il funzionamento di Evasi0n basandoci sulle dichiarazioni ufficiali di un esperto hacker che ha contribuito in prima persona allo sviluppo del Jailbreak, David Wang.

Stando a Wang, uno dei membri più conosciuti della crew evad3rs, il Jailbreak si basa su almeno cinque bug distinti del codice di iOS.


Ecco come lavora Evasi0n:


Evasi0n inizia lanciando libimobiledevice, un programma che sostituisce iTunes nella comunicazione diretta con i dispositivi utilizzando lo stesso protocollo del software Apple. Tramite libimobiledevice Evasi0n sfrutta un bug nel sistema di backup di iOS per ottenere l’accesso a determinati settaggi che normalmente non dovrebbero essere visibili. Nello specifico, Wang parla di un file che indica la time-zone del dispositivo.

Il Jailbreak inserisce un link simbolico nel file menzionato da Wang e crea una scorciatoia tra due parti distinte del codice di iOS, consentendo di raggiungere un socket che ospita un canale di comunicazione esclusivo e soggetto a restrizioni. Evasi0n altera il socket che veicola le comunicazioni per mezzo di Launch Daemon, un processo che si carica ogniqualvolta un dispositivo che monta iOS accede alla fase di boot e che può avviare applicazioni che richiedono privilegi di root. Questo significa che ad ogni avvio del backup di dispositivi iPad o iPhone viene garantito l’accesso automatico dei programmi al file time-zone e, grazie al link simbolico, anche a Launch Daemon.

iOS possiede un altro controllo di sicurezza che di norma impedisce l’accesso a Launch Daemon, chiamato “Code-signing”. La restrizione richiede che tutto il codice in esecuzione sul dispositivo sia approvato da una firma digitale di Apple. Per aggirare il Code-signing Evasi0n lancia una nuova applicazione che non possiede nessun codice: quando l’utente accede all’applicazione il Jailbreak sfrutta un trucco di Unix chiamato “shebang” che duplica la firma digitale di un’applicazione approvata da Apple. Nel caso specifico, Evasi0n richiama Launch Daemon e la utilizza per inoltrare un comando di remount che modifica i settaggi della memoria trasformando il file system di iOS da “read only” a “writable”.

Una volta che il file system può essere sovrascritto il Jailbreak modifica il file launchd.conf e altera la configurazione di Launch Daemon, cosicché i settaggi di Evasi0n non si azzerino al riavvio del dispositivo (questo è un requisito fondamentale per ogni Jailbreak untethered).

A questo punto il device non è ancora jailbroken: occorre rimuovere tutte le restrizioni di basso livello integrate nel kernel, che impediscono l’esecuzione di app non approvate. Le restrizioni vengono gestite dal processo Apple Mobile File Integrity Daemon (AMFID). Evasi0n sfrutta Launch Daemon per caricare una libreria di funzioni all’interno di AMFID ogni volta che il sistema lancia un controllo di code signature. Wang non ha specificato i dettagli della procedura.

iOS possiede un altro controllo di sicurezza per impedire agli hacker di agire sulla memoria di sistema all’interno del kernel, lo “Address Space Layout Randomization” (ASLR). La misura difensiva sposta la locazione di memoria dove risiede il codice del dispositivo in modo casuale ad ogni avvio sel SO per impedire che venga rintracciato. Per aggirare il problema, Evasi0n sfrutta ARM exception vector, un trucco di allocazione della memoria che consente di scovare settori difficili da nascondere su device basati su chip ARM. ARM exception vector è una parte del kernel che gestisce i crash delle applicazioni e riporta l’indirizzo della locazione di memoria in cui il crash si è manifestato. Il Jailbreak simula un crash e controlla l’exception vector per mappare l’intera struttura del kernel in memoria.

Una volta che ASLR è stato aggirato, Evasi0n utilizza un bug dell’interfaccia USB di iOS che consente di trasferire qualsiasi indirizzo presente nella memoria del kernel ad un programma per poi sovrascriverlo. A questo punto, la procedura di jailbreaking è conclusa.

“Una volta che ti sei introdotto nel kernel, nessuna misura di sicurezza ha più importanza: hai vinto.” ha dichiarato Wang.

(St.S.)

TV

Anticipazioni Il Segreto: Francisca e Aurora si contendono Beltran

Dopo la morte di Bosco vedremo Francisca e Aurora combattere per la custodia di Beltran.

Gossip

Uomini e Donne: Luca Onestini è il nuovo tronista !

Ad appena due settimane dalla scelta di Clarissa Marchese e dopo la conclusione di tutti i troni in corso (Riccardo, Claudio D. e Claudio S.) […]

Gossip

Justin Bieber smentisce il matrimonio con Selena Gomez: “Sono single, non cerco nessuno”

Justin Bieber, ospite nel noto talk-show statunitense, The Ellen DeGeneres Show, smentisce seccamente le presunte nozze con la sua storica ex, Selena Gomez. I tabloid statunitensi avevano […]

TV

Caterina Balivo accende l’albero di Detto Fatto per beneficenza

Caterina Balivo porta lo sfavilante Buon Natale di Detto Fatto ai bambini ricoverati nella clinica pediatrica De Marchi.

Gossip

Ludovica Valli ha un nuovo fidanzato? Pioggia di critiche per l’ex tronista

Dopo aver dichiarato di voler voltare pagina e ammesso la fine della relazione con Fabio Ferrara, Ludovica Valli alimenta i sospetti su un nuovo, presunto fidanzato, […]

TV

Francesco – Il Papa della gente: 7 e 8 dicembre 2016 su Canale 5

Arriva su Mediaset la miniserie dedicata al pontefice Jorge Mario Bergoglio firmata dal regista Daniele Luchetti.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Tag