Apple führt "BlastDoor" ein – extremer Sicherheitsgewinn bei Nachrichten
Oft hatte Apple in der Vergangenheit damit zu kämpfen, dass die Übermittlung von "defekten" Nachrichten Apps wie Mail oder Nachrichten zum Absturz brachte. Dies ist nicht nur ärgerlich für Nutzer, sondern birgt auch ein immenses Risiko: Durch speziell präparierte Nachrichten ist es so unter Umständen möglich, einen Prozess zu übernehmen und daraufhin Daten auszuspionieren, Spam-Mails zu verschicken oder die Kontrolle über das Zielgerät zu übernehmen.
Parser mit LückenErhält ein iPhone, iPad oder Mac eine externe Nachricht, wird diese zuerst in ihre Bestandteile zerlegt – das Gerät muss die Nachricht verstehen. Hier wird zum Beispiel der Zeitstempel, der Sender und der eigentliche Text der Nachricht ermittelt – solche Aufgaben übernehmen Parser. Ist jedoch die Nachricht nicht im erwarteten Format, können solche Parser sehr schnell verwirrt und zum Absturz oder undefinierten Verhaltensweise gebracht werden. Bestimmte Arten von reproduzierbaren Abstürzen können Hacker für Attacken nutzen. Ist es dem Angreifer möglich, einen Prozess zu übernehmen, ist es umso ärgerlicher, wenn dieser über weitreichende Rechte im System verfügt. Je weniger Rechte zur Verfügung stehen, desto weniger Möglichkeiten hat der Hacker, die Lücke auszunutzen.
iOS 14 mit VerbesserungenBeim Empfangen einer iMessage-Nachricht hat Apple nun laut den Sicherheitsforschern von
Google Project Zero einen neuen Dienst namens BlastDoor eingefügt – zum Dekodieren einer Nachricht sind nun mehr als sieben unterschiedliche Dienste mit verschiedenen Rechten involviert. Apple entwickelte BlastDoor in Swift, um Speichermanagement-Fehler möglichst zu vermeiden.
BlastDoor kommt auf dem Mac und iOS-Geräten (und wahrscheinlich auch auf der Apple Watch und dem Apple TV) zum Einsatz. Seit macOS 11 und iOS 14 übernimmt nun BlastDoor das Parsen von eingehenden Nachrichten – und verfügt über fast keine Rechte im Dateisystem und die Kommunikation mit anderen Diensten ist deutlich eingeschränkt. Nur eine Handvoll Dienste ist erreichbar, zum Beispiel diagnosticd, logd, syslogd und notifyd. Auch ist die Zusammenarbeit mit IOKit-Treibern vollständig untersagt und BlastDoor darf keine Nachrichten ins Netzwerk senden.
Durch die starken Einschränkungen ist es für Angreifer weit weniger erstrebenswert, diesen Dienst zu übernehmen, da dieser auf dem System über fast keine Rechte verfügt. Einem Hacker bringt die Kontrolle über einen Dienst, welcher fast keine Handlungsmöglichkeiten hat, fast keinen Mehrwert.
Meldung von Abstürzen?Die Sicherheitsforscher von Google Project Zero fanden ferner heraus, dass bei einem Absturz des BlastDoor-Dienstes Apple über den Vorfall unterrichtet wird. Wahrscheinlich will Apple auf diese Art und Weise sofort auf mögliche Attacken reagieren. Es ist jedoch, ohne den Code auf Apples Servern zu kennen, unmöglich herauszufinden, wozu Apple diese Benachrichtigungen genau nutzt.
Weitere AbsicherungenApple führte aber noch zwei weitere Sicherheitsmechanismen mit iOS 14 ein, welche bisher nicht veröffentlicht wurden: Bereits mit iOS 4.3 erzeugte Apple Zufallsadressen für wichtige Systembibliotheken, so dass Angreifer nicht davon ausgehen konnten, Code-Bestandteile an fixen Speicheradressen vorzufinden. Doch diese Zufallsadressen vergibt das System nur bei einem Neustart und diese bleiben, während das Gerät läuft, stets gleich. Mit iOS 14 hat Apple wohl dieses Verhalten geändert: Von Zeit zu Zeit werden neue Zufallsadressen vergeben, was Angriffe weiter erschwert.
Die zweite Verbesserung betrifft launchd – ein Prozess, welcher für das Starten von Systemdiensten verantwortlich ist. Stürzt ein Dienst wiederholt ab, startete launchd diesen stets sofort neu – und dieses Verhalten konnten Hacker für Angriffsversuche in rascher Abfolge nutzen. Seit iOS 14 ist es möglich, Systemdienste nicht sofort erneut zu starten, sondern bei wiederholten Abstürzen etwas abzuwarten. Somit hat ein potenzieller Angreifer nicht so viele "Versuche" zur Verfügung, um ein Gerät zu kompromittieren.