Das unterscheidet ihn von bisherigen Jailbreaks

Der Electra-Jailbreak für IoS 11

15.08.2018 von Mark Zimmermann  
Lange gab es keine öffentlichen Jailbreaks für aktuelle iOS 11 Geräte. Das Electra-Team hat dies nun geändert. Mit dem erschienenen Electra-Tool nimmt das Jailbreak-Thema, kurz vor der Veröffentlichung von iOS 12, wieder gewaltig an Fahrt auf.
Electra Jailbreak Screenshot
Foto: Mark Zimmermann Screenshot

Was ist ein Jailbreak?

Ein Jailbreak (deutsch "Gefängnisausbruch") bedeutete, dass das iOS-Betriebssystem manipuliert wird. Im Originalzustand ist iOS ein sogenanntes geschlossenes System, auf dem nur Apps installiert und ausgeführt werden, die von Apple zugelassen sind. Dies sorgt unter anderem für die hoch gelobte Sicherheit im Vergleich zu anderen Plattformen.

Lesetipp: Diese Apps haben die Welt verändert

Durch einen Jailbreak erlangen Anwender (und Apps) vollen Zugriff auf das Datei-System eines iOS-Gerätes und bekommen sogenannte Root-Rechte. Sinngemäß haben die Anwender (und Apps) damit eine Art "Gott-Modus" zur Verfügung.

Mit diesen Berechtigungen können beispielsweise Apps installiert werden, die von Apple nicht autorisiert wurden. Viele Anwender haben in der Vergangenheit ihr iOS-Gerät mit dieser Hilfe um Funktionen erweitert, die Apple von Haus aus nicht vorgesehen hat.

Jailbreaks sind wahre Goldgruben. Findet jemand eine Möglichkeit einen Jailbreak durchzuführen, bieten einschlägige Kreise gutes Geld für diese Erkenntnisse. Dies und die Tatsache, dass das öffentliche Jailbreaken durch zunehmend neue Funktionen von iOS immer "uninteressanter" wurde, führte zu dem gefühlten "einschlafen" der Jailbreak-Szene

Electra-Team knackt iOS 11

Das Entwickler-Team Electra hat sich nun zurückgemeldet und bewiesen, dass die Jailbreak-Szene noch am Leben ist. Mit einem eigens bereitgestellten Tool können iOS Geräte mit den iOS-Versionen 11.2 bis 11.3.1 entsprechend manipuliert werden. Auch für das Apple TV scheint es ein Update des Tool zu geben.

Das perfide an dem Jailbreak ist die integrierte Verschleierung gegenüber Jailbreak-Erkennungsmethoden. Diese Methoden nutzen häufig Banking-Apps und andere Apps um einen Betrieb auf einem nicht kompromitierten System sicherzustellen.

Das Electra-Team gibt sich hierbei von Haus aus Mühe einen Jailbreak-Tweak mitzuliefern, der dabei helfen soll, Jailbreak-Erkennung auf einem jailbroken iPhone oder iPad zu umgehen. Die Erkennungsmethoden sollen so ins Leere laufen.

Lesetipp: Keine Reparatur eines iPhones mit Jailbreake

Das Electra-Team wendet so neun verschiedene Methoden zur Vermeidung von Jailbreak-Erkennungstechniken an. Damit schafft es der Electra Jailbreak bei mehr als 90 Apps, aus dem öffentlichen AppStore, nicht erkannt zu werden.

So können Entwickler Indizien für einen Jailbreak erkennen

Wenn Sie Entwickler einer App sind oder solche beauftragen, wollen Sie - je nach Schutzbedarf und -nivau Ihrer App -sicherlich erkennen, ob die App auf einem jailbroken iOS-Gerät ausgeführt wird. Es gibt viele Indizien, die auf einen Jailbreak hinweisen können. Erst einmal die allgemein üblichen, für einen JailBreak Check:

Prüfen Sie das "nicht" vorhanden sein folgender Verzeichnisse bzw. Dateien:

Lesetipp: App Permissions - Darf meine App alles?

Zusätzlich können Entwickler prüfen, ob folgende Kernel boot arguments gesetzt sind:

