3 Punkte von GN⁺ 2024-11-18 | 1 Kommentare | Auf WhatsApp teilen
  • iOS 18 führt eine neue Sicherheitsfunktion für Inaktivitäts-Neustarts ein: „automatischer Neustart, wenn das Gerät 3 Tage lang nicht entsperrt wird“
  • Es gibt einen großen Unterschied zwischen der Eingabe des Codes beim ersten Einschalten des iPhones und der späteren Code-Eingabe zum Entsperren
  • Wenn beim ersten Start des iPhones der Code eingegeben wird, wird der Schlüsselspeicher des Secure Enclave Processor (SEP) geöffnet, der die Daten auf dem iPhone verschlüsselt
    • Im Zustand vor dem ersten Entsperren (BFU) sind die Benutzerdaten verschlüsselt, Face ID und Touch ID funktionieren nicht, und die Eingabe des Codes ist erforderlich. Das Wi-Fi-Passwort ist verschlüsselt, daher ist keine Wi-Fi-Verbindung möglich; mit dem Mobilfunknetz kann jedoch eine Verbindung hergestellt werden, wenn die SIM nicht durch eine PIN geschützt ist. Vorschauen von Benachrichtigungsinhalten werden nicht angezeigt.
    • Im Zustand nach dem ersten Entsperren (AFU) werden die Benutzerdaten entschlüsselt. Solange iOS läuft, bleibt der Schlüsselspeicher geöffnet, sodass Wi-Fi-Verbindungen und Vorschauen von Nachrichtenbenachrichtigungen möglich sind. Dieser Zustand ist jedoch anfälliger für Angriffe.
  • Sicherheitslücken im AFU-Zustand: Wenn Angreifer den Sperrbildschirm umgehen, können sie auf entschlüsselte Daten zugreifen. Bei physischem Zugriff steigt zudem die Möglichkeit, Schwachstellen über USB, Wi-Fi, Bluetooth oder Hardware-Angriffe auszunutzen

Gerüchte über iPhone-Neustarts

  • Strafverfolgungsbehörden halten iPhones im AFU-Zustand vom Internet isoliert, um forensisch wichtige Daten zu erhalten.
  • Es gibt Gerüchte, dass ein iPhone mit iOS 18 auch dann neu startet, wenn es vollständig von drahtlosen Netzwerken isoliert ist
  • Außerdem wird behauptet, dass ein iPhone mit iOS 18 iPhones mit älteren iOS-Versionen drahtlos zum Neustart anweisen könne (technisch wenig wahrscheinlich)

Entdeckung der Inaktivitäts-Neustartfunktion

  • Apple hinterlässt bei der Einführung neuer Funktionen Hinweise über Debug-Strings
    • Ab iOS 18.1 taucht der String inactivity_reboot auf. In iOS 18.2 wurde er in inactivity_reboot_enabled geändert
  • Tests bestätigten, dass ein Inaktivitäts-Neustart erfolgt, wenn das Gerät 3 Tage (72 Stunden) lang nicht entsperrt wird

Reverse Engineering des Inaktivitäts-Neustarts

  • Der Secure Enclave Processor (SEP) verfolgt den Zeitpunkt der letzten Entsperrung und benachrichtigt das Kernel-Modul AppleSEPKeyStore, wenn mehr als 3 Tage vergangen sind.
  • Das Kernel-Modul AppleSEPKeyStore benachrichtigt den User Space, damit ein Neustart gestartet wird. SpringBoard beendet daraufhin alle User-Space-Prozesse sicher.
  • Nach dem Neustart liest keybagd die NVRAM-Variable „aks-inactivity“ und sendet, falls gesetzt, ein Analyseereignis an Apple.
  • Falls der Neustart fehlschlägt, tritt ein Kernel Panic auf

Reverse Engineering des Secure Enclave Processor

  • Der SEP ist eines der am stärksten geschützten Geheimnisse von Apple, und die Firmware ist verschlüsselt.
  • Die SEP-Firmware besteht aus mehreren Apps, und die mit SEPKeyStore verbundene App heißt „sks“.
  • Wenn 3 Tage (72 Stunden) überschritten werden, erzeugt der SEP eine Nachricht und sendet sie an die Kernel-Erweiterung SEPKeyStore.

Ist das nur eine Maßnahme gegen die Polizei?

  • Sicherheitsgewinn: In den Medien wurde berichtet, dass diese Funktion hauptsächlich auf Strafverfolgungsbehörden abzielt, doch auch in Bezug auf Diebstahlschutz bedeutet sie eine deutliche Sicherheitsverbesserung.
    • Ältere Geräte von Strafverfolgungsbehörden werden oft günstig auf Plattformen wie eBay verkauft; diese Funktion verringert Fälle, in denen Diebe solche Geräte nutzen, um auf iPhone-Daten zuzugreifen.
    • Für Diebe ist es realistisch schwer, an aktuelle Hacking-Tools zu gelangen oder die Mittel aufzubringen, um ein Gerät innerhalb von 3 Tagen zu entsperren.
  • Wichtigkeit von Geräte-Updates: Die aktuelle iOS-Version beizubehalten, ist äußerst wichtig, um persönliche Daten sicher zu schützen.
  • Anpassungsbedarf bei Strafverfolgungsbehörden:
    • Strafverfolgungsbehörden müssen ihre Verfahren zur Datenextraktion so anpassen, dass sie innerhalb von 3 Tagen abgeschlossen werden.
    • Einige Hersteller forensischer Werkzeuge haben bereits angekündigt, dass sich Verfahren zur Datenextraktion schon innerhalb von 24 Stunden organisieren lassen.
    • Das zeigt die Einschränkung, dass Daten nur im AFU-Zustand extrahiert werden können.
  • Asymmetrie der Sicherheitsbedrohung:
    • Für Diebe macht diese Funktion es praktisch sehr schwer, an Daten zu gelangen, und wirkt als zentrale Sicherheitsbarriere.
    • Strafverfolgungsbehörden hingegen müssen Prozesse vereinfachen und schneller reagieren.

