Die XZ-Backdoor unter Linux und die Bedeutung von Open-Source-Software
Quelloffener Code und ein wachsames Auge stoppten einen globalen Sicherheitsvorfall
Was ist passiert?
Setzen Sie sich hin und schnallen Sie sich an, denn diese Geschichte ist verrückt.
Im März 2024 untersuchte Andreas Freund, ein Microsoft-Mitarbeiter, einige Leistungsprobleme von Debian-sid. Er bemerkte, dass es eine große Anzahl von SSH-Verbindungen erzeugte, die eine abnormale Menge an CPU-Ressourcen verbrauchten. Bei näherer Betrachtung meldete er dieses Problem an das OpenWall-Projekt, woraufhin es von einer Reihe von Softwareanbietern zur weiteren Untersuchung aufgegriffen wurde.
Und siehe da, Herr Freund entdeckte ein verstecktes Stück Code, das von dem langjährigen Mitarbeiter Jian Tan in die neuesten Versionen 5.6.0 und 5.6.1 von XZ eingeschleust worden war.
Die in diesen Versionen enthaltenen Änderungen gefährden die Sicherheit des Betriebssystems und geben einem Angreifer vollständigen administrativen Zugriff.
Freund beschrieb die Entdeckung des groß angelegten Angriffs auf die Lieferkette ähnlich wie bei SolarWinds: Bei beiden waren “wirklich eine Menge Zufälle” nötig, um den potentiellen Angriff zu entdecken, so dass “es mir so vorkommt, als hätten wir hier einfach sehr, sehr viel Glück gehabt.”
Was der XZ-Backdoor-Code bewirkt
Der bösartige Code, der dem XZ Utils-Projekt heimlich hinzugefügt wurde, zielt auf sshd ab, eine ausführbare Datei, die für die Herstellung von SSH-Verbindungen aus der Ferne verwendet wird. Wenn ein Angreifer Zugriff auf den richtigen Verschlüsselungsschlüssel hat, kann er ihn zu SSH-Anmeldezertifikaten hinzufügen, sie übertragen und dann über die durch die Hintertür geschützten Geräte ausführen.
Die Verbindung zwischen der Kompressionssoftware XZ und SSH ist auf einen Patch in Debian und anderen Distributionen zurückzuführen, der eine Verbindung zwischen SSH und systemd herstellt. Systemd wiederum ist mit der LZMA-Bibliothek von XZ verknüpft, die den Weg von der XZ-Backdoor bis hin zum SSH-Zugang schafft.
Thomas Roccia hat eine detaillierte Infografik erstellt, die die genauen Schritte des Prozesses erklärt:
Besonders verblüffend an dieser Backdoor ist, wie ausgeklügelt sie ist und welche Schritte der Angreifer unternommen hat, um sich im Laufe der Jahre in das XZ-Projekt einzuschleusen, um genügend Zugang zu erhalten, um den Angriff durchzuführen. Nach dieser Entdeckung haben sich die Augen der Bedrohungsforscher auf einen Hauptverantwortlichen konzentriert, der unter dem Pseudonym Jian Tan auftritt.
Wer ist Jian Tan?
Gegenwärtig ist die wahre Identität des Nutzers, der unter dem Namen Jian Tan operiert, nicht bekannt. Forscher haben jedoch einige Hinweise gefunden. Jian Tan, der unter dem Benutzernamen JiaT75 operiert, schien erstmals im Jahr 2021 an dem XZ Utils-Code zu arbeiten. Dies ist kein Grund zur Beunruhigung, da XZ ein Open-Source-Projekt ist und jeder seine Hilfe bei der Verbesserung oder Beseitigung von Fehlern anbieten kann. Im Laufe der Jahre leistete Tan immer wieder kleine Beiträge zu dem Projekt, was seinen Ruf und sein Vertrauen in der Gemeinschaft, die sich um das Projekt gebildet hatte, stärkte.
Im Mai 2022 beschwerte sich ein unbekannter Nutzer unter dem Pseudonym Dennis Ens über ein kürzlich durchgeführtes Update. Daraufhin drängte ein weiterer Unbekannter unter dem Namen Jigar Kumar den Hauptentwickler von XZ Utils, einen neuen Maintainer (jemand, der den Quellcode für Open-Source-Projekte erstellt und organisiert) hinzuzufügen, damit die Entwicklung schneller voranschreiten kann. Dieser Druck führte schließlich dazu, dass Jian Tan als Maintainer in das Projekt aufgenommen wurde.
Mitte 2023 beantragte Tan die Deaktivierung eines öffentlichen Schwachstellenprüfers, der die Einführung des Backdoor-Codes ermöglichen würde.
Screenshot von Tans GitHub-Antrag, ifunc zu deaktivieren.
Nachdem er weiter an dem Projekt gearbeitet hatte, nahm Tan im Februar 2024 die letzten Versionsübertragungen für XZ Utils 5.6.0 und 5.6.1 vor, die die bösartige Hintertür enthalten.
Dieser langfristige Social-Engineering-Angriff gewann das Vertrauen einer Open-Source-Community, die Tan den Zugang verschaffte, den er brauchte, um den Angriff durchzuziehen. Aufgrund des hohen Zeitaufwands und des hohen technischen Niveaus der Backdoor vermuten einige Sicherheitsforscher, dass ein staatlich geförderter Akteur dahinter steckt.
Wie geht es für XZ weiter?
Die Webseite für XZ Utils befindet sich vollständig unter der Kontrolle des Hauptentwicklers Lasse Collin, und Jian Tan wurde vollständig aus dem Projekt entfernt. Die GitHub-Seite für das Projekt ist wieder online und Collin hat berichtet, dass das Repository derzeit überprüft wird und er plant, einen Artikel über den Vorfall zu veröffentlichen, sobald dies abgeschlossen ist.
Zum Zeitpunkt der Entdeckung wurde bestätigt, dass die folgenden Linux-Distributionen von der Hintertür betroffen sind:
- Arch Linux
- Debian testing, unstable und experimental Versionen 5.5.1alpha-01 bis 5.6.1-1
- Fedora 40 Beta, Fedora 41 und Fedora Rawhide
- Kali Linux
- openSUSE Tumbleweed und openSUSE MicroOS.
Homebrew, der Paketmanager für MacOS, benutzte 5.6.x, ist aber wieder zu XZ Utils 5.4.6 zurückgekehrt.
Wenn Sie überprüfen möchten, ob Sie eine zurückgesetzte Version von XZ Utils auf Ihrem Gerät haben, können Sie “xz —version” in Ihrem Terminal ausführen. Wenn Version 5.6.0 oder 5.6.1 installiert ist, wird empfohlen, auf Version 5.4.x zu wechseln.
Open Source ist die einzige Möglichkeit, sichere Software bereitzustellen
Wir hatten extremes Glück. Wäre das XZ Utils-Projekt privat gepflegt worden und hätte sich Freund gezwungen gesehen, ein Support-Ticket einzureichen, wären wir heute vielleicht in einer ganz anderen Lage. Der XZ-Backdoor-Vorfall ist ein perfektes Beispiel dafür, warum die Veröffentlichung von Open-Source-Software große Sicherheitsvorteile bietet. Nur wenn wir jedem Zugang zur Überprüfung des Quellcodes gewähren, haben Sicherheitsforscher die Chance, diese Art von Angriffen zu entdecken, bevor etwas Schreckliches passiert.
Open-Source-Software erhöht die Sicherheit für alle:
- Die öffentliche Überprüfung von Sicherheitscode bringt konstruktive Kritik von Experten aller Fachrichtungen und Hintergründe.
- Eine Gemeinschaft kann Fehler und Schwachstellen schneller erkennen als ein geschlossenes Entwicklungsteam.
- Die Stärkung des Vertrauens durch Transparenz gibt den Endbenutzern die Gewissheit, dass sie sich auf die Produkte verlassen können, die sie zum Schutz ihrer Daten auswählen.
Open-Source-Software ist ein entscheidender Aspekt jeder digitalen Sicherheit. Das Projekt XZ Utils wird von Unternehmensprodukten verwendet, und ohne die Möglichkeit einer Überprüfung durch die Gemeinschaft wäre dieser Insider-Angriff möglicherweise unbemerkt geblieben. Bei Closed-Source-Software haben nur ausgewählte Personen das Privileg, den Quellcode einzusehen, was letztlich dazu führt, dass Änderungen wie diese eher übersehen werden.
Große Technologieunternehmen haben zwar viele Entwickler in ihren Teams, die den Code einsehen, aber es gibt nie eine Garantie dafür, dass ein Mitarbeiter nicht wie Jian Tan versucht, bösartigen Code einzuschleusen. Open Source sorgt dafür, dass mehr Augen auf den Code gerichtet sind - was bedeutet, dass zusätzlich zu strengen Sicherheitsprotokollen und wiederholten Codeüberprüfungen mehr Augen mehr Probleme entdecken können. Gemäß dem Gesetz von Linus: Wenn es genug Augen gibt, sind alle Bugs oberflächlich.
Bei Tuta veröffentlichen wir unsere gesamten Verschlüsselungsprotokolle und den Client-Code als Open Source, damit unsere Nutzer darauf vertrauen können, dass wir unsere Sicherheitsversprechen einhalten. Unsere Verschlüsselung wird nicht nur von Kryptographieexperten entwickelt und getestet, sondern auch allen Sicherheitsforschern zum Testen und Überprüfen zur Verfügung gestellt. Vertrauen muss man sich verdienen, und indem wir unseren Code vollständig als Open Source veröffentlichen, beweisen wir, dass Tuta die beste verfügbare E-Mail-Sicherheit bietet.
Bleiben Sie sicher und viel Spaß beim Verschlüsseln.