Apple iOS 14 vereitelt iMessage-Angriffe mit BlastDoor-System

  • Apple hat in iOS 14 strukturelle Verbesserungen vorgenommen, um nachrichtenbasierte Zero-Click-Exploits zu blockieren.

    Um zu verhindern, dass Angriffe über die iMessage-Funktion gestartet werden, hat Apple in iOS 14, der aktuellen Version seines mobilen Betriebssystems, einen Sicherheitsdienst namens BlastDoor eingeführt.

    BlastDoor, das diese Woche in einer Analyse von Samuel Groß von Google Project Zero erstmals detailliert beschrieben wurde, fungiert als “eng umschlossener” Dienst, der für “fast das gesamte” Parsen von nicht vertrauenswürdigen Daten in iMessages verantwortlich ist.

    Der Dienst kommt auf den Fersen eines kürzlich aufgedeckten iMessage-Null-Klick-Exploits, der in einem Spionageangriff gegen Al Jazeera-Journalisten und -Führungskräfte ausgenutzt wurde. Citizen Lab, das die Kampagne im Dezember aufdeckte, sagte damals, dass es nicht glaubt, dass der Exploit gegen iOS 14 funktioniert, da es “neue Sicherheitsvorkehrungen enthält.”

    Was diese spezifischen Schutzmaßnahmen waren, blieb jedoch bis zu Groß’ Analyse in dieser Woche unbekannt. Groß war in der Lage, Reverse-Engineering durchzuführen, um den neuen Dienst zu analysieren, indem er einen M1 Mac Mini mit macOS 11.1 verwendete und seine Ergebnisse durch Anwendung auf iOS 14.3 (auf einem iPhone XS) verifizierte,

    “Insgesamt sind diese Änderungen wahrscheinlich sehr nahe am Besten, was angesichts der Notwendigkeit der Abwärtskompatibilität getan werden konnte, und sie sollten einen erheblichen Einfluss auf die Sicherheit von iMessage und der Plattform als Ganzes haben”, sagte Groß am Donnerstag. “Es ist großartig zu sehen, dass Apple die Ressourcen für diese Art von großen Refactorings zur Verfügung stellt, um die Sicherheit der Endnutzer zu verbessern.”

    Was ist BlastDoor?

    BlastDoor hat zwei wichtige Sicherheitsaspekte.

    Erstens ermöglicht der Dienst die Anwendung von Sandboxing-Regeln über die gesamte Pipeline, wenn eine Nachricht auf einem Telefon empfangen wird. Das bedeutet, dass beim Empfang einer Nachricht die Prozesse auf dem Backend Code getrennt vom Betriebssystem ausführen. Nur zwei Prozesse (IMTransferAgent, der die Übertragung von Nachrichtendateien handhabt, und apsd, Apples Push Notification Service-Dämon) sind erforderlich, um Netzwerkoperationen durchzuführen.

    Groß sagte, das Sandbox-Profil von BlashDoor sei “ziemlich eng”, wobei fast alle Dateisystem-Interaktionen blockiert werden, der ausgehende Netzwerkzugriff verweigert wird und jede Interaktion mit IOKit-Treibern verboten ist. IOKit ermöglicht den Zugriff auf Hardware-Geräte und Treiber für verschiedene Apps und Dienste und ist historisch gesehen eine große Quelle für Sicherheitslücken.

    Diese sichere Umgebung bedeutet, dass jeglicher bösartiger Code, der von Angreifern über iMessage gesendet wird, daran gehindert wird, auf Benutzerdaten zuzugreifen oder mit anderen Teilen des Betriebssystems zu interagieren.

    Zweitens ist BlastDoor in Swift geschrieben, einer speichersicheren Sprache. Groß sagte, dass Swift es “signifikant” schwieriger macht, Schwachstellen für Speicherkorruption in die Codebasis einzubringen. Das liegt daran, dass Swift über verschiedene Funktionen verfügt, die sicherstellen, dass Variablen initialisiert werden, bevor sie verwendet werden, dass nicht auf Speicher zugegriffen wird, nachdem er freigegeben wurde, und dass Array-Indizes auf Out-of-Bounds-Fehler überprüft werden.

    Ein neuer Message-Parsing-Prozess

    In früheren Versionen von iOS wurde das Parsen einer Nachricht im Instant Messaging Agent (imagent) durchgeführt. Um eine Nachricht in imagent zu analysieren, wurden die binären Daten zunächst dekomprimiert; dann wurde die plist (auch bekannt als Property List; eine Erweiterung, die zum Speichern von Einstellungen von Anwendungen verwendet wird) aus ihrem binären Serialisierungsformat dekodiert. Die verschiedenen Felder würden extrahiert, um sicherzustellen, dass sie den richtigen Typ haben; und schließlich würde der Inhalt des `x`-Feldes des iMessage-Formats mit einem XML-Decoder dekodiert werden. Wenn eine iMessage einen Anhang enthielt, würden auch zusätzliche Schritte für das Parsen durchgeführt.

    In iOS 14 wurde dieser Prozess in den neuen BlastDoor-Dienst verlagert. Der Hauptverarbeitungsablauf beginnt immer noch in imagent – das die rohen Nutzdatenbytes empfängt, aber dann werden die Nachrichten an den BlastDoor-Dienst weitergeleitet (durch +[IMBlastdoor sendDictionary:withCompletionBlock:]). Innerhalb von BlastDoor finden die Prozesse sowohl des Parsens von Nachrichten als auch von Anhängen hauptsächlich in BlastDoor.framework und MessagesBlastDoorService statt, so Groß.

    Groß merkte an, dass ein Nebeneffekt dieser neuen Verarbeitungspipeline ist, dass imagent nun erkennen kann, wann eine eingehende Nachricht einen Absturz in BlastDoor verursacht hat – und anscheinend Apples Server über solche Ereignisse informiert.

    “Ohne Zugriff auf den Code des Servers ist unklar, welchen Zweck das hat”, so Groß. “Möglicherweise dienen diese Benachrichtigungen einfach nur statistischen Zwecken, aber sie würden Apple auch ein ziemlich klares Signal über Angriffe gegen iMessage mit Brute-Force und ein etwas schwächeres Signal über gescheiterte Exploits gegen den BlastDoor-Dienst geben.”

    Andere iOS-14-Schutzmaßnahmen

    Zusätzlich zu BlastDoor stellte Groß zwei weitere wichtige Sicherheitsmaßnahmen vor, die in das im September veröffentlichte iOS 14 integriert wurden.

    Erstens hat Apple ein Problem mit der Shared-Cache-Region seiner Address Space Layout Randomization (ASLR) behoben, das eine architektonische Schwäche darstellte. Die Schwachstelle bestand darin, dass die gemeinsam genutzte Cache-Region nur pro Bootvorgang randomisiert wurde – das heißt, sie blieb über alle Prozesse hinweg an der gleichen Adresse. Dies hätte es Angreifern ermöglichen können, die Basisadresse des gemeinsam genutzten Caches zu ermitteln und ASLR zu umgehen, wodurch sie möglicherweise Zero-Click-Angriffe starten könnten.

    [Blocked Image: https://media.threatpost.com/wp-content/uploads/sites/103/2021/01/29105220/image1-300x246.png]

    Der Nachrichten-Parsing-Prozess von BlastDoor (zum Vergrößern anklicken). Kredit: Google Project Zero

    Apple hat nun eine Logik hinzugefügt, die speziell diese Art von Angriffen erkennt. Jetzt wird der gemeinsam genutzte Cache für den anvisierten Dienst beim nächsten Start neu randomisiert, wodurch diese Art von Angriff unwirksam wird.

    “Das sollte die Umgehung von ASLR im Rahmen eines 0-Klick-Angriffs je nach konkreter Schwachstelle deutlich erschweren oder sogar unmöglich machen (abgesehen von Brute-Force)”, so Groß.

    Zweitens unterliegen die Dienste BlastDoor und imagent nun einem neu eingeführten “exponentiellen Drosselungsmechanismus”, der von launchd, Apples Dienstverwaltungs-Daemon des Betriebssystems, erzwungen wird. Mit diesem neuen Mechanismus verdoppeln sich bei einem Absturz des Geräts die Intervalle zwischen den Neustarts nach dem Absturz mit jedem weiteren Absturz (was zu einem maximalen Intervall von 20 Minuten führt, wie Groß herausfand).

    “Mit dieser Änderung würde ein Exploit, der auf dem wiederholten Absturz des angegriffenen Dienstes beruht, nun wahrscheinlich mehrere Stunden bis etwa einen halben Tag für die Ausführung benötigen, anstatt nur ein paar Minuten”, so Groß.

    Apple Sicherheitsprobleme

    Apple, historisch bekannt für seine starke Sicherheitsposition, hatte in den letzten Monaten mit verschiedenen Problemen zu kämpfen – einschließlich der Veröffentlichung eines Notfall-Updates in dieser Woche, um drei in iOS entdeckte Zero-Day-Schwachstellen zu flicken.

    Zero-Click-Attacken laufen automatisch und ohne jegliche Benutzerinteraktion ab und sind besonders besorgniserregend. Forscher entdeckten im August eine Zero-Click-Exploit-Kette für macOS, die es Angreifern ermöglichen könnte, über ein Microsoft Office-Dokument mit Makros Malware an macOS-Benutzer zu liefern.

    Groß lobte die offensive Sicherheitsarbeit von Apple, die sich in den jüngsten Änderungen widerspiegelt, insbesondere für die Wirkung gegen nachrichtenbasierte Zero-Click-Angriffe.

    “Es wurden nicht nur einzelne Bugs behoben, sondern strukturelle Verbesserungen vorgenommen, die auf Erkenntnissen aus der Exploit-Entwicklung basieren”, sagte er.

    Threatpost hat Apple für einen weiteren Kommentar kontaktiert.

    Laden Sie unser exklusives KOSTENLOSES Threatpost Insider eBook Healthcare Security Woes Balloon in a Covid-Era World , sponsored by ZeroNorth, herunter, um mehr darüber zu erfahren, was diese Sicherheitsrisiken für Krankenhäuser im Alltag bedeuten und wie Sicherheitsteams im Gesundheitswesen Best Practices implementieren können, um Anbieter und Patienten zu schützen. Holen Sie sich die ganze Geschichte und DOWNLOADen Sie das eBook jetzt – bei uns!

    Einige Teile dieses Artikels stammen aus:
    threatpost.com