Suche

NSO Pegasus: Mit der Logikgatter-VM im Fax-Algorithmus zum Trojaner

Der Trojaner-Hersteller NSO hat technisch extrem weit fortgeschrittene Fähigkeiten. Das zeigt eine Pegasus-Analyse von Googles Project Zero.

Artikel veröffentlicht am ,
Der Pegasus-Trojaner der NSO Group ist technisch sehr anspruchsvoll. (Bild: FRANCOIS GUILLOT/AFP via Getty Images)

Das Project Zero von Google sucht nicht nur selbst nach Sicherheitslücken, sondern untersucht auch aktiv eingesetzte Malware. In einer aktuellen Analyse des Pegasus-Trojaners der NSO-Group zeigt das Project-Zero-Team dabei, wie weit fortgeschrittenen die technischen Fähigkeiten des Herstellers sind und dass die Trojaner-Entwickler offenbar extrem viele Ressourcen für die Entwicklung eines Exploits verwenden können, der ohne Nutzerinteraktion funktioniert - ein sogenannter Zero-Click-Angriff. Zuvor mussten für erfolgreiche Angriffe zum Beispiel noch Links in SMS angeklickt werden. Die nun durchgeführte Analyse überrascht selbst die Spezialisten vom Project Zero.

Anzeige

Im konkreten Fall haben die Beteiligten den Trojaner-Code untersucht, den Citizen Lab bereitgestellt hat. Forscher des Citizen Lab der Universität Toronto waren bei der Analyse des Smartphones eines saudi-arabischen Aktivisten auf die Sicherheitslücke (CVE-2021-30860) gestoßen und hatten sie an Apple gemeldet. Das Gerät sei mit der Überwachungssoftware Pegasus der israelischen Firma NSO infiziert gewesen, berichtete Citizen Lab. Die Forcedentry genannte Sicherheitslücke soll mindestens seit Februar 2021 ausgenutzt worden sein. Citizen Lab hatte die Nutzung der Trojaner der NSO Group zuvor bereits als "Staatsterror" bezeichnet.

Die von Google beschriebene Lücke hat Apple am 13. September 2021 in iOS 14.8 geschlossen. Als Finder der Lücke nennt Apple in den Sicherheitsnotizen dazu explizit Citizen Lab. Darüber hinaus sei zwar der Exploit-Code, dessen Vorgehen das Team nun beschreibt, auf die Ausnutzung von Sicherheitslücken auf iPhones ausgerichtet. Das Google-Team schreibt jedoch, die NSO-Group habe mit Pegasus auch ähnliche Techniken für Android.

Vom GIF, zum PDF, zum Fax

Grundlage des Zero-Click-Angriffs ist, dass Apples iMessage als Ziel zum Unterschieben des Trojaners gewählt wird. Das ist insofern nachvollziehbar, weil für den Angriff dann lediglich die Handy-Nummer oder die Apple-ID des Opfers bekannt sein muss. Apples iMessage unterstützt darüber hinaus die Darstellung von GIF-Dateien standardmäßig.

Anzeige

Diese GIFs werden von Apple in einer Schleife dargestellt, statt diese nur einmal abzuspielen. Sämtliche Dateien mit der Endung .gif werden dazu noch vor der Darstellung in einen bestimmten Prozess ausgelagert, der die Datei nicht nur einfach kopiert, sondern mit Hilfe der Core-Graphics-API die Ausgangsdatei als neues GIF am Zielpfad rendert.

Die dazu genutzte I/O-Bibliothek versucht dabei, das eigentliche Dateiformat zu erkennen, statt sich auf die Korrektheit der Endung zu verlassen. So wird eine Datei mit einer gefälschten .gif-Endung plötzlich auch als eines von mehr als 20 anderen Dateiformaten untersucht. Im Fall des untersuchten Trojaners wird so ein PDF als fingiertes GIF verschickt, das iOS dann direkt untersucht.

Für den letztlich erfolgreichen Angriff nutzt Pegasus dann eine Sicherheitslücke im Parser für einen eher obskuren und vor allem sehr alten Teil des PDF-Standards. Dabei handelt es sich um den Kompressionsalgorithmus JBIG2, der zusätzlich zu PDFs auch im Fax zum Einsatz kommt und aus einer Zeit stammt, in der kaum Bandbreite zur Verfügung stand. Bekanntheit erlangte JBIG2 dadurch, dass auf bestimmten Geräten beim Scannen eines Dokuments als PDF Zahlen in dem Dokument vertauscht werden. Und das ist offenbar bei weitem nicht das einzige Problem mit JBIG2, wie nun die Analyse zeigt.

  1. Logikgatter im Turing-vollständigen Fax-Algorithmus
  1. 1
  2. 2