Ende Februar entdeckte die Cybersicherheitswelt einen äußerst raffinierten Versuch, Linux-Systeme durch Ausnutzung von Schwachstellen in Open-Source-Software zu kompromittieren. Im Gegensatz zu typischen Angriffen, die Sicherheitslücken oder Fehlkonfigurationen ausnutzen, zielte dieser auf ssh ab, eine Kernkomponente, die häufig zur Verwaltung von Linux-Servern verwendet wird. Die Bedrohung bestand in einer strategischen Manipulation des Ökosystems der freien und quelloffenen Software (FOSS), die "Freiheit" und "kostenlose" Vorteile bietet, um den Angriff zu erleichtern.
Der Social-Engineering-Angriff: Das menschliche Vertrauen ausnutzen
Die Entstehung des Angriffs geht auf das Jahr 2021 zurück, als ein Nutzer namens Jia Tan unter dem GitHub-Konto JiaT75 begann, zu einer weit verbreiteten, aber scheinbar harmlosen Kompressionsbibliothek, liblzma, beizutragen. Mit der Zeit gewann Jia Tan das Vertrauen von Lasse Collins, dem ursprünglichen Entwickler, der das xz-Projekt seit seiner Gründung zwischen 2005 und 2008 im Alleingang betreut hatte. Als die Verantwortung für das Projekt immer größer wurde, gleichbedeutend mit einem unbezahlten Zweitjob, nutzte Tan dieses Vertrauen, um seine Privilegien im Repository zu erhöhen.
Parallel dazu bombardierten angebliche Sockenpuppen-Accounts, die mit Jia Tan in Verbindung stehen, Collins mit Forderungen und Kritik, was zu einer erheblichen Verschlechterung von Collins' psychischer Gesundheit führte. Durch diesen kalkulierten psychologischen Druck wurde Collins schließlich gezwungen, die Kontrolle über das Repository an Tan abzugeben, was den ersten entscheidenden Schritt bei der Implementierung durch die Hintertür darstellte.

Das technische Eindringen: Meisterhafte Code-Injektion
Mit der Kontrolle über das xz utils-Repository nutzten die Angreifer den "frei wie Freiheit"-Aspekt von FOSS, um bösartigen Code in das Projekt einzuschleusen. Dieser Teil der Operation zeigte die Gerissenheit der Angreifer, da sie die Backdoor an einem Ort einschleusten, der von Sicherheitsexperten und automatisierten Tools kontrolliert wird. Schwachstellen in kleinen FOSS-Projekten, die nur von einem Entwickler betreut werden, bleiben jedoch oft unbemerkt, obwohl sie in kommerziellen Anwendungen weit verbreitet sind.
Die Infektionskette war ausgeklügelt und darauf ausgelegt, verborgen zu bleiben. Sie umfasste die Verschleierung von Code und die Modifizierung von Build-Skripten, um kompromittierte Objekte einzuschließen, während diese gleichzeitig in die .gitignore-Datei aufgenommen wurden, so dass sie nicht so leicht entdeckt werden konnten. Insbesondere manipulierten die Angreifer die Datei CMakeLists.txt, um die Sandbox-Prüfung zu sabotieren und wichtige Sicherheitsmechanismen zu deaktivieren.
Wenn ein System das infizierte liblzma kompilierte, wurde die Bibliothek in den sshd-Daemon geladen. Sie fing dann bestimmte ssh-Verbindungen mit einem vorkonfigurierten öffentlichen ssh-Schlüssel ab und ermöglichte so die Ausführung von Remote-Code - eine schwerwiegende Sicherheitsverletzung mit einer Risikostufe von 10/10.
Entdeckung und Auswirkungen
Die Hintertür wurde eher zufällig von Andres Freund, einem Microsoft Postgres-Entwickler, entdeckt, der ungewöhnlich langsame SSH-Verbindungen untersuchte. Dieser Vorfall unterstreicht, wie wichtig robuste Sicherheitspraktiken sind, z. B. die Implementierung von IDS- oder IPS-Systemen zur Überwachung und Blockierung verdächtigen eingehenden Datenverkehrs.
Wie Sie überprüfen können, ob Ihr System kompromittiert ist
Um festzustellen, ob Ihr System von der XZ-Backdoor kompromittiert wurde, können Sie die folgenden Befehle verwenden:
- Prüfen Sie, ob die infizierte Bibliotheksversion vorliegt:
bash
strings $(which xz) | grep '5\.6\.[01]'
- Überprüfen Sie, ob OpenSSH die liblzma-Bibliothek lädt:
perl
lsof -p $(ps -aux | grep 'sshd' | grep 'listener' | awk '{print $2}') | grep '\.so' | grep 'liblzma'
Wenn diese Prüfungen das Vorhandensein der kompromittierten Versionen bestätigen, sind sofortige Maßnahmen zur Sicherung Ihrer Systeme erforderlich.
Zusätzliche Ressourcen
Detailliertere Einblicke und Methoden zu diesem Backdoor-Exploit finden Sie in der Infografik von Thomas Roccia.
- Zeitleiste der Ereignisse
- Technische Vertiefung
- FAQ
- Gelernte Lektionen
- Infektion Checker Tool
- Demonstrationswerkzeug
Die XZ-Backdoor-Episode ist eine deutliche Erinnerung an die Schwachstellen, die dem Open-Source-Ökosystem innewohnen, und an die Notwendigkeit eines wachsamen, mehrschichtigen Sicherheitsansatzes. Entwickler und Administratoren können ihre Systeme besser gegen solche heimtückischen Bedrohungen schützen, wenn sie informiert bleiben und proaktiv handeln.

