Der xz-Utils-Backdoor-Vorfall: Was wir über den Fall wissen, der beinahe die ganze Welt infiziert hätte
- xz Utils ist ein Datenkomprimierungsprogramm, das auf Linux sowie auf fast allen Unix-ähnlichen Betriebssystemen installiert ist.
- In diese Software wäre beinahe durch ein bösartiges Update eine Backdoor eingeschleust worden.
- Ein Microsoft-Entwickler entdeckte diese Backdoor und machte sie öffentlich, wodurch eine Krise kurz vor der Aufnahme in wichtige Linux-Distributionen wie Debian und Red Hat verhindert wurde.
Wie funktioniert die Backdoor?
- Der bösartige Code, der in den Versionen 5.6.0 und 5.6.1 hinzugefügt wurde, manipuliert
sshd, also die ausführbare Datei für SSH-Verbindungen.
- Eine Person mit einem bestimmten kryptografischen Schlüssel kann Code in einem SSH-Login-Zertifikat verstecken, hochladen und auf einem Gerät mit installierter Backdoor ausführen.
- Welche Art von Code tatsächlich hochgeladen wurde, ist nicht bekannt, theoretisch wären jedoch verschiedene Aktionen wie das Stehlen von Schlüsseln oder die Installation von Malware möglich.
Wie die Backdoor eingeschleust wurde
- Die Backdoor scheint über mehrere Jahre hinweg vorbereitet worden zu sein.
- 2021 trug ein Nutzer namens JiaT75 erstmals zu einem Open-Source-Projekt bei.
- Im Januar 2023 leistete JiaT75 den ersten Beitrag zu xz Utils und übernahm später unter dem Namen Jia Tan schrittweise immer mehr Aufgaben.
- Tan ersetzte im
oss-fuzz-Projekt die Kontaktinformationen von Collins durch die eigenen und bat darum, die ifunc-Funktion bei Tests zu deaktivieren.
- Diese Änderungen erschwerten die Erkennung bösartiger Änderungen, die Tan an xz Utils vornahm.
Betroffene Distributionen
- Fedora Rawhide, Fedora 41, Debian Testing/Unstable/Experimental, openSUSE Tumbleweed und MicroOS sowie Kali Linux enthielten xz-Versionen mit der Backdoor.
Meinung von GN⁺
- Dieser Vorfall legt Sicherheitslücken im Open-Source-Ökosystem offen und dient als Weckruf für die Entwickler-Community.
- Da die kompromittierte Software weit verbreitet ist, erinnert der Vorfall Linux-Nutzer und -Administratoren an die Bedeutung schneller Updates und von Sicherheitsprüfungen.
- Ein ähnlicher Fall war der SolarWinds-Hack, der ebenfalls die Risiken von Supply-Chain-Angriffen zeigte.
- Es ist notwendig, die Identität von Entwicklern, die zu Open-Source-Projekten beitragen, zu verifizieren und die Code-Review-Prozesse zu stärken.
- Es ist zu erwarten, dass dieser Vorfall die Bedeutung von Sicherheitsaudits und Tools zur Erkennung von Schwachstellen noch stärker hervorheben wird.
1 Kommentare
Hacker-News-Kommentare
OpenSSH ist die populärste
sshd-Implementierung und ist nicht mit der Bibliothekliblzmaverknüpft, aber Debian und viele andere Linux-Distributionen fügen Patches hinzu, diesshdansystemdanbinden.systemdist mitliblzmaverknüpft, wodurch xz Utilssshdbeeinflussen konnte.XZ ist ein Open-Source-Komprimierungsprogramm und eine Bibliothek, die dabei hilft, eigene Programme zum Umgang mit komprimierten Daten zu schreiben. Es wird von vielen anderen Programmen verwendet, darunter OpenSSH.
Auch GNU
binutilsist mitliblzmaverknüpft und wird noch breiter eingesetzt als OpenSSH. In den meisten Fällen wirdbinutilszum Kompilieren von OpenSSH, des Betriebssystems, auf demsshdläuft, und Ähnlichem verwendet. Das deutet darauf hin, dass sich böswillige Akteure ein gutes Projekt ausgesucht haben, um tief in Open-Source-Software einzudringen.Das Ziel ist, ein standardisiertes Test-Framework zu verwenden, das dabei hilft, mehr Tests zu schreiben, um die Stabilität des XZ-Projekts langfristig zu unterstützen. Viele Funktionen sind noch nicht getestet, daher wären solche Tests nützlich.
Es gab nicht viele Diskussionen über den Linking-Mechanismus, der sich an die Funktion
RSA_public_decrypthängen konnte. Es gab viele Diskussionen darüber, was sich durch Prozessisolation und Ähnliches erreichen ließe, aber wenig über diese Umleitung des Funktionsaufrufs. Es wird die Frage aufgeworfen, ob sich eine Möglichkeit schaffen lässt, wichtige Komponenten in einer Trust-Tier-Struktur zu verknüpfen.Es heißt, die Welt sei "fast" infiziert worden, aber tatsächlich haben populäre Linux-Distributionen wie Arch, Gentoo und openSUSE Tumbleweed die Backdoor wochenlang ausgeliefert, und auf Tumbleweed funktionierte sie definitiv. Die Formulierung "fast" ist unpassend.
Die Prognose lautet, dass innerhalb der nächsten 12 Monate ein ähnlicher Fall entdeckt wird. Es werde damit beginnen, dass Maintainer anfangen, die früheren Commits der jeweils anderen zu misstrauen.
Persönliche Lehren aus diesem Vorfall:
autotoolsund dieautotools-Kultur sind schlecht.libsystemdverursacht Probleme im Ökosystem. Menschen, diesystemdkritisieren, werden oft abgetan, abersystemdist groß, komplex und hat viele Abhängigkeiten, und die meisten Programme verwenden nur einen kleinen Teil davon.liblzmaundxz-utilslaufen auf zig Millionen Installationen, werden aber von einem einzelnen Maintainer mit psychischen Problemen betreut.Es wird Dank dafür ausgedrückt, dass die Person, die das Problem entdeckt hat, ein Microsoft-Ingenieur war, der an Azure Postgres arbeitet. Dadurch gefällt einem Azure jetzt.
Der ursprüngliche xz-Maintainer hat die Verantwortung an Jia Tan übergeben, ihn aber möglicherweise nie persönlich getroffen oder mit ihm telefoniert. Es wird infrage gestellt, ob es üblich ist, ausschließlich über E-Mail/GitHub zu kommunizieren. Nach dieser Geschichte wird erwartet, dass Maintainer von Open-Source-Projekten vorsichtiger werden.
Während manche denken, diese Backdoor sei früh entdeckt worden, könnte sie ihr Ziel bereits erreicht haben. Das gilt umso mehr, wenn Entwickler, die Rolling-Release-Distributionen wie Kali und Debian verwenden, das Ziel waren.
Es wird angedeutet, dass die Behauptung, der langjährige xz-Utils-Maintainer Lasse Collin habe die Software nicht häufig genug oder nicht schnell genug aktualisiert, ein Irrtum war.