Code-Sperre

So sichern Sie Ihre Daten auf dem iPhone

12.04.2011 von Volker Riebartsch
Anfang Februar erregten Mitarbeiter vom Fraunhofer SIT erhebliches Aufsehen. Sie hatten einem iPhone vertrauliche Daten entlockt. Wir sagen, was hinter der Meldung steckt, wie Sie sich schützen und was Apple tun muss.

Als das Fraunhofer SIT (Fraunhofer Institute for Secure Information Technology) am 9. Februar unter dem Titel "iPhone verloren? Passwörter weg!" eine Pressemitteilung veröffentlichte, war die Aufmerksamkeit der Online-Blogger gewiss. In der Pressemitteilung samt Beweisfilm war zu sehen, wie Jens Heider und Matthias Boll ein aktuelles iPhone 4 und iPad mit iOS 4.2.1 und eingeschalteter Code-Sperre in wenigen Minuten gehackt und dann sensible Passwörter wie Wi-Fi- und VPN-Zugangsdaten sowie die Passwörter für Exchange-Server-Zugang und mehr im Klartext herausgefunden hatten.

iPhone gehackt

Apples Sicherheitsmechanismen stehen damit nicht zum ersten Mal am Pranger, wir werden im Folgenden auch erläutern, welchen Teil der Problematik Apple zu verantworten hat und was das Unternehmen tun muss. Allerdings muss man sich den Hack auch genauer anschauen, um zu verstehen, worum es hierbei geht.

Natürlich ist eine Pressemeldung, in der es um ein gehacktes iPhone geht, wesentlich publikumswirksamer, als wenn man gerade einen Dateneinbruch an einem Nokia-Handy oder einem Windows-Mobile-Gerät geschafft hätte. Zudem gilt auch hier ein alter Hackerspruch: "Wenn ich ein Gerät in der Hand halte, lässt es sich auch hacken."

Sicherheitsmechanismen

Mit dem iPhone 3GS stellte Apple erstmals ein Gerät vor, dass hardwareseitig in der Lage ist, die Daten mit dem als sicher geltenden Mechanismus AES 256 zu verschlüsseln. Natürlich verfügen auch das iPad und das iPhone 4 über diese Technologie. Sensible Daten wie Zugangspasswörter zu Mail-Accounts oder Wi-Fi-Netzwerken speichert das iPhone in einer Datei namens "keychain-2.db" auf dem iPhone. Hier ist jeweils der Accountname im Klartext, das zugehörige Passwort verschlüsselt gespeichert, die Datei liegt im Sqlite-Datenbankformat vor.

Auf einige der Passwörter muss das iPhone in bestimmten Intervallen eigenständig zugreifen. Ein Beispiel ist ein Exchange-Server-Account. Auch wenn das iPhone im Ruhezustand ist, werden eingegangene Mails gecheckt, dafür muss das iPhone das zugehörige Passwort aus der Keychain-Datei (Schlüsselbund) "keychain-2.db" entschlüsseln und dann nutzen. Dasselbe gilt für Wi-Fi-Zugänge. Besucht man etwa Freunde, bei denen man das Wi-Fi-Netzwerk bereits einmal genutzt hat, wird man beim erneuten Besuch automatisch verbunden; selbiges gilt für VPN-Verbindungen. Genau diese für die automatische Entschlüsselung infrage kommenden Passwörter konnten die Mitarbeiter vom Fraunhofer SIT dem iPhone entlocken.

Hürde Code-Sperre

Andere Passwörter konnten die Tüftler nicht sichtbar machen, etwa die von Forenzugängen, die über Safari gespeichert sind, normale IMAP- und SMTP-Serverzugänge, einige App-Passwörter und Ähnliches. An Letzteren scheiterten sie, da das Testgerät die Funktion "Code-Sperre" eingeschaltet hatte. Ob sich die auch mit anderen Mechanismen hätten knacken lassen, ist aktuell nicht zu klären.

Die eingeschaltete Code-Sperre war und ist auch der Garant dafür, dass sich sensible Daten nicht noch leichter entlocken lassen. Ist sie nicht eingeschaltet oder einfach zu erraten, fallen die letzten Mauern.

