iOS Security - Sichere Apps für iPhone und iPad

von: Carsten Eilers

entwickler.press, 2014

ISBN: 9783868026252 , 274 Seiten

Format: PDF, ePUB, OL

Kopierschutz: Wasserzeichen

Windows PC,Mac OSX für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Apple iPod touch, iPhone und Android Smartphones Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 22,99 EUR

Mehr zum Inhalt

iOS Security - Sichere Apps für iPhone und iPad


 

2.10 Sperrcode und Zugriffsschutz

Oben wurde ja bereits beschrieben, wie die auf dem iOS-Gerät gespeicherten Daten mithilfe kryptografischer Verfahren vor unbefugten Zugriffen geschützt werden, nun geht es um den Schutz der Benutzeroberfläche des Geräts. Dazu dient der Sperrcode (Passcode).

Wird für ein iOS-Gerät ein Sperrcode gesetzt, wird damit automatisch die Data Protection aktiviert. Außer zum Entsperren des Geräts wird der Sperrcode auch als Eingabe für verschiedene Krypto-Schlüssel verwendet. Da er nicht auf dem Gerät gespeichert ist, kann ein Angreifer, der sich Zugriff auf das Gerät verschafft hat, ohne den Sperrcode keinen Zugriff auf die Daten in bestimmten Schutzklassen erlangen.

Da der Sperrcode mit der UID des Geräts verknüpft ist, müssen Brute-Force-Angriffe zum Ermitteln des Sperrcodes auf dem angegriffenen Gerät erfolgen. Da ein Versuch ungefähr 80 Millisekunden dauert, dauert zum Beispiel das Ausprobieren aller möglichen Werte eines sechsstelligen alphanumerischen Sperrcodes aus Kleinbuchstaben und Ziffern mehr als 5 ½ Jahre, für einen neunstelligen Sperrcode, der nur aus Ziffern besteht, sind es noch 2 ½ Jahre.

Zusätzlich verlangsamen wachsende Pausen des Lock Screens nach jeder Falscheingabe den Angriff. Außerdem kann das Gerät so konfiguriert werden, dass es nach einer bestimmten Anzahl falsch eingegebener Sperrcodes gelöscht wird. Die Konfiguration kann auch durch einen MDM-Server und Exchange ActiveSync erfolgen.

2.10.1 Anforderungen an den Sperrcode

Per Default ist der Sperrcode eine vierstellige PIN, iOS kann aber auch so konfiguriert werden, dass längere und vor allem alphanumerische Sperrcodes verwendet werden. Diese Möglichkeit sollten Sie möglichst auch nutzen, denn längere und vor allem komplexere Sperrcodes sind schwerer zu erraten und schwerer durch einen Brute-Force-Angriff zu ermitteln.

