Ci ritroviamo a parlare dei gioellini di casa Apple, iPhone, iPod Touch e iPad ormai molto diffusi e in particolare di tutto quello che riguarda il mondo iOS (il sistema operativo adottato nei device).
Questo post non è un tutorial o un how to (se ne trovano a migliaia) ma soltanto un riferimento per quelli che si avvicinano all’hacking di un device Apple e vogliono capire meglio di cosa si sta parlando quando si usano termini quali jailbreak, attivazione, sblocco, cydia, installer, ipa, baseband e trovare spunti per ulteriori approfondimenti e chiarire un pò di dubbi legittimi. Tutte le informazioni sono state prese dal forum di hackint0sh e dal sito dell’iPhone Dev Team.
Attivazione
Indispensabile per usare l’iPhone è disabilitare la modalità “solo chiamate di emergenza”. Dopo l’attivazione è possibile raggiungere la springboard (il “desktop” del dispositivo, iphone, ipod o ipad). Su un telefono sul quale è stato effettuato il jailbreak, è possibile eseguire una fake authentication.
Sblocco (Unlock)
Solitamente si fa riferimento alla possibilità di sblocco della parte “telefono” del dispositivo. Se il telefono è bloccato e non si usa una sim valida, l’iPhone risulta essere un iPod Touch con Bluetooth, Fotocamera e GPS. Sbloccarlo, significa modificare la baseband per poter usare le sim di qualsiasi operatore di telefonia mobile. Non dobbiamo preoccuparcene in Italia, perché i nostri iPhone (con o senza abbonamento), vengono venduti già sbloccati. NB chi ha intenzione di sbloccare il proprio telefono straniero, comprato all’estero, deve fare riferimento al programma UltraSn0w e avere il jailbreak (non tutte le baseband sono attualmente supportate…).
JailBreak
Con questo termine si indica l’accesso completo in scrittura a tutto il filesystem di iOS. Normalmente è possibile vedere solo alcune cartelle, quelle media, usate da iTunes per musica, video, programmi scaricati dall’App Store, etc.; ci troviamo quindi in una sandbox (realizzata con una chroot jail) e non abbiamo i permessi per scrivere in tutte le altre cartelle. Il jailbreak fa in modo di modificare il file /etc/fstab presente su iPhone (e altri) e abilitare la scrittura in tutto il filesystem. Contestualmente al jailbreak, avviene l’attivazione che quindi può essere fatta in un unico passo (almeno è quanto accadeva prima di redsn0w e jailbreakme). Il metodo più veloce e sicuro per il jailbreak è il programma del Dev Team denominato redsn0w (disponibile per Windows e MacOSX). Fate riferimento alle nostre ultime guide se volete effettuare il jailbreak del vostro dispositivo. Jailbreak Firmware iOS 4.3.3. Se siete possessori di iPhone 3G, dovete far riferimento al firmware 4.2.1 (l’ultimo disponibile per la versione 3G) e usare la guida Jailbreak Firmware iOS 4.2.1.
Baseband
Sezione dell’iPhone che si occupa di gestire le comunicazioni, le funzioni che richiedono l’uso dell’antenna e l’interfaccia verso la sim card. Il sistema operativo dell’iPhone vede questa parte del telefono come una risorsa da usare e a cui inviare istruzioni per la parte “telefono”. Lo sblocco dell’iPhone avviene modificando questa sezione gestita da un chip con una propria RAM, chipset e memoria flash. La CPU principale si occupa direttamente di gestire le comunicazioni Wi-Fi e Bluetooth.
Pwnage
Quando si parla di pwnage, si fa riferimento all’exploit (creato dal Dev Team) per le prime versioni del firmware dell’iPhone. Il bug era nel processo di boot del dispositivo che permetteva di scrivere nella NOR Flash (32 MB) codice unsigned grazie ad una modifica di iBoot o patchando direttamente il kernel. E’ implementato nelle vecchie versioni di QuickPwn e PwanageTool (oltre che ZiPhone). In questo post non si farà riferimento a questa tecnica, considerando che il problema è stato corretto da Apple e non è possibile sfruttare l’exploit.
Pwnage 2.0
E’ l’exploit definitivo per qualsiasi firmware (anche quelli che usciranno in futuro) sugli iPhone 3G e sulle prime versioni di iPod Touch. L’exploit è fatto usando un feature (in hardware) per il parsing dei certificati che è vulnerabile ad uno stack overflow. E’ stato possibile creare un certificato adhoc e usarlo per scrivere arbitrariamente codice in memoria. E’ difficile capire come funziona esattamente e l’unica cosa certa è che Apple ha cambiato l’hardware dell’iPhone/iPod per impedire l’exploit. Sulle ultime versioni di iPhone, iPod Touch e iPad, vengono usati altri exploit.
QuickPwn, PwanageTool
Sono le implementazioni degli exploit riportati sopra. Rendono possibile il JailBreak e l’Attivazione dell’iPhone in una maniera estremamente semplice; basta un click e poche operazioni guidate passo per passo. I programmi (sempre creati dal Dev Team) usano un Custom Firmware (alla stregua di una PSP per indenderci). Per ogni nuovo firmware rilasciato da Apple, ci sarà una nuova versione di entrambe le applicazioni. Con le versioni 2G dell’iPhone, contestualmente al JailBreak effettuano anche lo sblocco. Per l’iPhone 3G, l’operazione di sblocco non è (ancora) possibile. Ricordo che il problema non si presenta per chi ha comprato iPhone 3G sbloccato di fabbrica in Italia.
Cydia
E’ IL programma che viene automaticamente caricato nel payload (o scaricato da rete) dagli exploit sfruttati da redsn0w, jailbreakme, greenp0ison e vengono installati direttamente nel device iOS al momento del JailBreak. Hanno dei repository in cui si trovano tutti gli altri programmi non presenti nell’App Store di Apple e che possono essere installati direttamente usando il dispositivo.
IPA
Formato per le applicazioni (programmi, giochi) previsto da iTunes. Quest’ultimo permette tramite Sync l’installazione dei file IPA sull’iPhone. Vengono firmati digitalmente da Apple.
Dev Team
Gruppo di hackers in nessun modo legato ad Apple che ha scoperto numerosi bug, realizzato implementazioni degli exploit e “aperto” l’iPhone. Tutto ciò che è possibile fare oggi con l’iPhone è (in gran parte) merito di questo gruppo. Quasi tutto il loro lavoro era disponibile inizialmente solo in forma binaria; è stata creata in seguito una pagina su Google Code per sorgenti liberi rilasciati dal gruppo.
Visitate il loro blog per aggiornamenti.