Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?

Beeindruckender NSO-Hack: Mit Fax-Kompression einen virtuellen Computer gebaut

Die NSO-Gruppe bietet unter dem Produktnamen "Pegasus" diverse Hacking-Dienste an, um an Daten von iPhone- oder Android-Nutzer zu gelangen. Bereits vor einigen Jahren wurde bekannt, dass ein Anklicken eines Links in iMessage einem Angreifer die Möglichkeit geben kann, an Informationen auf dem Gerät zu gelangen. Wie Googles Sicherheits-Team "Project Zero" nun dokumentiert, verfeinerte die NSO Group den Angriffsvektor – eine Interaktion ist nicht mehr erforderlich.


Animiertes GIF in Endlosschleife schafft Zugang
Sendet man einem iOS-Nutzer ein animiertes GIF, zeigt die Nachrichten-App das Bild in Endlosschleife, obwohl dies so in der ursprünglichen Datei nicht festgelegt ist. Dummerweise entschlüsselt Apple in iOS-Versionen vor 15.0 diese Bilder außerhalb der Nachrichten-Sandbox "BlastDoor" – und ein Programmierfehler kann somit schlimme Auswirkungen haben.

Um nun ein animiertes GIF in Endlosschleife darzustellen, dekodiert Apple das GIF über das Framework "CoreGraphics", um schließlich ein neues GIF-Bild mit Endlos-Animation zu erstellen. Doch hier besteht ein Problem: Das ImageIO-Framework, welches zum Laden der Bilder verwendet wird, ignoriert völlig die Dateiendung – und somit versuchen bis zu 20 Bild-Bibliotheken, ein Bild zu dekodieren. Dadurch entstehen viele Angriffsvektoren, da sich oftmals in solchen Dekodierverfahren Puffer-Überläufe oder ähnliches wiederfinden.

Apple schränkte den Zugriff auf die möglichen Bild-Dekoder mit iOS 14.8.1 ein – und in iOS 15.0 schirmte Apple das Entschlüsseln weiter ab, in dem es den gesamten Prozess hinter der Sandbox "BlastDoor" ablaufen lässt. Hier verhindert eine zusätzliche Sicherheitsvorkehrung den Zugriff auf Systemressourcen, selbst wenn Hacker ein Speicherüberlauf oder ähnliche Schwachstelle finden.

Fake-GIF mit Fax-PDF
Die NSO-Gruppe nutzte diese Lücke aus, um der ImageIO-Bibliothek eine Datei mit der Endung GIF unterzujubeln, das aber in Wirklichkeit ein PDF ist. Dieses PDF verwendet eine Uralt-Kompression für Schwarz/Weiß-Bilder, welche auch beim Fax zum Einsatz kommt: JBIG2.

JBIG2 nutzt ein Verfahren, um Doppelungen in einem Bild zu erkennen und zusammenzufassen – dadurch werden diese Bilder erheblich kleiner:


Doch bei diesem Zusammenfass-Algorithmus findet sich gleich zwei Schwachstellen: Die erste erlaubt das Schreiben an beliebige Speicherstellen – aber dies hilft dem Hacker erst einmal wenig, da kein Code ausgeführt werden kann, um bestimmte Speicherstellen zu ermitteln. Doch die zweite eröffnet den Hackern große Möglichkeiten:

Zusammenfass-Algorithmus als virtueller Computer
Durch sehr geschicktes Ausnutzen des Zusammenfassungs-Algorithmus des JBIG2-Codecs ist es möglich, logische AND-, OR-, XOR- und XNOR-Operationen zu bilden – und somit einen Turing-kompletten Computer. Hierdurch können nun beliebige Befehle ausgeführt werden – und dies nur durch die Übermittlung eines GIF-Bildes mit PDF-Inhalt im JBIG2-Codec.

Obwohl der JBIG2-Codec über keine Script-Möglichkeiten verfügt, haben es die Hacker der NSO Group erreicht, beliebige Befehle auszuführen, welche auf beliebige Speicheradressen zugreifen können. Der Angriff nutzt über 70.000 Logik-Gatter, um einen virtuellen Computer samt Registern und einem 64-Bit-Adder zu konstruieren – damit durchsuchen die Angreifer den Speicher des iPhones und führen arithmetische Operationen aus, um das Smartphone zu hacken. Durch diese Befehle knacken die Hacker die Sicherheitsvorkehrungen, um sich Zugriff auf das Gerät zu verschaffen.

Fazit
Wenn man einmal den Zweck des Hacks außer acht lässt, ist der Erfindungsreichtum der Programmierer der NSO Group vom technischen Standpunkt her schlichtweg beeindruckend: Durch die fast schon kunstvolle Kombination diverser kleinerer Schwachstellen erreichten es die Hacker, einen steuerbaren "Mini-Computer" zu schaffen, welcher komplett in der Dekompressionsroutine eines Fax-Codecs läuft.

Kommentare

dan@mac
dan@mac20.12.21 08:49
Wahnsinn und sehr kreativ.
+6
doescher
doescher20.12.21 09:26
... und sehr erschreckend!
+3
Peter Eckel20.12.21 09:27
... und widerwärtig.
Ceterum censeo librum facierum esse delendum.
+2
Solaris
Solaris20.12.21 09:28
Wie heisst es doch so schön : "Vertrauer keinem User-Input".