Was Softwareentwickler 2017 verdienen ...
Was Softwareentwickler 2017 verdienen ...
... hängt nicht nur von Qualifikation und Berufserfahrung ab. Entscheidend ist auch, in welcher Branche er arbeitet und in welcher Region der Arbeitgeber angesiedelt ist. Das ergab eine aktuelle Gehaltsanalyse von Compensation Partner.
Softwareentwickler, die Frankfurt und Hessen ...
... arbeiten, haben die besten Verdienstperspektiven. Hier können sie mit über 63.000 Euro brutto im Jahr rechnen.
Aber auch in Stuttgart und Baden-Württemberg ...
... erwarten Backend-Entwickler mit knapp 63.000 Euro im Jahr überdurchschnittliche Verdienstperspektiven.
In Bayern und insbesondere der Hauptstadt München ...
... erhalten Entwickler jährlich knapp 61.000 Euro.
Die Hauptstadt Berlin ...
... bietet Programmierern mit einem Jahreseinkommen von knapp 54.000 Euro nur durchschnittliche Verdienstperspektiven.
In Leipzig und in Sachsen ...
... werden Entwicklern wie in den anderen neuen Bundesländern nur unterdurchschnittlich vergütet. Hier bewegen sich die Bruttojahresgehälter zwischen 43.000 und 45.000 Euro.
Banken und Versicherungen ...
... vergüten Entwickler mit über 69.000 Euro pro Jahr im Branchenvergleich am besten.
Softwareentwickler in der Medizintechnik ...
... verdienen mit knapp 65.000 Euro ebenfalls seht gut.
Auch der Maschinenbau ...
... zahlt seine Backend-Entwickler mit 63.200 Euro überdurchschnittlich.
In Groß- und Einzelhandel ...
... müssen sich Softwareentwickler mit einem Jahresgehalt von 52.000 Euro begnügen.
Auch die Druck- und Papierindustrie ...
... gehört zu den Branchen, die niedrigere Gehälter zahlen: 49.200 Euro für einen Backend-Entwickler im Jahr.
Softwareentwickler in Bildungsinstitutionen ...
... müssen sich mit 49.100 Euro im Jahr begnügen.
Auch in PR- und Werbeagenturen ...
... halten sich die Verdienstperspektiven von Softwareentwicklern in engen Grenzen: Knapp 47.000 im Jahr.
Young Professionals können nach drei bis sechs Jahren im Job ...
... mit einem Plus von 5000 Euro oder einem Jahresgehalt von 51.000 Euro rechnen.
Personalverantwortung zahlt sich für Entwickler aus.
Mit Personalverantwortung beträgt ihr Durchschnittsgehalt 97.500 Euro, ohne eine Führungsrolle sind es dagegen 56.600 Euro im Jahr.

Abseits dieser (nicht) "Präsenzprüfung" gibt es weitere Schritte um einen Jailbreak zu erkennen. So können Entwickler die Sandbox darauf prüfen, ob ihre App diese Sandbox schreibend verlassen können. Beim Verzeichnis "/Application" darf es sich um keinen Symlink handeln. Ein Prozess-Fork darf nicht möglich sein. Das RootFS muß "read only" sein. Eine SSH Verbindung darf, da Apple keinen SSH Server auf iOS bereit hält, nicht möglich sein.

SysCtl ist ein Werkzeug zur Überprüfung und Änderung von Kernel-Parametern zur Laufzeit. Dies kann zur Abfrage von Werten genutzt werden, hier dürfen die folgenden Werte keine "disable" Rückmeldungen geben:

Security.mac.socketenforce, Security.mac.pipeenforce, Security.mac.systemenforce, Security.mac.vmenforce, Security.mac.vnodeenforce, Security.mac.poisixshmenforce, Security.mac.sysvmsgenforce, Security.mac.poisxsemenforce, Security.mac.deviceenforce, Security.mac.procenforce, Security.mac.sysvshmenforce, Security.mac.sysvsemenforce

Es ist bei allem zu beachten, das auch iOS Veränderungen unterliegt. Teilweise geben sogar einzelne Tests, gerade wenn diese zu "einfach" implementiert werden, eine Rückmeldung, die als Jailbreak verstanden werden kann. Stetige Prüfung der Routinen, auf neue iOS Versionen und eine gewissenhafte Implementierung sind hier gefragt. Entwickler sollten ferner mit einer gewissen "Indizmenge" arbeiten und nicht gleich beim ersten Verstoß einer Routine handeln.

Das sind die Merkmale für den Electra-Jailbreak

Mithilfe der Befehle dyldimagecount() und dyldgetimagename() können Entwickler unbekannte DYLD Bibliotheken zur Laufzeit ihrer App identifizieren. Diese Routinen liefern (zum Zeitpunkt dieses Artikels) valide Treffer für mindestens eine der folgenden Bibliotheken des Electra-Jailbreaks:

Da diese Bibliotheken sich natürlich auch jederzeit, durch das Electra-Team, umbenennen lassen, gibt es noch einen Trick im Katz- und Maus-Spiel.

Lesetipp: Werkzeugkasten für eine erfolgreiche App-Entwicklung

Diese Bibliotheken haben ja die ordinäre Aufgabe, die oben aufgeführten Jailbreak-Prüfungen zu unterbinden. Daher lade ich Sie zu einem Gedankenexperiment ein:

Wenn die Bibliotheken den Entwickler nicht mehr prüfen lassen, ob Cydia auf dem System installiert ist (er bekommt immer die Rückmeldung, es sei nicht da, obwohl es da ist), könnte der Entwickler die zu prüfende Datei selbst erzeugen und danach auf Existenz prüfen. Auf einem jailbroken iOS-Gerät wird er die Datei erzeugen können und wenn er danach mitgeteilt bekommt, das sie nicht da ist, dürfte es sich mit ziemlich sicherer Wahrscheinlichkeit, um einen gestarten Jailbreak handeln.

JailBreak Prüfungen sind "böse"

Apple mag keine Apps mit Jailbreak Prüfungen. Dies wird besonders an einem Fall vom Mai 2016 deutlich. Apple hatte damals die App "SecInfo" des Entwicklers Stefan Esser aus dem AppStore entfernt. Sollten Sie also eine App mit entsprechenden Prüfungen vorsehen, bedenken Sie das Risiko einer Ablehnung oder nachträglichen Entfernung durch Apple.