Noch unter iOS 3.x war es auch einem relativ unbegabten Bastler in wenigen Minuten möglich, eine eingeschaltete Code-Sperre zu entfernen, der entsprechende Eintrag war in der Keychain-Datei einfach zu löschen. Das geht nicht mehr, hier hat Apple reagiert.

Code-Sperre umgangen

Mit eingeschalteter Code-Sperre kann man ein iPhone an einem "fremden" Rechner nicht synchronisieren und so auch kein Backup anlegen, das - wenn nicht mit einem Passwort geschützt - sich ebenfalls einfach nach vertraulichen Daten durchstöbern lässt. Die Keychain-Datei ist am iPhone auf der so genannten Root-Partition untergebracht, auf die man normalerweise keinen Zugriff hat. Die unter anderem für iTunes zugängliche Mediapartition enthält keine sicherheitsrelevanten Informationen. Die dort enthaltenen Songs, Adressen, Fotos et cetera lassen sich übrigens auch durch Code-Sperre gegen einfaches Ausspionieren schützen.

Um an die Keychain-Datei zu kommen, muss zunächst der Schreibschutz des iPhone umgangen werden. Die Mitarbeiter des Frauenhofer SIT nutzten dazu einen Jailbreak. Wer nun hier den Jailbreak-Fans die Schuld für den Datenklau gibt, liegt falsch. Derartige Mechanismen gehören zum Standardrepertoire eines jeden gewieften Hackers, nur am iPhone heißt die Technik Jailbreak.

Dass sich der Schreibschutz umgehen lässt, liegt an Fehlern in Apples Programmierung. Immer wieder finden Tüftler auch in neuen iOS-Versionen Schlupflöcher, die dann im Entfernen des Schreibschutzes münden. Darin unterscheidet sich das iPhone mit iOS allerdings auch nicht von anderen Smartphones.

Zugang zum Dateisystem

Nachdem der Schreibschutz des Systems aufgehoben ist, wird noch eine Verbindungssoftware auf dem iPhone benötigt, die den eigentlichen Zugang zum Dateisystem ermöglicht. Gern genommen wird hier ein SSH-Server (Secure Shell). Auf dem iPhone installiert, lässt sich dann mit einer Terminalverbindung von einem PC auf das iPhone zugreifen.

Da sich im Testfall das iPhone nicht im selben Wi-Fi-Netzwerk wie der PC befand und dank Code-Sperre dies auch nicht eingeschaltet werden kann, haben sich die Tester eines kleinen, ebenfalls bekannten Tricks bedient. Der SSH-Port 22 wird über die USB-Verbindung "umgeleitet". Die Mitarbeiter beim Fraunhofer SIT haben den Jailbreak samt Installation von SSH und anderen Unix-Tools in einem Rutsch erledigt. Wer das Tool Redsn0w zum Jailbreak kennt, hat das auch schon getan.

Voller Zugriff

Bis zu diesem Punkt ist das Vorgehen der Techniker vom Fraunhofer SIT nichts Besonderes. Alle iPhone-Besitzer, die jemals einen Jailbreak zur Funktionserweiterung des Geräts vorgenommen haben, kennen diesen Weg.

Menschen, die sich als Datenretter betätigen, finden sogar noch einen eleganteren Zugangsweg und verwenden diesen seit Langem. Mithilfe einer so genannten Custom RAM-Disk lässt sich das iPhone extern booten, der Zugriff erfolgt dann ebenfalls über SSH. Das entspricht am PC etwa dem Booten von einem externen Laufwerk. Ist das geschehen, lassen sich die Daten eines iPhone retten, das selbst nicht mehr starten will.

Ob per Terminal, SFTP- oder frei verfügbare Programme, nach dem Jailbreak und der Installation eines SSH-Servers hat der Benutzer vollen Zugriff auf alle Daten des Systems. Viel davon ist nicht verschlüsselt und einfach lesbar.