Der Hack an sich ist aber genial.
+4
LoCal
LoCal20.12.21 09:35
Das ImageIO-Framework, welches zum Laden der Bilder verwendet wird, ignoriert völlig die Dateiendung – und somit versuchen bis zu 20 Bild-Bibliotheken, ein Bild zu dekodieren

Das Ignorieren der Datei-Endung sehe ich nicht als Problem, sondern sogar als richtig. Unter Windows war die Datei-Endung lange das Einfallstor für Trojaner, obwohl die Datei die Endung .jpg hatte, war lag in Wahrheit eine ausführbare Datei vor. Erkennen kann man das z.B. über die "magic Number" die die Datei eindeutig identifiziert.

Wenn ich mir den Hack so anschaue, dann fühle ich mich sehr an The Incredible Machine erinnert
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
+2
ruphi
ruphi20.12.21 10:08
MTN
[...] und somit einen Turing-kompletten Computer
Turing-complete = Turing-vollständig
+2
Wellenbrett20.12.21 10:59
ruphi
MTN
[...] und somit einen Turing-kompletten Computer
Turing-complete = Turing-vollständig

https://www.duden.de/synonyme/komplett vollständig
Also ich hatte verstanden, was im Artikel gemeint war...
+1
milk
milk20.12.21 11:05
Wellenbrett
Also ich hatte verstanden, was im Artikel gemeint war...
Der Anspruch eines Journalisten an die eigene Arbeit sollte aber schon ein wenig mehr sein als nur das.
0
aMacUser
aMacUser20.12.21 11:20
milk
Wellenbrett
Also ich hatte verstanden, was im Artikel gemeint war...
Der Anspruch eines Journalisten an die eigene Arbeit sollte aber schon ein wenig mehr sein als nur das.
Aber wo ist das Problem, wenn "komplett" und "vollständig" in dem Kontext das exakt selbe bedeutet?
+4
Wellenbrett20.12.21 11:21
milk
Wellenbrett
Also ich hatte verstanden, was im Artikel gemeint war...
Der Anspruch eines Journalisten an die eigene Arbeit sollte aber schon ein wenig mehr sein als nur das.
Oh Mann, was für eine verständnislose Anspruchshaltung...
Der Artikel hat ein unendlich kompliziertes Sachthema besser als jeder andere Artikel, den ich zu dem Thema bisher gelesen habe (fünf an der Zahl, davon drei in bekannten Deutschen Onlinemedien) für Laien verständlich dargestellt. Es dann zu kritisieren, dass bei einem Begriff nicht der korrekte Deutsche Terminus sondern eine synonyme Bezeichnung gewählt wurde, ist zum einen undankbar und zum anderen Klugscheißerei!
+20
Mendel Kucharzeck
Mendel Kucharzeck20.12.21 11:26
Wellenbrett
Vielen Dank dafür! Freut mich sehr

ruphi
Ich habe schon beide Verwendungen in deutscher Sprache gelesen – ich glaube sogar, mein Informatik-Lehrer im Gymnasium sagte immer "Turing-komplett". Daher habe ich das wahrscheinlich.
+7
Rosember20.12.21 12:01
Ich sehe schon die nächsten Seminararbeiten in Informatik vor mir: "Baut" (schreibt) mal genau so einen Turing-vollständigen Rechner!
Und was am iPhone klappt, geht vielleicht auch bei anderen Betriebssystemen mit ähnlichen Tricks.

Ziemlich verrückter Hack!
+2
frankh20.12.21 21:19
Was alles möglich ist, wenn man etwas mal WIRKLICH verstanden hat.
Und ausreichend Zeit/Geld für die Umsetzung bekommt...
+1
ruphi
ruphi20.12.21 22:19
Mendel Kucharzeck
Wellenbrett
Vielen Dank dafür! Freut mich sehr

ruphi
Ich habe schon beide Verwendungen in deutscher Sprache gelesen – ich glaube sogar, mein Informatik-Lehrer im Gymnasium sagte immer "Turing-komplett". Daher habe ich das wahrscheinlich.
Ja sowas prägt sich dann ein Kenne ich
0
ruphi
ruphi20.12.21 22:21
Wellenbrett
Oh Mann, was für eine verständnislose Anspruchshaltung...
Der Artikel hat ein unendlich kompliziertes Sachthema besser als jeder andere Artikel, den ich zu dem Thema bisher gelesen habe (fünf an der Zahl, davon drei in bekannten Deutschen Onlinemedien) für Laien verständlich dargestellt. Es dann zu kritisieren, dass bei einem Begriff nicht der korrekte Deutsche Terminus sondern eine synonyme Bezeichnung gewählt wurde, ist zum einen undankbar und zum anderen Klugscheißerei!
Also ich für meinen Teil finde den Artikel auch gut. Spricht aber doch nix dagegen, nen kleinen Übersetzungsfehler auszumerzen.
Diese Verbindung "Verbesserungsvorschlag = Abwertung" ist ziemliches Gift. Für einen wertlosen Artikel würde ich persönlich z.B. niemals den Aufwand betreiben, einen Kommentar dazulassen.
+4

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.