XZ-Backdoor: Ein Agentenkrimi

10.04.2024
Falk Krämer

Das Wichtigste vorneweg, unsere Produkte sind nicht betroffen*

Was ist passiert?

In SSH, einem der wichtigsten Administrations-Tools, wäre beinahe eine Hintertür in nahezu alle bedeutenden Linux-Distributionen gelangt[1].

Die Geschichte

Seit 2009 führt Jesse Collin, als einziger Entwickler ein Open-Source-Projekt für eine Bibliothek, die Daten komprimiert. Er ist überfordert und psychisch angeschlagen. 2021 bietet ihm ein Entwickler unter dem Namen Jia Tan Unterstützung an. Er erschleicht sich sein Vertrauen und kann dadurch immer mehr Kontrolle über das Projekt übernehmen. Er nutzt dies aus, um eine Backdoor einzubauen, die dann im Januar 2024 in die Release-Version Einzug hält. Die Hintertür ist „nur“ zugänglich, wenn die Komprimierungsbibliothek von einem SSH-Server eingebunden wird.

Anschließend übten verschiedene Personen subtilen Druck auf die Distributionen aus, dass die neue Version doch mit aufgenommen wird. Dies geschah zwar, aber bis zur Entdeckung der Hintertür, fand die kompromittierte Version nur Einzug in die Vorabversionen. Größerer Schaden wurde so vermieden.

Szenenwechsel: Andres Freund, ein PostgreSQL-Entwickler mit deutschen Wurzeln, führt in seiner Freizeit Performance-Tests durch. Er machte ein „Micro-Benchmarking“, wie er sagte, um das „Rauschen“ zu reduzieren. Dabei stellte er fest, dass sich zwischen zwei Versionen von SSH die Systemlast bei einer Anmeldung leicht erhöht hat und der Vorgang ca. 500 ms länger brauchte als zuvor. Akribisch ging er der Sache weiter auf den Grund und stieß auf weitere Verdächtigkeiten. Mit seinen Erkenntnissen ging er an die Öffentlichkeit, teilte sein Wissen mit Sicherheitsexperten.

Schnell wurden die Puzzlestücke zusammengesetzt. Es stellte sich heraus, dass recht perfide, eine Hintertür eingebaut wurde. Sie wurde nicht im Code der Bibliothek eingeführt, sondern in den Testing-Routinen. Diese erfahren nur wenig Beachtung und werden für ein Release-Paket normalerweise nicht mitkompiliert. In diesem Fall hatte aber Jia Tan dafür gesorgt, dass der kompromittierte Code auch in die fertigen Pakete einfließt.

*Warum wir nicht betroffen sind:

  • Wir kompilieren alles selber. Der Testing-Code kann sich bei uns prinzipbedingt nicht einschleichen.
  • Die betroffene Version ist bei Debian noch unstable/testing. Wir folgen Debian stable bzw. oldstable.
  • systemd ist zum Ausnutzen der Hintertür notwendig, was wir nicht verwenden.

Quellen:

[1]: Heise berichtete: https://www.heise.de/hintergrund/>Die-xz-Hintertuer-das-verborgene-Oster-Drama-der-IT-9673038.html
[2]: Video mit guter Erklärung und weiteren Hintergründen: https://www.youtube.com/watch?v=CQcv6f1qKA4
[3]: Blog-Eintrag mit vielen Links zu den Spuren, engl.: https://boehs.org/node/everything-i-know-about-the-xz-backdoor
[4]: Kevin Beaumont, ein anerkannter Sicherheitsforscher, beurteilt die Lage: https://doublepulsar.com/inside-the-failed-attempt-to-backdoor-ssh-globally-that-got-caught-by-chance-bbfe628fafdd