Analyse des xz-Backdoors
- Filippo Valsorda beobachtete, wie einige Leute das xz-Backdoor reverse-engineerten, und teilte erste Analyseergebnisse.
- Der Hook auf
RSA_public_decrypt verifiziert eine Signatur eines fest eingebetteten Ed448-Schlüssels über den Host-Key des Servers und liefert das Payload an das System.
- Dabei handelt es sich nicht um einen Authentifizierungs-Bypass, sondern um Remote Code Execution (RCE); sie ist nur einmal nutzbar und nicht replaybar.
Supply-Chain-Angriff
- Dieser Angriff könnte der am besten ausgeführte öffentlich beschriebene Supply-Chain-Angriff sein: bösartig, kompetent und im offiziellen Upstream einer weit verbreiteten Bibliothek erfolgt.
- Der Angriff scheint zufällig entdeckt worden zu sein, und man fragt sich, wie lange es sonst gedauert hätte.
Extraktion und Verifikation des Payloads
- Das Payload wird aus dem an
RSA_public_decrypt übergebenen N-Wert (öffentlicher Schlüssel) extrahiert, gegen einen einfachen Fingerprint geprüft und vor der Ed448-Signaturprüfung mit einem fest eingebetteten ChaCha20-Schlüssel entschlüsselt.
Die Funktion RSA_public_decrypt
RSA_public_decrypt führt die Signaturprüfung aus, auch wenn der Name seltsam klingen mag.
- Die Verifikation einer RSA-Signatur führt dieselbe Operation wie RSA-Verschlüsselung aus.
OpenSSH-Zertifikate und Kontrolle durch den Angreifer
- Der öffentliche Schlüssel für
RSA_public_decrypt kann vor der Authentifizierung mithilfe von OpenSSH-Zertifikaten vom Angreifer kontrolliert werden.
- OpenSSH-Zertifikate enthalten den öffentlichen Schlüssel des Unterzeichners, und OpenSSH prüft die Signatur beim Parsen.
Skript zum Senden eines benutzerdefinierten öffentlichen Schlüssels an das Backdoor-System
- Mit einem von Keegan Ryan geschriebenen Skript kann die Hook-Funktion genutzt werden, um einen benutzerdefinierten öffentlichen Schlüssel in ein Zertifikat einzubetten und so das Backdoor-System zu erreichen.
Sicherheitsmechanismen des Backdoors
- Das Backdoor kehrt zum normalen Verhalten zurück, wenn das Payload fehlerhaft ist oder die Schlüsselsignatur des Angreifers nicht verifiziert wird.
- Das bedeutet, dass sich – sofern kein Bug gefunden wird – kein zuverlässiger, wiederverwendbarer Scanner über das Netzwerk schreiben lässt.
Meinung von GN⁺
- Solche Backdoors stellen eine ernsthafte Bedrohung für die Systemsicherheit dar; insbesondere wenn sie in weit verbreitete Bibliotheken eingebracht werden, kann sich ihre Wirkung noch vervielfachen.
- Dass der Angriff zufällig entdeckt wurde, legt Schwachstellen in Sicherheitssystemen offen und unterstreicht, wie wichtig kontinuierliches Monitoring und Audits sind.
- Dieser Artikel kann helfen, das Bewusstsein für die Sicherheit der Software-Lieferkette zu schärfen, und Entwicklern wie Systemadministratoren als Warnsignal dienen.
- Um auf Sicherheitsbedrohungen wie Backdoors zu reagieren, ist der Einsatz von Open-Source-Sicherheitstools oder Schwachstellen-Scannern sinnvoll. Zum Beispiel können Tools wie OWASP ZAP oder Nessus nützlich sein.
- Bei der Einführung neuer Technologien oder von Open Source sollten Sicherheitsaspekte gründlich geprüft und geeignete Maßnahmen ergriffen werden, um Systeme vor solchen Angriffen zu schützen.
Noch keine Kommentare.