Pod2G , il famoso hacker creatore dell’exploit che ha permesso il Jailbreak Untethered dell’iOS 5 il quale è tuttora al lavoro sul Jailbreak dell’iOS 5.1 , ha pubblicato un interessante articolo sul suo Blog nel quale cerca di spiegare anche ai meno esperti del settore come possiamo aiutarlo a trovare una falla nel nuovo OS da poter sfruttare per far partire codice non firmato e quindi per rendere possibile un eventuale Jailbreak.
Ecco quanto riportato dall’hacker
Per il jailbreak di un dispositivo gli hacker hanno bisogno di una serie di vulnerabilità sfruttabili:
- Un codice injection vector: una vulnerabilità nei componenti fondamentali di iOS che porta all’esecuzione di codice personalizzato non firmato
- Una vulnerabilità per scalare i privilegi: spesso non basta lanciare un codice non firmato. Quasi tutte le applicazioni iOS e servizi girano nella sandbox, quindi si deve trovare quella che ha spesso bisogno evadere (“jailbreak”) dalla sandbox per far scattare l’exploit del kernel
- Una vulnerabilità del kernel: il kernel è il vero obiettivo per il jailbreak. Il jailbreak deve applicare la patch al kernel per rimuovere l’imposizione del codice firmato. Solo il kernel può patchare il kernel, è per questo che una vulnerabilità di esecuzione codice nel contesto del kernel è necessaria
- Una vulnerabilità untethering: all’avvio il dispositivo è senza patch, quindi non è possibile eseguire codice non firmato. Così, per avviare il pacchetto del jailbreak al momento dell’avvio, è obbligatorio un codice per l’esecuzione del vettore sia nella bootstrap dei servizi sia il caricamento di file binari
Tu puoi essere di aiuto se riesci a far andare in crash sia un’applicazione fondamentale (Safari, Mail, etc…) sia il kernel e la procedura è ripetibile. Un crash del kernel è semplice da riconoscere: si riavvia il dispositivo.
NOTE IMPORTANTI
- I CRASH DELLE APPLICAZIONI SCARICATE SONO INUTILI, VANNO BENE SOLO I CRASH DELLE APPLICAZIONI GIÀ PRESENTI SU iOS, come Safari, messaggi, calendario, note, mail, etc…
- Verificare sempre sull’ultimissima versione iOS prima di segnalare il crash (quindi attualmente iOS 5.1)
- Assicurarsi di non riferire il crash ad Apple: sul dispositivo iOS, andare su Impostazioni / Generali / info / Diagnosi e uso, e verificare che sia selezionato “Non inviare”
- Non tutti i crash sono interessanti: aborts, timeout o out-of-memory sono tipi di crash inutili
- Andate in Impostazioni / Generali / info / Diagnosi e uso / Dati di diagnosi e utilizzo e una volta selezionato il rapporto controllare che dopo “Exception Type” ci sia scritto “SIGILL” o “SIGBUS” o “SIGSEGV”
- Il crash deve essere ripetibile, il che significa che voi dovreste sapere esattamente quali passi l’hanno prodotto e quindi come ricrearlo
Come e dove segnalare
Invia una email a ios.pod2g ‘@’ gmail ‘.’ com e spiega dettagliatamente i passi da effettuare per riprodurre il crash e allega il rapporto del crash.
Grazie molte per la lettura & l’aiuto