Die Fragen im Forum zum Jailbreak des iOS 5 sowie zum Unlock und der Sicherung der SHSH Files mehren sich, deshalb soll diese News nochmal den aktuellen Stand zusammen fassen und einige Begrifflichkeiten grundsätzlich erklären.
Nahezu alle der folgenden grundsätzlichen Erklärungen habe ich 1:1 aus unserem iWiki übernommen ... allen Usern, die mit dem Thema noch nicht vertraut sind, sei die ausführliche Lektüre an dieser Stelle empfohlen!!!
Beginnen wir mit den Begrifflichkeiten, hier ist es zunächst wichtig, zu verstehen was ein Bootrom-Jailbreak ist und was ein Userland-Jailbreak und was die Begriffe tethered und untethered bedeuten.
Jailbreak
Als Jailbreak bezeichnet man das Freischalten eines vollständigen Lese- und Schreibzugriffs auf allen Partitionen des Gerätes. Hierfür wird die Datei etc/fstab gepatcht und fortan die Systempartition als read/write gemountet. Zusätzlich wird die Code-Signatur von Apple umgangen, die verhindert, dass nicht autorisierte Software auf dem Gerät installiert und ausgeführt wird.
Bootrom-Jailbreak / Bootrom-Exploit
Ein Bootrom ist eine Art Software, die sich im Prozessor des iPhones befindet und das erste ist, was beim Start des Geräts ausgeführt wird. Man kann es mit dem Bios auf dem PC vergleichen, nur dass das iPhone Bootrom im Gegensatz zum PC Pendant nicht geflasht/geändert werden kann.
Der Bootrom selbst ist letztlich zwar eine Software, diese ist aber im Prozessor, also in der Hardware verankert.
Als Bootrom-Exploit bezeichnet man eine Lücke im Bootrom, durch den der Jailbreak eingeschleust wird.
Da der Bootrom mit dem Prozessor verbunden ist, kann eine solche Lücke nicht durch ein Firmware-Update geschlossen werden, sondern nur durch eine Veränderung an der Hardware des Geräts.
--> Bootrom-Exploits bleiben also so lange nutzbar bis Apple die Hardware verändert und sind unabhängig von der Firmware.
Userland Jailbreak
Bei einem Betriebssystem unterscheidet man zwischen der Kernelebene und der Benutzerebene. Auf der Kernelebene laufen der Betriebssystemkern, die Kernel-Erweiterungen, Treiber und andere systemnahe Komponenten. Auf der Benutzerebene werden die Routinen zum Dateizugriff geregelt, das Benutzerinterface zur Verfügung gestellt und Anwenderprogramme ausgeführt. Der Begriff Userland wird gewöhnlich für alles verwendet, was nicht auf der Kernelebene ausgeführt wird, somit also dem User (Benutzer) zuzuordnen ist.
Demzufolge setzt ein Userland-Jailbreak auf eine Lücke (Exploit) auf, die sich oberhalb der Kernel-Ebene befindet.
Dies hat elementare Nachteile: Zunächst wird wie gesagt kein Kernelzugriff möglich, womit die Manipulationsmöglichkeiten beschränkt bleiben. Zum anderen ist die verwendete Lücke sehr leicht durch eine neue Firmware zu schließen.
Tethered / Untethered
Je nachdem, ob es gelingt, die Patches dauerhaft in der Firmware zu installieren, spricht man von einem tethered oder einem untethered Jailbreak:
Beim untethered (wörtlich: nicht angebundenen) Jailbreak werden die Patches dauerhaft im Gerät gespeichert und auch beim Abschalten oder Neustart nicht entfernt.
Beim tethered (wörtlich: angebundenen) Jailbreak werden die Patches nicht dauerhaft in der Firmware des Gerätes installiert. Das führt dazu, dass sie bei jedem Neustart erneut geladen werden müssen. Hierfür muss das Gerät bei einem Neustart mit einem Mac/PC verbunden werden und das Jailbreak-Tool erneut ausgeführt werden.
SHSH --> bisher
Eine RSA-Signatur der Firmwaredatei, die aus verschiedenen IDs des Gerätes und einem Hash (Prüfsumme) der Firmwaredatei gebildet wird. Diese Signatur ist für jedes Gerät einzigartig.
Bevor eine Firmwaredatei installiert werden kann, werden via iTunes verschiedene Geräte-IDs sowie die Kennung der aufzuspielenden Firmwaredatei an Apple gesendet und eine Signatur für diese Firmware angefordert. Bestätigt der Apple-Server diese Anfrage durch Rücksendung einer Signatur, so kann die gewünschte Firmware aufgespielt werden, andernfalls erfolgt eine Fehlermeldung. Über diesen Mechanismus verhindert Apple beim iPod touch 3G und 4G, iPhone 3G (ab iOS 4), iPhone 3GS, iPhone 4 und beim iPad 1 & 2, dass ältere Firmwaredateien installiert werden können.
Will man eine alte Firmwaredatei, für die Apple keine Signatur mehr erstellt, installieren, so sind rechtzeitig einfache Maßnahmen zu treffen: Durch reine sog. replay attack können die Abfragen an den Server von Apple umgeleitet werden, wenn die gebildeten Signaturen zuvor angefordert und gespeichert wurden. Hierfür stehen der Server von saurik oder das Tool TinyUmbrella zur Verfügung. Voraussetzung ist dann lediglich, dass die Speicherung von SHSH-Zertifikaten einmalig veranlasst wurde. Die Bildung und Speicherung von SHSHs kann nur für die Firmwareversionen erfolgen, die Apple aktuell signiert, unabhängig davon, welche Version sich auf dem Gerät befindet.
Soweit also zu den grundsätzlichen Begrifflichkeiten, die man verstehen muss wenn man das Folgende verstehen will.
Jailbreak iOS 5
1. iPod touch, iPhone 3Gs, iPhone 4, iPad 1
Für die oben genannten Geräte gibt es schon seit einiger Zeit einen Bootrom-Exploit, der es ermöglicht, diese Geräte auch auf neuen FW-Versionen sehr einfach wieder zu jailbreaken, da die Hardware sich ja nicht mehr verändert und der Exploit nicht geschlossen werden kann.
Derzeit ist ein tethered Jailbreak für diese Geräte mit redsn0w möglich und auch das Erstellen einer (tethered) CFW ist kein Problem.
Damit ein Bootrom-Jailbreak untethered wird, muss zusätzlich zur Lücke im Bootrom noch eine Lücke in der FW gefunden werden damit man gewissermaßen 'oben drauf' noch einen Userland-Jailbreak setzen kann, der den Jailbreak dann untethered macht.
Derzeit ist nicht bekannt, ob es bereits einen Exploit in iOS 5 gibt, der in naher Zukunft einen untethered Jailbreak ermöglichen wird.
2. iPad 2, iPhone 4S
In diesen beiden Geräten ist der A5-Chip verbaut, deshalb sind sie von 1. vollkommen gesondert zu betrachten.
Für den A5-Chip wurde seit Erscheinen des iPad 2 kein Bootrom-Exploit, also keine Lücke in der Hardware, gefunden, die einen dauerhaft verwendbaren Jailbreak sicherstellen würde.
Bislang gab es beim iPad 2 lediglich für die FW 4.3.3 einen Userland-Jailbreak, dessen verwendete Lücke in der Firmware von Apple binnen weniger Tage mit der FW 4.3.4 geschlossen wurde.
Es ist derzeit nicht bekannt, ob in naher Zukunft mit einem Jailbreak des iOS 5 für diese beiden Geräte zu rechnen ist.
Anzunehmen ist aber, dass, falls es einen Jailbreak geben wird, dieser ein reiner Userland-Jailbreak sein wird, der von Apple sehr schnell und einfach durch ein Firmware-Update geschlossen werden kann.
Diese Tatsache führt direkt zum nächsten und vorletzten Punkt, der Möglichkeit der SHSH Sicherung und Wiederherstellung auf eine ältere FW unter iOS 5.
SHSH Files und Wiederherstellung unter iOS 5
In der Vergangenheit war jedem Gerät eine eindeutige und dauerhafte SHSH-Signatur zugeordnet. Hat man die SHSH-Files rechtzeitig gesichert, war es immer mehr oder weniger problemlos möglich, eine ältere FW wieder zu installieren, deren SHSH-Files man gesichert hatte.
Das hat sich mit iOS 5 geändert.
Die SHSH-Signatur hängt unter anderem ab vom sog. APTicket. Dieses APTicket wiederum hängt nicht mehr, wie in der Vergangenheit, ausschließlich von FW-Version und ECID des Gerätes ab, sondern wird bei jeder Wiederherstellung neu vergeben und zwar verschlüsselt.
Den Verschlüsselungscode dahinter kennt nur der Apple-Server.
Vereinfacht ausgedrückt bedeutet das, die SHSH Files ändern sich mit jeder Wiederherstellung und bleiben nicht mehr statisch. Zudem sind sie verschlüsselt und nur der Apple-Server kann sie entschlüsseln.
Das bedeutet, jede Sicherung der SHSH-Files unter iOS 5 ist vollkommen nutzlos, denn bei der nächsten Wiederherstellung werden andere SHSH-Files vergeben.
Und das wiederum bedeutet, dass es bis auf Weiteres ab iOS 5 nicht mehr möglich sein wird, innerhalb von iOS 5 eine ältere FW zu installieren.
Wenn also beispielsweise morgen die FW 5.0.1 erscheint (z.B. um einen unter 5.0 gefundenen Userland-Exploit zu schließen), kann man ab dem Moment nicht mehr auf die Version 5.0 wiederherstellen, ab dem Apple die FW 5.0 nicht mehr signiert.
Ob und wann die Hacker einen Weg finden, diese neuen Sicherheitsmechanismen auszuhebeln, ist derzeit vollkommen ungewiss.
Die Wiederherstellung auf eine ältere FW < 5.0 (also z.B. 4.3.3) ist weiterhin möglich sofern die SHSH-Files gesichert wurden.
Unlock
Seit dem zur FW 4.1 gehörigen Baseband ist kein Unlock mehr auf dem iPhone 3G, 3GS, iPhone 4 (und natürlich auch dem 4S) mehr möglich.
Nur wer mit einer Custom Firmware nach oben geht, die das Baseband nicht verändert, kann weiterhin unlocken.
ultrasn0w wurde mittlerweile auf iOS 5 angepasst und kann in Verbindung mit einer CFW 5.0 jetzt verwendet werden.
Ob und wann es ggf. möglich sein wird, alle Basebands, die man derzeit nicht unlocken kann, irgendwann mit ultrans0w freizuschalten, ist vollkommen unklar.
Wer derzeit über die Anschaffung eines iPhones nachdenkt, dem kann man nur nachdrücklich ans Herz legen, sich ein werksfreies Gerät zu kaufen.
Nahezu alle der folgenden grundsätzlichen Erklärungen habe ich 1:1 aus unserem iWiki übernommen ... allen Usern, die mit dem Thema noch nicht vertraut sind, sei die ausführliche Lektüre an dieser Stelle empfohlen!!!
Beginnen wir mit den Begrifflichkeiten, hier ist es zunächst wichtig, zu verstehen was ein Bootrom-Jailbreak ist und was ein Userland-Jailbreak und was die Begriffe tethered und untethered bedeuten.
Jailbreak
Als Jailbreak bezeichnet man das Freischalten eines vollständigen Lese- und Schreibzugriffs auf allen Partitionen des Gerätes. Hierfür wird die Datei etc/fstab gepatcht und fortan die Systempartition als read/write gemountet. Zusätzlich wird die Code-Signatur von Apple umgangen, die verhindert, dass nicht autorisierte Software auf dem Gerät installiert und ausgeführt wird.
Bootrom-Jailbreak / Bootrom-Exploit
Ein Bootrom ist eine Art Software, die sich im Prozessor des iPhones befindet und das erste ist, was beim Start des Geräts ausgeführt wird. Man kann es mit dem Bios auf dem PC vergleichen, nur dass das iPhone Bootrom im Gegensatz zum PC Pendant nicht geflasht/geändert werden kann.
Der Bootrom selbst ist letztlich zwar eine Software, diese ist aber im Prozessor, also in der Hardware verankert.
Als Bootrom-Exploit bezeichnet man eine Lücke im Bootrom, durch den der Jailbreak eingeschleust wird.
Da der Bootrom mit dem Prozessor verbunden ist, kann eine solche Lücke nicht durch ein Firmware-Update geschlossen werden, sondern nur durch eine Veränderung an der Hardware des Geräts.
--> Bootrom-Exploits bleiben also so lange nutzbar bis Apple die Hardware verändert und sind unabhängig von der Firmware.
Userland Jailbreak
Bei einem Betriebssystem unterscheidet man zwischen der Kernelebene und der Benutzerebene. Auf der Kernelebene laufen der Betriebssystemkern, die Kernel-Erweiterungen, Treiber und andere systemnahe Komponenten. Auf der Benutzerebene werden die Routinen zum Dateizugriff geregelt, das Benutzerinterface zur Verfügung gestellt und Anwenderprogramme ausgeführt. Der Begriff Userland wird gewöhnlich für alles verwendet, was nicht auf der Kernelebene ausgeführt wird, somit also dem User (Benutzer) zuzuordnen ist.
Demzufolge setzt ein Userland-Jailbreak auf eine Lücke (Exploit) auf, die sich oberhalb der Kernel-Ebene befindet.
Dies hat elementare Nachteile: Zunächst wird wie gesagt kein Kernelzugriff möglich, womit die Manipulationsmöglichkeiten beschränkt bleiben. Zum anderen ist die verwendete Lücke sehr leicht durch eine neue Firmware zu schließen.
Tethered / Untethered
Je nachdem, ob es gelingt, die Patches dauerhaft in der Firmware zu installieren, spricht man von einem tethered oder einem untethered Jailbreak:
Beim untethered (wörtlich: nicht angebundenen) Jailbreak werden die Patches dauerhaft im Gerät gespeichert und auch beim Abschalten oder Neustart nicht entfernt.
Beim tethered (wörtlich: angebundenen) Jailbreak werden die Patches nicht dauerhaft in der Firmware des Gerätes installiert. Das führt dazu, dass sie bei jedem Neustart erneut geladen werden müssen. Hierfür muss das Gerät bei einem Neustart mit einem Mac/PC verbunden werden und das Jailbreak-Tool erneut ausgeführt werden.
SHSH --> bisher
Eine RSA-Signatur der Firmwaredatei, die aus verschiedenen IDs des Gerätes und einem Hash (Prüfsumme) der Firmwaredatei gebildet wird. Diese Signatur ist für jedes Gerät einzigartig.
Bevor eine Firmwaredatei installiert werden kann, werden via iTunes verschiedene Geräte-IDs sowie die Kennung der aufzuspielenden Firmwaredatei an Apple gesendet und eine Signatur für diese Firmware angefordert. Bestätigt der Apple-Server diese Anfrage durch Rücksendung einer Signatur, so kann die gewünschte Firmware aufgespielt werden, andernfalls erfolgt eine Fehlermeldung. Über diesen Mechanismus verhindert Apple beim iPod touch 3G und 4G, iPhone 3G (ab iOS 4), iPhone 3GS, iPhone 4 und beim iPad 1 & 2, dass ältere Firmwaredateien installiert werden können.
Will man eine alte Firmwaredatei, für die Apple keine Signatur mehr erstellt, installieren, so sind rechtzeitig einfache Maßnahmen zu treffen: Durch reine sog. replay attack können die Abfragen an den Server von Apple umgeleitet werden, wenn die gebildeten Signaturen zuvor angefordert und gespeichert wurden. Hierfür stehen der Server von saurik oder das Tool TinyUmbrella zur Verfügung. Voraussetzung ist dann lediglich, dass die Speicherung von SHSH-Zertifikaten einmalig veranlasst wurde. Die Bildung und Speicherung von SHSHs kann nur für die Firmwareversionen erfolgen, die Apple aktuell signiert, unabhängig davon, welche Version sich auf dem Gerät befindet.
Soweit also zu den grundsätzlichen Begrifflichkeiten, die man verstehen muss wenn man das Folgende verstehen will.
Jailbreak iOS 5
1. iPod touch, iPhone 3Gs, iPhone 4, iPad 1
Für die oben genannten Geräte gibt es schon seit einiger Zeit einen Bootrom-Exploit, der es ermöglicht, diese Geräte auch auf neuen FW-Versionen sehr einfach wieder zu jailbreaken, da die Hardware sich ja nicht mehr verändert und der Exploit nicht geschlossen werden kann.
Derzeit ist ein tethered Jailbreak für diese Geräte mit redsn0w möglich und auch das Erstellen einer (tethered) CFW ist kein Problem.
Damit ein Bootrom-Jailbreak untethered wird, muss zusätzlich zur Lücke im Bootrom noch eine Lücke in der FW gefunden werden damit man gewissermaßen 'oben drauf' noch einen Userland-Jailbreak setzen kann, der den Jailbreak dann untethered macht.
Derzeit ist nicht bekannt, ob es bereits einen Exploit in iOS 5 gibt, der in naher Zukunft einen untethered Jailbreak ermöglichen wird.
2. iPad 2, iPhone 4S
In diesen beiden Geräten ist der A5-Chip verbaut, deshalb sind sie von 1. vollkommen gesondert zu betrachten.
Für den A5-Chip wurde seit Erscheinen des iPad 2 kein Bootrom-Exploit, also keine Lücke in der Hardware, gefunden, die einen dauerhaft verwendbaren Jailbreak sicherstellen würde.
Bislang gab es beim iPad 2 lediglich für die FW 4.3.3 einen Userland-Jailbreak, dessen verwendete Lücke in der Firmware von Apple binnen weniger Tage mit der FW 4.3.4 geschlossen wurde.
Es ist derzeit nicht bekannt, ob in naher Zukunft mit einem Jailbreak des iOS 5 für diese beiden Geräte zu rechnen ist.
Anzunehmen ist aber, dass, falls es einen Jailbreak geben wird, dieser ein reiner Userland-Jailbreak sein wird, der von Apple sehr schnell und einfach durch ein Firmware-Update geschlossen werden kann.
Diese Tatsache führt direkt zum nächsten und vorletzten Punkt, der Möglichkeit der SHSH Sicherung und Wiederherstellung auf eine ältere FW unter iOS 5.
SHSH Files und Wiederherstellung unter iOS 5
In der Vergangenheit war jedem Gerät eine eindeutige und dauerhafte SHSH-Signatur zugeordnet. Hat man die SHSH-Files rechtzeitig gesichert, war es immer mehr oder weniger problemlos möglich, eine ältere FW wieder zu installieren, deren SHSH-Files man gesichert hatte.
Das hat sich mit iOS 5 geändert.
Die SHSH-Signatur hängt unter anderem ab vom sog. APTicket. Dieses APTicket wiederum hängt nicht mehr, wie in der Vergangenheit, ausschließlich von FW-Version und ECID des Gerätes ab, sondern wird bei jeder Wiederherstellung neu vergeben und zwar verschlüsselt.
Den Verschlüsselungscode dahinter kennt nur der Apple-Server.
Vereinfacht ausgedrückt bedeutet das, die SHSH Files ändern sich mit jeder Wiederherstellung und bleiben nicht mehr statisch. Zudem sind sie verschlüsselt und nur der Apple-Server kann sie entschlüsseln.
Das bedeutet, jede Sicherung der SHSH-Files unter iOS 5 ist vollkommen nutzlos, denn bei der nächsten Wiederherstellung werden andere SHSH-Files vergeben.
Und das wiederum bedeutet, dass es bis auf Weiteres ab iOS 5 nicht mehr möglich sein wird, innerhalb von iOS 5 eine ältere FW zu installieren.
Wenn also beispielsweise morgen die FW 5.0.1 erscheint (z.B. um einen unter 5.0 gefundenen Userland-Exploit zu schließen), kann man ab dem Moment nicht mehr auf die Version 5.0 wiederherstellen, ab dem Apple die FW 5.0 nicht mehr signiert.
Ob und wann die Hacker einen Weg finden, diese neuen Sicherheitsmechanismen auszuhebeln, ist derzeit vollkommen ungewiss.
Die Wiederherstellung auf eine ältere FW < 5.0 (also z.B. 4.3.3) ist weiterhin möglich sofern die SHSH-Files gesichert wurden.
Unlock
Seit dem zur FW 4.1 gehörigen Baseband ist kein Unlock mehr auf dem iPhone 3G, 3GS, iPhone 4 (und natürlich auch dem 4S) mehr möglich.
Nur wer mit einer Custom Firmware nach oben geht, die das Baseband nicht verändert, kann weiterhin unlocken.
ultrasn0w wurde mittlerweile auf iOS 5 angepasst und kann in Verbindung mit einer CFW 5.0 jetzt verwendet werden.
Ob und wann es ggf. möglich sein wird, alle Basebands, die man derzeit nicht unlocken kann, irgendwann mit ultrans0w freizuschalten, ist vollkommen unklar.
Wer derzeit über die Anschaffung eines iPhones nachdenkt, dem kann man nur nachdrücklich ans Herz legen, sich ein werksfreies Gerät zu kaufen.