1887033

iOS 7: Passwort für Einschränkungen leicht zu knacken

17.01.2014 | 10:25 Uhr |

Das Passwort für die Einschränkungen auf dem iPhone ist relativ leicht zu knacken. Sicherheitsexperten haben uns gezeigt, wie der Hack funktioniert und wie man sich davor schützt.

Seit geraumer Zeit bietet iOS die Einstellung "Einschränkungen" (unter Einstellungen > Allgemein), mit deren Hilfe sich die Nutzung des iOS-Geräts und seiner Funktionen beschneiden lässt. Unter anderem kann man kann Kindern den Zugang zu Apps verwehren oder In-App-Käufe verbieten. Beim Einschalten der Funktion ist vom Benutzer ein vierstelliger Zahlencode zu wählen - ähnlich wie bei der einfachen "Code-Sperre". Der Code für Einschränkungen sollte auf jeden Fall nicht dem für die Code-Sperre entsprechen, sonst droht unter Umständen Ungemach.

Die Eingabe bei "Einschränkungen" ähnelt der bei der einfachen "Code-Sperre".
Vergrößern Die Eingabe bei "Einschränkungen" ähnelt der bei der einfachen "Code-Sperre".

Zahlencode im iTunes-Backup

Während sich der Zifferncode für Code-Sperre nur direkt auf dem iOS-Gerät unter Nutzung einer Custom Ramdisk knacken lässt , - ein sehr schwieriges und oft unmögliches Unterfangen - legte und legt iOS den Zahlencode für "Einschränkungen" im iTunes-Backup ab. Vor iOS 7 hatte Apple den vierstelligen Zahlencode im Klartext in einer plist-Datei gespeichert, seit iOS 7 nutzt das mobile Betriebssystem eine sicherere Variante. Da viele Benutzer faul sind, nutzen Sie für einfache Code-Sperre und Einschränkungen den selben Zahlencode. Fällt der für Einschränkungen in die Hände eines bösen Mitmenschen, kann er ihn für die Code-Sperre probieren.

Schwacher Schutz trotz Hash, Salt und Iterationen

Seit iOS 7 liegen statt Zahlencode im Klartext dessen Hashwert samt Salt in einer eigenen plist-Datei. Sicherheitsfachleute haben heraus gefunden, dass Apple hier den Algorithmus PBKDF2-HMAC-SHA1 einsetzt. Auf den ersten Blick scheint der Schutz ausreichend, zwei Faktoren machen ihn in diesem Falle jedoch angreifbar. Nach einigen Tests wurde heraus gefunden, dass Apple lediglich 1000 Iterationen zum Key streching verwendet. Key streching erschwert Bruteforce-Attacken zum Knacken eines Hashes. Zudem ist die Zahl der möglichen Passwörter extrem klein: Alle  Kombinationen von 0000 bis 9999 beim Zahlencode ergeben lediglich 10.000 Möglichkeiten.

Daten aus dem iTunes-Backup gewinnen

Inzwischen kursiert ein Perl-Script im Internet, das den als Hashwert und Salt gespeicherten Zahlencode durch Ausprobieren (Bruteforce) in wenigen Sekunden findet. Zunächst ist im iTunes-Backup die entsprechende plist-Datei zu finden. Die Suche nach "RestrictionsPasswordKey" in den Textdateien des Backup fördert sie zutage. Hashwert und Salt sind hier base64-encoded gespeichert. Mit einem einfachen Terminalbefehl zum Decoding lassen sich daraus die für das Script benötigten Werte gewinnen.

Hashwert und Salt des Zahlencodes liegen base64-encoded in der plist-Datei aus dem iTunes-Backup vor.
Vergrößern Hashwert und Salt des Zahlencodes liegen base64-encoded in der plist-Datei aus dem iTunes-Backup vor.

Zahlencode knacken

Der letzte Schritt, das eigentliche Knacken des Zahlencodes geht dank des Scripts schnell. Wir haben am iPhone als Beispiel den Zahlencode "6789" gewählt. Das Script startet seine Versuche bei "0000". Unser Zahlencode-Passwort kam nach rund 8 Sekunden ans Tageslicht.

Das Perl-Script benötigt lediglich ein paar Sekunden für die Bruteforce-Attacke und fördert das Passwort "6789" zutage
Vergrößern Das Perl-Script benötigt lediglich ein paar Sekunden für die Bruteforce-Attacke und fördert das Passwort "6789" zutage

Gefahr einfach bannen

Damit das gezeigte Szenario funktioniert, muss einem Angreifer das iTunes-Backup zur Verfügung stehen. Das ganze funktioniert allerdings nur mit unverschlüsselten Backups. Zudem muss er sich des iOS-Geräts bemächtigen und hoffen, der Benutzer setzt nur die einfache Code-Sperre ein und nutzt zudem den selben Zahlencode wie für "Einschränkungen". Daraus ergeben sich zwei Lösungen, solange Apple hier nicht technisch nachbessert. Beide sind hinlänglich bekannt und werden von uns immer wieder angemahnt:

1. Falls Sie iTunes zum Synchronisieren nutzen, wählen Sie unbedingt verschlüsselte Backups - dann klappt der Angriff nicht.

2. Falls Sie einfache Code-Sperre und "Einschränkungen" nutzen, wählen Sie unbedingt unterschiedliche Zahlencodes. Am Besten wählen Sie die komplexe Code-Sperre. Die komplexe Code-Sperre lässt sich mit dem oben gezeigten Weg allein nicht knacken.

0 Kommentare zu diesem Artikel
1887033