Hier liegt übrigens auch eine Gefahr für iPhone-Besitzer, die einen Jailbreak an ihrem Gerät durchgeführt haben und SSH nutzen. Per Voreinstellung lautet das Passwort für den Benutzer Root, der bekanntlich am System alles tun darf, "alpine". Befindet sich der Benutzer in einem Wi-Fi-Netzwerk, in dem auch ein neugieriger Zeitgenosse angemeldet ist, kann dieser per Wi-Fi Zugriff auf das iPhone erlangen. Mithilfe von im App Store erhältlichen Apps wie iNet lassen sich PCs und iOS-Geräte im lokalen Netzwerk finden, samt geöffneter Ports. SSH ist über Port 22 erreichbar, mit einer App wie iSSH aus dem App Store hat man dann Zugriff und kann Daten vom fremden iPhone laden, es heimlich nutzen oder das iPhone sogar ferngesteuert neu starten. Falls Sie ein iPhone mit Jailbreak haben, sollten Sie die Passwörter für die Benutzer Root und Mobile unbedingt ändern.

Angriff auf die Keychain

Der nächste Schritt wurde bereits in der Vergangenheit von Mitgliedern des iPhone Dev Teams dokumentiert - allerdings nicht zum Datenklau.

Apple nutzt nicht das vom Benutzer vergebene Passwort der Code-Sperre, um die Daten am iPhone zu verschlüsseln, sondern die im iPhone verankerte eindeutige Geräte-ID. Genau hier liegt das Problem. Wie schon von Mitgliedern des iPhone Dev Teams gezeigt, aber nicht groß öffentlich gemacht, lässt sich eine ausführbare Krypto-Datei erstellen, die die Geräte-ID nutzt und dann einige der Passwörter aus der Keychain im Klartext anzeigt.

Der Sicherheitsexperte Jonathan Zdziarski, der Hackerszene unter seinem Pseudonym Nervegas bekannt, weist seit zwei Jahren auf den Missstand hin, neben anderen Fachleuten.

Hätten die Mitarbeiter des Fraunhofer SIT statt eines Jailbreaks am iPhone einen moderneren Hack mit Custom RAM-Disk eingesetzt, wäre der Eingriff vom Besitzer des iPhone nicht einmal bemerkt worden. Man hätte ihm das Gerät mit intakter Code-Sperre nach dem Datenklau zurückgeben können, ohne dass Veränderungen feststellbar wären.

Apple muss nachbessern

Apple muss hier aktiv werden und den Missstand beseitigen. Am einfachsten wäre es, die Code-Sperre vorzuschreiben und das gewählte Passwort des Benutzers bei der Erzeugung des Schlüssels für die Datenverschlüsselung einzubeziehen. In diesem Fall wäre ein Angriff wie beschrieben nicht möglich.

Pflichten des Benutzers

Neben Apple steht aber auch der Benutzer in der Pflicht. Wer sein iPhone ohne Code-Sperre betreibt, öffnet dem Datenklau Tür und Tor. Hier sollte es auch die komplexe Variante des Passworts sein und nicht die vierstellige Zahl.

Darüber hinaus gehören sensible Daten wie etwa die PIN der EC-Karte auf dem iPhone in spezielle Apps, die die Daten sicher verschlüsseln. Hier hätte auch der beschriebene Angriff nicht gefruchtet.

Maßnahmen im Schadensfall

In den meisten Fällen wird ein Dieb einfach eine Wiederherstellung durchführen und das iPhone dann verkaufen. Dennoch sollte man sofort handeln, wenn ein Diebstahl bemerkt wird.

Wer über einen Mobile-Me-Account verfügt und die Option "Mein iPhone suchen" eingeschaltet hat, kann versuchen, es aus der Ferne komplett zu löschen. Das klappt allerdings nur so lange, wie der Dieb die SIM-Karte nicht entfernt hat.

Ansonsten raten wir dazu, sofort sämtliche Passwörter zu ändern, die auch auf dem iPhone zum Einsatz kommen. Damit verhindert man, dass der Dieb in die Lage versetzt wird, per Mail neue Zugangspasswörter aus Foren des Benutzers anzufordern.

Gegen Datendiebstahl am iPhone

Code-Sperre einschalten

