Logikgatter im Turing-vollständigen Fax-Algorithmus

Der von Apple für JBIG2 genutzte Code stammt laut der Analyse von Google aus dem in C++ geschriebenen Open-Source-Projekt Xpdf, das seit Jahrzehnten wohl von einer einzigen Person gepflegt wird. Darin ausgenutzt wird von dem Trojaner letztlich ein immer noch typischer Integer-Overflow.

Mit einigen weiteren Tricks erreicht der Exploit einen Punkt, den Googles Project Zero so beschreibt: "An dieser Stelle wäre es auch möglich, auf beliebige absolute Speicheradressen zu schreiben, wenn Sie deren Offsets aus dem Seitenpuffer kennen. Aber wie berechnet man diese Offsets? Bisher verlief dieser Exploit sehr ähnlich wie ein Exploit für eine 'kanonische' Skriptsprache, der in Javascript mit einem unbegrenzten Arraybuffer-Objekt mit Zugriff auf den Speicher enden könnte."

Um die Berechnungen doch noch umzusetzen, nutzt der Exploit eine Eigenheit der JBIG2-Kompression aus. Ähnlich wie andere Kompressionsalgorithmen sucht auch JBIG2 zunächst nach gleichen beziehungsweise sehr ähnlichen Zeichen (Glyphen) und merkt sich lediglich einmal das eigentliche Symbol und von den anderen Vorkommen im Text nur deren Position, so dass dies beim Wiederherstellen ersetzt werden kann.

Eine VM aus Logikgattern

Der Algorithmus erlaubt dabei aber auch eine möglichst verlustfreie Komprimierung. Erreicht wird das wiederum, indem der Unterschied zwischen Original-Glyphen und dem möglichen Ersatz mit Hilfe von Logikgattern (AND, OR, XOR, XNOR) gespeichert wird. Die Schritte sind dabei nicht beschränkt und der JBIG2-Algorithmus selbst ist so flexibel, dass dies zu einer Turing-Vollständigkeit führt, wie das Team schreibt.

Aus einer Verknüpfung von AND- und XOR-Gatter lassen sich so etwa NAND-Gatter erzeugen, die auch mehrheitlich in der modernen Mikroelektronik zum Einsatz kommen. Der Pegasus-Trojaner setzt dies nun so zusammen, dass durch eine gezielte Verknüpfung der Logikgatter innerhalb der Parser-Bibliothek eine eigene kleine virtuelle Maschine gebaut wird.

Googles Project Zero schreibt dazu: "Mit über 70.000 Segmentbefehlen, die logische Bitoperationen definieren, definieren sie eine kleine Computerarchitektur mit Funktionen wie Registern und einem vollständigen 64-Bit-Addierer und -Komparator, mit denen sie den Speicher durchsuchen und arithmetische Operationen ausführen. Es ist nicht so schnell wie Javascript, aber es ist im Wesentlichen rechnerisch äquivalent."

Der Pegasus-Trojaner nutzt diese Fähigkeiten für die ersten Schritte, um den notwendigen Ausbruch aus einer Sandbox vorzubereiten. Googles Project Zero schreibt dazu: "Es ist ziemlich unglaublich und gleichzeitig ziemlich erschreckend." In einem weiteren Blogpost wollen die Beteiligten dann erklären, wie der Ausbruch aus der Sandbox gelingt.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 NSO Pegasus: Mit der Logikgatter-VM im Fax-Algorithmus zum Trojaner
  1.  
  2. 1
  3. 2


lunarix 17. Dez 2021

Aber es ist ja kein .gif - nur weil etwas eine bestimmte Dateiendung hat, heisst das ja...

flasherle 17. Dez 2021

Ich frage mich bei solchen Dingen immer, welcher Entwickler lässt sich für so etwas...

minnime 17. Dez 2021

Vor allem die Aneinanderreihung ist interessant. Die Geschichte mit den Gifs zu finden...

lunarix 17. Dez 2021

Vielleicht sollten sie dies. Vergessen sollte man dabei aber nicht, dass Apple bereits...



Aktuell auf der Startseite von Golem.de
25 Jahre Starship Troopers
Paul Verhoevens missverstandene Satire

Als Starship Troopers in die Kinos kam, wurde ihm faschistoides Gedankengut unterstellt. Dabei ist der Film des Niederländers Paul Verhoeven eine beißende Satire.
Von Peter Osteried

25 Jahre Starship Troopers: Paul Verhoevens missverstandene Satire
Artikel
  1. Cyber Resilience Act: Große Auswirkungen auf Open Source befürchtet
    Cyber Resilience Act
    Große Auswirkungen auf Open Source befürchtet

    Aus vielen größeren Projekten mehren sich die Stimmen, die in dem EU-Vorschlag für sicherere Hard- und Softwareprodukte eine Gefahr für Open Source sehen.
    Von Boris Mayer

  2. Amazon: Höherer Mindestbestellwert für versandkostenfreie Lieferung
    Amazon
    Höherer Mindestbestellwert für versandkostenfreie Lieferung

    Unverändert lässt Amazon die Versandkosten, wenn der Mindestbestellwert für versandkostenfreie Lieferungen nicht erreicht wird.

  3. Arcelor Mittal: Investition von 120 Millionen Dollar in grünen Stahl
    Arcelor Mittal
    Investition von 120 Millionen Dollar in grünen Stahl

    Der zweitgrößte Stahlproduzent der Welt unterstützt die Firma Boston Metal aus Massachusetts bei ihrem Vorhaben, grünen Stahl auf den Markt zu bringen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • MindStar-Tiefstpreise: MSI RTX 4090 Gaming X Trio 1.982€, Sapphire RX 7900 XT Gaming 939€ • Asus Gaming-Laptops bis -25% • Kingston NV2 2TB 112,90€ • WSV bei MediaMarkt • XIAOMI Watch S1 149€ [Werbung]
    •  /