In Unternehmen können die Anforderungen an das Passwort und weitere Regeln entweder über ein Mobile Device Management (MDM) oder Exchange ActiveSync oder aber über manuell installierte Konfigurationsprofile konfiguriert werden. Für den Sperrcode stehen dabei die folgenden Policies zur Verfügung:

  • Einfache Werte erlauben: Der Sperrcode darf aufeinanderfolgende oder sich wiederholende Zeichen enthalten, zum Beispiel sind „1234“ oder „AAAA“ zulässige Sperrcodes.
  • Alphanumerische Werte erforderlich: Der Sperrcode muss mindestens einen Buchstaben oder eine Ziffer enthalten
  • Mindestlänge des Codes: Die Anzahl der Zeichen, die der Sperrcode mindestens enthalten muss.
  • Mindestanzahl von komplexen Zeichen: Die Anzahl der nicht alphanumerischen Zeichen (zum Beispiel $, & und !), die der Sperrcode mindestens enthalten muss.
  • Maximale Codegültigkeit (in Tagen): Der Sperrcode muss nach Ablauf des angegebenen Zeitintervalls geändert werden.
  • Codeverlauf: Anzahl der alten Sperrcodes, mit denen ein neuer Sperrcode verglichen werden soll; der neue Sperrcode wird nicht akzeptiert, wenn er mit einem bereits verwendeten Sperrcode übereinstimmt.
  • Automatische Sperre (in Minuten): Nach Ablauf einer bestimmten Zeit ohne Aktivität wird das Gerät gesperrt; hier wird konfiguriert, welchen Maximalwert der Benutzer dafür angeben darf.
  • Zeitraum bis zur Gerätesperrung: Eine gewisse Zeit nach der letzten Verwendung kann die Sperre aufgehoben werden, ohne dass der Sperrcode erneut eingegeben werden muss. Hier wird konfiguriert, welchen Maximalwert der Benutzer dafür angeben darf. Wird „ohne“ ausgewählt, kann der Benutzer den Zeitraum beliebig wählen. Wird „sofort“ ausgewählt, muss der Sperrcode jedes Mal eingegeben werden, um die Sperre aufzuheben.
  • Maximale Anzahl von Fehlversuchen: Wie oft darf der Sperrcode falsch eingegeben werden, bevor alle Daten vom Gerät gelöscht werden (oder genauer: Die Schlüssel zum Zugriff auf Dateien und Schlüsselbund gelöscht und die Daten damit unlesbar gemacht werden). Nach sechs Fehlversuchen erzwingt das Gerät eine Pause, bevor ein neuer Versuch gemacht werden kann. Mit jedem Fehlversuch wächst diese Pause, nach dem letzten zulässigen Fehlversuch werden alle Daten und Einstellungen vom Gerät gelöscht (s. o.). Da die Zeitverzögerung erst nach dem sechsten Fehlversuch beginnt, gibt es keine Zeitverzögerung, wenn hier ein Wert kleiner oder gleich 6 angegeben wird. Mit jedem Fehlversuch wird die Zeitverzögerung zum nächsten Versuch länger. Nach dem letzten Fehlversuch werden alle Daten und Einstellungen sicher vom Gerät gelöscht. Die Zeitverzögerung für die Codeeingabe beginnt nach dem sechsten Fehlversuch. Wenn Sie also den Wert 6 oder einen niedrigeren Wert eingeben, gibt es keine Zeitverzögerung und das Gerät wird beim Erreichen der maximal zulässigen Eingabeversuche gelöscht.

2.10.2 Touch ID – Fingerabdruck statt Sperrcode

Das iPhone 5s enthält als erstes iOS-Gerät einen Fingerabdrucksensor. Mit „Touch ID“ kann ein Scan des Fingerabdrucks die Eingabe des Sperrcodes ersetzen [Appl_13.2]. Aus dem gescannten Fingerabdruck wird eine mathematische Darstellung erstellt, die bei der Konfiguration gespeichert und bei jedem erneuten Scan mit dem gespeicherten Wert verglichen wird. Den registrierten Fingerabdruckdaten werden im Laufe der Zeit abschnittsweise neue Bereiche des Fingerabdrucks hinzugefügt, um die Genauigkeit beim Vergleich zu verbessern.

Die Wahrscheinlichkeit dafür, dass zwei unterschiedliche Fingerabdrücke so weit übereinstimmen, dass Touch ID sie für identisch hält, liegt bei 1:50 000 (zum Vergleich: Die Wahrscheinlichkeit zum richtigen Raten eines vierstelligen Zifferncodes liegt bei 1:10 000). Um Touch ID zu umgehen, müssten also bis zu 50 000 verschiedene Fingerabdrücke getestet werden, bis eventuell einer gefunden wird, der von Touch ID an Stelle des richtigen Abdrucks akzeptiert wird. So weit wird es aber nie kommen, da nach fünf erfolglosen Versuchen die Eingabe des Sperrcodes nötig ist. Erst wenn der korrekte Sperrcode eingegeben wurde, kann danach wieder der Fingerabdruck zur Authentifizierung verwendet werden.

