Das Cybersicherheitsunternehmen Kaspersky veröffentlichte im Juni dieses Jahres einen öffentlichen Bericht, in dem es hieß, dass die von einigen Mitarbeitern des Unternehmens verwendeten iPhones kompromittiert worden seien. Angreifer nutzten mehrere hochentwickelte Zero-Click-Schwachstellen, um iPhones zu infizieren und eine kontinuierliche Überwachung zu erreichen, ohne dass eine Interaktion des Opfers erforderlich war. Dieser Vorfall wurde von Kaspersky als IOSTriangulation bezeichnet. Nachdem die entsprechenden Schwachstellen Apple gemeldet wurden, veröffentlichte Apple Ende Juni mehrere Updates, um die Schwachstellen zu beheben.
Einzelheiten zu den relevanten Schwachstellen wurden zu diesem Zeitpunkt jedoch nicht bekannt gegeben. Schließlich brauchen iPhone-Upgrades Zeit. Im Allgemeinen verzögern Forscher die Veröffentlichung der Details der Schwachstellen, um zu verhindern, dass Angreifer die Gelegenheit nutzen, die Schwachstellen auszunutzen, während einige Benutzer noch kein Upgrade durchgeführt haben.
Seit der Veröffentlichung der Sicherheitslücke ist ein halbes Jahr vergangen. Auf dem letzten Chaos Communication Congress veröffentlichten Forscher des Kaspersky-Teams einen detaillierten Bericht und technische Details, um sie mit anderen Sicherheitsforschern zu teilen.
Die vom israelischen kommerziellen Spyware-Entwickler Pegasus der NSO Group ausgegrabene iMessage-Zero-Click-Schwachstelle gilt als eine der technisch ausgefeiltesten, und der Triangulationsangriff scheint auf dem gleichen beängstigenden Niveau zu sein, sagte Kaspersky.
Im Folgenden ist die vollständige von Kaspersky angekündigte Angriffskette aufgeführt, einschließlich vier 0-Day-Schwachstellen, die genutzt werden, um Root-Zugriff auf das Gerät des Opfers zu erhalten:
1. Der Angreifer sendet einen bösartigen iMessage-Anhang an den Zielbenutzer. Wenn das iPhone des Opfers die Nachricht empfängt, sendet iMessage keine Erinnerung und verarbeitet den Anhang automatisch.
2. Dieser bösartige Anhang nutzt die undokumentierte Sicherheitslücke CVE-2023-41990 zur Remotecodeausführung in Apples einzigartiger ADJUSTTrueType-Schriftartanweisung aus;
3. Der Schadcode verwendet Return-/Sprung-orientierte Programmierung und mehrere Stufen, die in der NSExpression/NSPredicate-Abfragesprache geschrieben sind, und verwendet dann die JavaScriptCore-Bibliotheksumgebung, um eine Rechteausweitung durchzuführen.
4. Die vom Angreifer ausgenutzte JavaScript-Sicherheitslücke wurde verschleiert, was dazu führte, dass der Code nicht lesbar war. Forscher fanden jedoch heraus, dass der Angreifer etwa 11.000 Codezeilen verwendete, hauptsächlich für JavaScriptCore- und Speicheranalysevorgänge;
5. Der Angreifer nutzt die JavaScriptCore-Debugging-Funktion DollarVM ($vm), um die Möglichkeit zu erlangen, den JavaScriptCore-Speicher aus Skripten zu manipulieren und native APIs auszuführen;
6. Um sowohl alte als auch neue iPhones zu unterstützen, hat der Angreifer außerdem eine Bypass-Funktion erstellt, die einen Zeigerauthentifizierungscode enthält, der auf den neuesten iPhones verwendet werden kann;
7. Angreifer nutzen die Ganzzahlüberlauf-Schwachstelle CVE-2023-32434 im XNU-Speicherzuordnungssystem aus, um auf Benutzerebene Lese-/Schreibzugriff auf den gesamten physischen Speicher des Geräts zu erhalten;
8. Angreifer nutzen Hardware-Speicherzuordnungs-E/A-Register, um die Seitenschutzschicht zu umgehen. Dieses Problem wurde durch CVE-2023-38606 entschärft;
9. Wenn alle Schwachstellen ausgenutzt werden, kann die JavaScript-Schwachstelle alles Mögliche gegen das Gerät anrichten, einschließlich der Ausführung von Spyware, aber der Angreifer entscheidet sich für Folgendes:
A. Starten Sie den IMAgent-Prozess und injizieren Sie eine Nutzlast, um Spuren von Exploits im Gerät zu beseitigen.
B. Führen Sie den Safari-Prozess im unsichtbaren Modus aus und leiten Sie ihn an die Webseite weiter, die in der nächsten Angriffsphase verwendet wird.
10. Die Webseite verfügt über ein Skript zur Verifizierung des Opfers. Wenn die Erkennung erfolgreich ist, geht es mit der nächsten Stufe weiter: Safari-Exploit;
11. Safari nutzt CVE-2023-32435 aus, um Shellcode auszuführen;
12. Der Shellcode führt einen weiteren Kernel-Schwachstellen-Exploit in Form einer Mach-Zieldatei aus. Es nutzt die gleichen Schwachstellen: CVE-2023-32434 und CVE-2023-38606. Dies unterscheidet sich grundlegend von der in JavaScript geschriebenen Kernel-Schwachstelle. Das Ziel wird jedoch auch für Speicheranalysevorgänge verwendet, die meisten Funktionen werden jedoch im späteren Stadium vom Angreifer nicht verwendet.
13. Der Exploit erhält Root-Rechte und fährt mit anderen Phasen fort, einschließlich dem Laden von Spyware usw.
Kaspersky sagte, dass die Angreifer fast jeden Aspekt der Angriffskette rückentwickelt hätten, was zeigt, dass die Ziele der Angreifer keine allgemeinen Ziele seien, das heißt, dass der Hauptzweck tatsächlich Spionage und politische Zwecke sein könnten.
Das Kaspersky-Team plant, im Jahr 2024 weitere Artikel zu Triangulationsangriffen zu veröffentlichen. Benutzer, die sich für diesen Artikel interessieren, sollten den Originalbericht von Kaspersky lesen, der eine Analyse jeder Schwachstelle enthält: https://securelist.com/operation-triangulation-the-last-hardware-mystery/111669/