Saurik maakt Apple’s Firmware Signature Server na (jailbreak)

Saurik heeft de functionaliteit van Apple's Signature Server nagemaakt, zodat je in de toekomst kunt downgraden naar elke gewenste firmwareversie. Apple zou zo'n downgrade in de toekomst wel eens kunnen blokkeren, omdat elke restore opnieuw goedgekeurd moet worden door de Apple-servers.
Gonny van der Zwaag | iCulture.nl - · Laatst bijgewerkt:

cydiaSaurik heeft een server ontwikkeld, waarmee je firmwareversies kunt authenticeren die Apple niet langer signeert. Waarom is dat nuttig? Omdat je op die manier kunt downgraden naar een eerdere firmwareversie, ook wanneer Apple dat niet meer toestaat. In een vrij uitgebreide blogposting laat Saurik weten hoe het werkt en waarom hij deze stap heeft genomen. Eén daarvan is dat Saurik inmiddels weinig respect meer voor Apple heeft: in de campagne ‘Think Different’ rebelleerde het bedrijf tegen de gevestigde orde, maar intussen is Apple zelf zo’n Big Brother-achtige organisatie geworden, die precies bepaalt wat jij met je iPhone mag doen, schrijft Saurik.


Die beperkingen hebben soms alleen maar met marketing te maken: dat je alleen met de iPhone 3GS en niet met de iPhone 3G mag videofilmen is geen technische beperking, maar is gedaan om mensen makkelijker over te halen een 3GS te kopen. Als je – in de geest van Apple’s jonge jaren – wilt rebelleren, moet je een jailbreak uitvoeren zodat je zelf kunt bepalen wat je met je iPhone doet.

Na deze lange inleiding legt Saurik uit waar het eigenlijk om gaat: als je een desktopcomputer koopt mag je ermee doen wat je wilt, maar als je een iPhone koopt ben je in een constant gevecht met Apple als je dezelfde vrijheid wilt. Bij elke nieuwe softwareupgrade moet je maar afwachten of alles werkt en moeten er lapmiddelen aan te pas komen om nieuwe controlemaatregelen te omzeilen.

Bij de iPhone 3GS nam Apple extra maatregelen: in plaats van lokale beperkingen en checks op het apparaat zelf wordt er bij elke restore een check gedaan via een externe server, of de restore wel is toegestaan. Tijdens elke restore zie je daarom een melding ‘Verifying restore with Apple…’. Daarbij wordt een deel van de firmwarebestanden naar Apple gestuurd, om te kijken of er niet mee gerommeld is. Blijkt dat niet het geval, dan signeert de server de bestanden en mag je doorgaan met de restore-operatie. Op die manier kan Apple voorkomen dat mensen custom firmware installeren. Ook kan Apple op die manier voorkomen dat je oudere firmware op je toestel installeert, wanneer je een downgrade nodig hebt.

Als Apple besluit om in de toekomst niet langer iPhone OS 3.0 te signeren, kun je deze firmwareversie ook niet op je iPhone 3GS installeren. Dit werkt echter alleen als de server bestand is tegen een ‘replay attack’ en juist daar blijkt Apple een steekje te hebben laten vallen. Het blijkt namelijk mogelijk om het eenmaal gesigneerde bestand te bewaren en later te gebruiken. Apple gebruikt altijd de ECID (unieke chip-ID) om de firmwarebestanden te signeren en de uitkomst is dus altijd hetzelfde. Is het ECID een gegeven, dan kun je Apple’s signature server vragen om elk soort firmware te signeren, dat op dit moment wordt toegestaan. Mocht Apple deze firmware in de toekomst niet meer ondersteunen, dan heb je altijd nog het resultaat van de eerdere signeersessie om tot in lengte van dagen te gebruiken. Laat je Apple op dit moment een firmwarebestand (preciezer gezegd: het iBBS-bestand) met een bewuste creëerde bug signeren, dan kun je op die manier het systeem omzeilen. Met alleen de ECID/iBBS-signature kun je de gemanipuleerde firmware installeren en een jailbreak uitvoeren (dit is ook wat purplera1n.com deed). Meer dan 50.000 bezitters van een iPhone 3GS hebben hun ECID SSH’s laten registreren om in de toekomst alle keuzemogelijkheden open te laten, maar er waren ook een hoop gebruikers die te laat waren. Saurik gaat daarom vanavond het Cydia ‘on file’-systeem weer online zetten om hopelijk honderdduizenden gebruikers in staat te stellen om hun ECID te laten signeren met firmware 3.1. Hij heeft hiervoor een server ingericht, die de functionaliteit van Apple’s signature server imiteert: dankzij een redirect kun je een verzoek aan Apple’s signature server naar Cydia omleiden:

Windows-gebruikers gaan hiervoor naar: C:WindowsSystem32driversetchosts
Mac-gebruikers naar: /etc/hosts

Voeg aan het einde van het bestand de volgende regel toe:

74.208.105.171 gs.apple.com

iTunes denkt dan dat het contact heeft met Apple’s servers, maar ‘praat’ echter tegen Cydia. Saurik benadrukt dat je dit zelfs moet doen als je geen jailbreak uitvoert en zelfs geen plannen hebt om ooit te jailbreaken. Als Apple een firmwareupdate uitbrengt waarin een belangrijke functie niet meer werkt, heb je dan altijd nog de mogelijkheid om terug te gaan.

De rest van Saurik’s artikel gaat over het uitvoeren van een restore-operatie en een komende exploit voor firmware 3.1.

Via: Twitter, Saurik
Meer info: Saurik’s Blog

Reacties: 65 reacties

Reacties zijn gesloten voor dit artikel.