Der Fingerabdruck und Touch ID sind also kein Ersatz für den Sperrcode, der weiterhin benötigt wird (unter anderem müssen daraus ja die Schlüssel abgeleitet werden), sondern einer komfortable Ergänzung. Für einige Sicherheitsrelevante Aktionen ist sowieso weiterhin die Eingabe des Sperrcodes nötig. Zum Beispiel:

  • Nach dem Neustart des iPhone 5s
  • Wenn mehr als 48 Stunden vergangen sind, seitdem das Gerät das letzte Mal entsperrt wurde
  • Wenn die „Touch ID & Code“-Einstellungen geändert werden sollen

Touch ID kann auch an Stelle des Apple-ID-Passworts für Käufe im iTunes Store, App Store und iBook Store genutzt werden. Bei jedem Kauf muss der Benutzer sich mit seinem Fingerabdruck ausweisen. Nach fünf Fehlversuchen ist die Eingabe des Apple-ID-Passworts nötig. Das muss auch eingegeben werden, um das iPhone 5s neu zu starten oder Fingerabdrücke hinzuzufügen oder zu löschen.

Sicherheit und Datenschutz

Touch ID speichert nur die mathematische Darstellung des Fingerabdrucks, aus dem sich der Fingerabdruck selbst nicht zurückrechnen lässt. Zusätzlich wird diese Darstellung in einem neuen Speicherbereich im A7-Chip des iPhone 5s gespeichert, der Security Enclave. Die ist sowohl vom Rest des A7-Chips als auch dem Rest von iOS getrennt, sodass weder iOS noch Apps auf die Fingerabdruckdaten zugreifen können. Sie werden auch nicht auf Apples Servern oder in einem Backup gespeichert.

2.10.3 Erzwingen einer bestimmten Konfiguration

Konfigurationsprofile sind XML-Dateien, über die ein Administrator bestimmte Einstellungen auf iOS-Geräten erzwingen kann. Einstellungen, die in einem installierten Konfigurationsprofil definiert wurden, können vom Benutzer nicht geändert werden. Wird das Konfigurationsprofil gelöscht, werden auch alle darin definierten Einstellungen entfernt. Dadurch ist es möglich, die Einstellungen zu erzwingen, indem sie mit dem Zugang beispielsweise zu einem bestimmten Dienst oder einem Unternehmensnetz verknüpft werden. So könnten die Konfiguration eines E-Mail-Kontos und die Anforderungen an den Sperrcode in einem Konfigurationsprofil definiert werden. Der Benutzer kann dann das E-Mail-Konto nur nutzen, wenn sein Sperrcode den Anforderungen entspricht.

Im Konfigurationsprofil können folgende Einstellungen definiert werden [Appl_12.1]:

  • Sperrcoderegeln
  • Einschränkungen der Gerätefeatures wie zum Beispiel die Deaktivierung der Kamera, siehe unten
  • Einstellungen für WLAN/Wi-Fi
  • Einstellungen für VPN
  • Einstellungen für E-Mail
  • Einstellungen für Exchange ActiveSync
  • Einstellungen für LDAP
  • Einstellungen für CalDAV
  • Einstellungen für Webclips/Weblinks
  • Zugangsdaten und Schlüssel
  • Erweiterte Einstellungen für das Mobilfunknetz

Konfigurationsprofile können signiert und verschlüsselt werden, um die Identität ihres Erstellers zu beweisen, ihre Integrität zu sichern und ihren Inhalt vor dem Ausspähen zu schützen. Für die Verschlüsselung wird die Cryptographic Message Syntax (CMS, [RFC_3852]) mit den Verschlüsselungsverfahren 3DES und AES-128 verwendet.

Darüber hinaus können Konfigurationsprofile an ein bestimmtes Gerät gebunden werden, sodass sie gar nicht oder nur nach Eingabe eines Sperrcodes entfernt werden können. Konfigurationsprofile, die ein Gerät an einen MDM-Server binden, können gelöscht werden, dabei werden aber auch...