Lockscreen-Bug im neuen Facetime Gruppenchat

Sicherheitslücke in iOS 12.1 gefährdet dienstliche und private Kontakte

07.11.2018
Von   
Mark Zimmermann leitet hauptberuflich das Center of Excellence (CoE mobile) zur mobilen Lösungsentwicklung bei der EnBW Energie Baden-Württemberg AG in Karlsruhe. Er weist mehrere Jahre Erfahrung in den Bereichen Mobile Sicherheit, Mobile Lösungserstellung, Digitalisierung und Wearables auf. Der Autor versteht es, seine Themen aus unterschiedlichsten Blickwinkeln für unternehmensspezifische Herausforderungen darzustellen. Neben seiner hauptberuflichen Tätigkeiten ist er Autor zahlreicher Artikel in Fachmagazinen.
Wie die mit iOS 12.1 neu hinzugekommene Funktion Gruppenchat für Facetime zeigt, kann eine einzige Schicht zusätzlicher Komplexität zahlreiche neue Angriffsvektoren und Schwachstellen erzeugen. Dazu zählen unter anderem Integer-Überläufe und falsche Speicher-Validierungen.

Bisher galt die Verschlüsselung von iOS als beispielhaft im mobilen Umfeld. Im Gegensatz zu Android basiert diese bei Apples Betriebssystem auf dem PIN/Kennwort des Anwenders. Android hingegen nutzt einen Schlüssel aus der Boot-PIN, um die Daten zu schützen. Die PIN-Eingabe im Sperrbildschirm von Android ist somit nur ein Softwareschutz, bei iOS dagegen ein essentieller Bestandteil der Verschlüsselung.

Mit der Funktion Facetime Gruppengespräche können potenzielle Angreifer trotz Sperrbildschirm auf die Kontakte eines iOS-Geräts zugreifen.
Mit der Funktion Facetime Gruppengespräche können potenzielle Angreifer trotz Sperrbildschirm auf die Kontakte eines iOS-Geräts zugreifen.
Foto: Apple

Nun kursieren immer wieder Berichte über Sicherheitslücken, in denen behauptet wird, man könne den Login am iPhone und damit auch die Verschlüsselung umgehen.

Gravierende Lücke riskiert (nur) Kontakte

So etwa über die mit iOS 12.1 eingeführten Funktion Facetime Gruppenchat. Wie Sicherheitsforscher Jose Rodriguez zuerst berichtete, beinhaltet das Feature mehrere Wege, die es einem potentiellen Angreifer ermöglichen, an (Firmen-)Kontakte zu gelangen. In diversen Videos sind die notwendigen Schritte öffentlich dokumentiert und können auch von Dritten nachvollzogen werden.

Das Vorgehen für einen Angreifer ist dabei erschreckend einfach. Zuerst initiiert dieser einen Anruf auf dem anzugreifenden iPhone (zum Beispiel via Siri) oder ruft das Device selbst an. Sobald die Verbindung steht, wechselt er auf dem fremden Gerät zu einem Facetime-Gespräch. Im Anschluss wählt er dort die Funktion "Person hinzufügen" aus. Mit der Auswahl des Plus-Zeichen erhält der Angreifer nun die vertraulichen Daten als komplette Liste von allen Kontakten des iPhones. Detailinformationen zu einem Kontakt stehen diesem nun ebenfalls per 3D-Touch zur Verfügung.

Als ob das nicht schon kritisch genug wäre, ist die Lücke nicht auf iPhones begrenzt. Rufen Sie mit einem Facetime-fähigen Gerät das anzugreifende iOS-Gerät (iPhone/iPad/iPod Touch) an, können Sie den Anruf dort entgegen nehmen und dann ebenfalls über den "Personen hinzufügen"-Hack die Daten einsehen.

Was tun? Sofortmaßnahmen bis zum Update

Bis Apple die Sicherheitslücke durch ein Update stopft, können iOS-Anwender als Sofortmaßnahme die Nutzung von Facetime komplett sperren (geht auch im Business-Bereich via MDM). Auf der sicheren Seite sind außerdem Nutzer, die ihre Kontaktdaten in einem sicheren - privaten oder beruflichen - Container auf dem Device aufbewahren.

Immerhin: Verschlüsselung ist nicht gebrochen

Beginnend mit iOS 4 setzt Apple auf das Thema Verschlüsslung. Seitdem bietet jedes am Markt verfügbare iOS-Endgerät von Haus aus eine hardwarebasierte 256-Bit-AES-Verschlüsselung. Ein entscheidender Vorteil des Apple-Ansatzes zur Verschlüsselung ist, dass Apple - anstelle eines einzigen Full-Disk-Encryption-Schlüssels - für einzelne Dateien eine detaillierte Zugangskontrolle implementieren hat. Um dies zu ermöglichen, bietet iOS eine Programmierschnittstelle, die Entwickler nutzen können, um festzulegen, welche Schutzklassen bei der Verschlüsselung einer jeden Datei verwendet werden:

  • Vollständiger Schutz (NSFileProtectionComplete für Dateien und kSecAttrAccessibleWhenUnlocked für Keychain-Einträge)

Daten sind nutzbar, wenn das Gerät eingeschaltet und entsperrt ist.

  • Geschützt bis zur ersten Benutzerauthentifizierung (NSFileProtectionCompleteUntilFirstUserAuthentication für Dateien und kSecAttrAccessibleAfterFirstUnlock für Keychain-Einträge).

Daten sind geschützt, bis sich der Anwender erstmalig anmeldet (z.B. nach einem Neustart).

  • Sicheres Schreiben (NSFileProtectionCompleteUnlessOpen für Dateien)

Apple hat diese Schutzklasse für Daten geschaffen, die auch dann (verschlüsselt) gespeichert werden sollen, wenn der Klassenschlüssel aus dem RAM hinausgeworfen worden ist. Diese Dateien lassen sich quasi immer beschreiben, aber nur im entsperrten Zustand lesen.

  • Kein Schutz (NSFileProtectionNone für Dateien und kSecAttrAccessibleAlways für Keychain-Einträge). Diese Daten sind zugänglich, selbst wenn das Gerät neu gestartet worden ist und der Benutzer sich noch nicht am Gerät (erstmalig) angemeldet hat.

Entwickler haben dabei die Möglichkeit, sich für die Daten ihrer Anwendung die Schutzklasse selbst auszusuchen. So unterliegen auch bei Apple selbst diverse Daten auch (nur) der Schutzklasse NSFileProtectionCompleteUntilFirstUserAuthentication. Hierzu zählen die Fotos auf dem Gerät, aber eben auch die (verwalteten/dienstlichen) Kontakte.

Fazit: Höhere Sicherheit für sensible Daten erforderlich

Apple sollte zwei Dinge mit der PIN-Abfrage absichern. Zum einen das Anrufen der eigenen Person (Handy-Eigentümer) und zum zweiten das Hinzufügen von Gesprächspartnern - wenn das Gerät gesperrt ist. Außerdem würde ich es persönlich begrüßen, wenn dienstliche Daten mit zusätzlichen Schutzklassen abgesichert werden.