Wichtige Punkte

  • Unabhängig von drahtloser Aktivität:
    • Diese Funktion steht in keinem Zusammenhang mit Aktivität in drahtlosen Netzwerken.
    • Die in Dokumenten von Strafverfolgungsbehörden erwähnte Behauptung über „Neustarts durch drahtlose Kommunikation zwischen Geräten“ ist wenig glaubwürdig.
    • Neustarts von Geräten vor iOS 18 sind wahrscheinlich eher auf Softwarefehler zurückzuführen.
  • Rolle des SEP:
    • Die Messung der Inaktivitätsdauer und das Auslösen des Neustarts erfolgen im SEP.
    • Der SEP kommuniziert mit der Kernel-Erweiterung SEPKeyStore, um den Neustartbefehl auszuführen.
    • Es ist sehr wahrscheinlich, dass externe Zeitmanipulation über das Internet oder das Mobilfunknetz den 3-Tage-Timer nicht beeinflusst.
  • Starke Sicherheitsfunktion:
    • Damit Angreifer den Inaktivitäts-Neustart verhindern können, benötigen sie Ausführungsrechte für Kernel-Code.
    • Selbst wenn forensische Analysten den Neustart zur Datenextraktion verzögern könnten, müsste der erste Hack dennoch innerhalb von 3 Tagen erfolgen.
  • Veränderte Bedrohungslage:
    • Sowohl für Diebe als auch für forensische Analysten entstehen neue Herausforderungen.
    • Für Diebe wird der Zugriff auf auf dem iPhone gespeicherte Bankkonten und andere sensible Daten praktisch blockiert.
    • Strafverfolgungsbehörden geraten unter Druck, schneller zu reagieren, um auf Daten zugreifen zu können.

1 Kommentare

 
GN⁺ 2024-11-18
Hacker-News-Kommentare
  • Im AFU-Zustand werden Nutzerdaten entschlüsselt. Entwickler können verschiedene Schlüssel zum Datenschutz auswählen. Apple verwendet bestimmte Schlüssel, um sensible Informationen wie die Gesundheitsdaten der Nutzer zu schützen

    • Informationen zu Apples Datenschutzklassen finden sich hier
  • Es wird infrage gestellt, warum der Aspekt, dass keine Netzwerkverbindung besteht, so stark betont wird. GrapheneOS bietet bereits eine automatische Neustartfunktion nach einer gewissen Zeit, die wirksam gegen Datenabfluss ist

  • Es werden zwei Fragen aufgeworfen:

      1. Wenn ein gesperrtes iPhone alle 3 Tage zwangsläufig neu startet, könnte das in legitimen Nutzungsszenarien Probleme verursachen
      1. Wenn der Artikel stimmt, wird aus Sicherheitsgründen neu gestartet, um in den Zustand „Before First Unlock“ zurückzukehren. Es stellt sich die Frage, warum man ohne Neustart nicht in diesen Zustand wechseln kann
    • Bonusfrage: Android-Telefone verlangen nach einigen Stunden ohne Bewegung ein Passwort, ähnlich wie nach einem Neustart. Es stellt sich die Frage, ob sich das vom „Before First Unlock“-Zustand des iPhone unterscheidet
  • Es wird die Frage aufgeworfen, warum Apple die SEP-Firmware verschlüsselt. Falls dies für das Sicherheitsmodell nicht essenziell ist, könnte es dem Schutz geistigen Eigentums dienen

  • Ein großartiger Artikel, der zeigt, dass Apple bei der Gerätesicherheit führend ist

  • Es wurde erwähnt, dass iOS 18 möglicherweise andere Telefone drahtlos zum Neustart anweisen kann, darauf scheint später jedoch nicht mehr eingegangen worden zu sein

  • Es wird die Meinung geäußert, dass dies dem BFU- und AFU-Entsperrungsverfahren von AOSP ähnelt

  • Es wird vermutet, dass dies von der Secure Enclave verwaltet wird. Dadurch wäre es selbst bei einer vollständigen Kompromittierung von iOS sehr schwer zu deaktivieren

  • Es wird gefragt, warum genau 3 Tage als Zeitraum festgelegt wurden und warum es keine vom Nutzer konfigurierbare Verzögerung gibt

  • Vielen Dank für den großartigen Artikel, eine hervorragende Analyse