Die Code-Sperre lässt sich über "Einstellungen > Allgemein > Code-Sperre" auswählen. Per Voreinstellung ist "Einfacher Code" aktiviert, dann besteht die Zugangssperre aus nur vier Ziffern. Schalten Sie diesen Schieberegler aus, und tippen Sie dann "Aktivieren".

Wählen Sie ein Passwort mit Ziffern und Zeichen, das nicht einfach zu erraten ist. Sie müssen das neue Passwort zweimal eingeben. Das iPhone ist ab sofort vor neugierigen Blicken geschützt.

Zusätzliche Sicherheitsoptionen

Eine weitere Option ist unten unter "Daten löschen" zu finden. Wenn Sie nach der Vergabe des Passworts die Option wählen, müssen Sie die Aktivierung bestätigen. Eingeschaltet bewirkt sie das automatische Löschen des kompletten iPhone, wenn das Passwort zehnmal falsch eingegeben wird.

Die Daten sind nicht wiederherstellbar - auch mit den besten Tools nicht. Die Kombination sichert die Daten, solange das iPhone nicht gestohlen wird.

Einfacher Zugriff ohne Code-Sperre

Damit der Benutzer Daten vom Mac und PC auf das iPhone übertragen kann, hat Apple eine Schnittstelle geschaffen. Sie wird von iTunes genutzt. So gelangen Musik, Filme, Podcasts und andere Daten auf das iPhone. iTunes bedient sich zudem bei anderen Programmen, etwa bei Outlook, Adressbuch oder iCal, um Adressen und Termine zwischen iPhone und PC abzugleichen. Dieselbe Schnittstelle verwenden Programme wie Phoneview (Mac) oder Disk Aid (Windows). Eigentlich sind sie dafür gedacht, schnell Zugriff vom PC auf Adressen und andere Daten eines iPhone zu erhalten. Natürlich lassen sie sich auch dazu missbrauchen, etwa an die Daten eines gestohlenen iPhone zu gelangen.

Ist am betreffenden Gerät kein Jailbreak vorgenommen, beschränkt sich der Zugriff auf Musik, Videos, Podcasts, Telefonlisten, SMS, Adressen und so weiter. Auch hier kann der Schaden immens sein. Wie auch iTunes arbeiten die Programme nicht, wenn sie auf ein "fremdes" iPhone mit Code-Sperre treffen. In diesem Fall wird der Benutzer aufgefordert, zunächst die Code-Sperre zu öffnen. Erst dann verrichten iTunes, Phoneview und Co ihre Arbeit. Wer also sein iPhone mit Code-Sperre schützt, kann dieses Schlupfloch schließen. Die genannten Tools sind für wenige Euro erhältlich und eigentlich als Helfer beim legalen Datenzugriff gedacht.

SSH-Zugang

Ist am iPhone ein Jailbreak durchgeführt und das SSH-Paket installiert, nützt die Code-Sperre nichts. Per USB-Tunnel lässt sich vom PC oder Mac eine Verbindung zum iPhone aufnehmen. Eleganter: Das iPhone von einer RAM-Disk booten.

Das iPhone wird in dem Fall nicht verändert, kein Jailbreak durchgeführt. Bekommt der Besitzer das iPhone zurück, bleibt der folgende Datenklau unentdeckt. Die Methode mit einer Custom RAM-Disk kommt eigentlich in der Forensik oder bei der Datenrettung zum Einsatz. Bei beiden Zugangsarten entfällt durch eine USB-Umleitung die Notwendigkeit, zur SSH-Verbindung in demselben Wi-Fi-Netzwerk wie das iPhone zu sein. Bei eingeschalteter Code-Sperre lässt sich das iPhone ja nicht in einem neuen Wi-Fi-Netzwerk anmelden. Vom iPhone kann man jetzt Daten kopieren oder Programme auf das Gerät übertragen und dort ausführen. Neben vielen nützlichen Optionen bietet der Weg leider auch zwielichtigen Gestalten Zugriff.

Beim Passwortangriff des Fraunhofer SIT nutzte man einen USB-Tunnel für den Zugang, das ausgeführte Programm bediente sich der iPhone-Geräte-ID, um einige der Keychain-Passwörter im Klartext darzustellen. (iPhoneWelt)