Xz Backdoor

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Grundsätzliches

  • Ein Backdoor in SSH wurde durch die Bibliotheken liblzma 5.6.0 und 5.6.1 in Debian und Fedora eingebaut
  • Es erlaubt dem Inhaber eines speziellen privaten Schlüssels Zugang zu jedem SSH-Server mit root-Rechten
  • Dieser Hack erforderte jahrelanges Social Engineering und der Payload wurde sehr ungewöhnlich versteckt
  • Die Entdeckung der Backdoor verdanken wir Andres Freund
  • Die Backdoor wird durch manipulierte Hooks in der lzma-Bibliothek zur Laufzeit aktiv und manipuliert SSH-Authentifizierungsmechanismen

Technische Details

  • Die Backdoor nutzt das Hooking-Prinzip, um sich in die OpenSSH-Verarbeitung einzuklinken
  • Beim Start eines betroffenen SSH-Servers wird eine Hintertür aktiviert, die auf einen speziellen privaten Schlüssel reagiert
  • Die Modifikation wurde in der liblzma-Bibliothek vorgenommen, welche als Abhängigkeit von OpenSSH eingebunden ist
  • Dadurch wird die SSH-Authentifizierung umgangen und ein direkter Root-Zugang ermöglicht
  • Die Payload ist stark verschleiert und war schwer zu entdecken
  • Der Code nutzte komplexe Kompressionsalgorithmen, um sich im System zu verbergen

Timeline

2005 - 2008

  • Lasse Collin entwickelt mit Hilfe einiger anderer das .xz-Dateiformat, welches den LZMA-Algorithmus für Komprimierung verwendet
  • Aufgrund der Effizienz der Komprimierung wächst die Verwendung der Software

2021

  • JiaT75 (Jia Tan) erstellt seinen GitHub-Account
  • Dieser Account ist verantwortlich für den Einbau der Backdoor
  • Bisher ist unbekannt, ob es sich dabei um eine einzelne Person oder eine Gruppe handelt

2022

  • Jia Tan erstellt einen harmlosen Patch
  • Eine Fake-Persona namens Jigar Kumar drängt Lasse Collin diesen Patch aufzunehmen
  • Die Idee, Jia Tan zum Co-Maintainer zu machen, wird Lasse Collin eingepflanzt

2023

  • Am 7. Januar 2023 scheint Jia Tan das volle Vertrauen erlangt zu haben, da er Patches in liblzma mergen darf
  • Die Testinfrastruktur für die spätere Backdoor wird in den Source-Code mit aufgenommen

2024

  • Am 9. März 2024 schreibt Jia Tan Code für anscheinend reguläre Softwaretests
  • Diese enthalten jedoch tief versteckt eine Backdoor für SSH-Server, welche liblzma als Abhängigkeit haben

Entdeckung

  • Ein Microsoft-Entwickler namens Andres Freund entdeckt die Backdoor aufgrund eines unerklärlichen CPU-Spikes bei neueren SSH-Server-Versionen
  • Diese plötzliche Beanspruchung an Ressourcen führt zu einer 500ms längeren Login-Dauer, was ihm verdächtig vorkam
  • Er untersucht den Source-Code und macht die Backdoor öffentlich bekannt
  • Security-Researcher analysieren daraufhin die Funktionsweise und das Ausmaß der Backdoor: https://gynvael.coldwind.pl/?lang=en&id=782

Schutzmaßnahmen

  • Systeme sollten sofort auf liblzma-Versionen vor 5.6.0 oder nach der bereinigten Version aktualisiert werden
  • OpenSSH-Server sollten auf verdächtige Anmeldeversuche überwacht werden
  • Die Verwendung von Signaturen zur Verifizierung von Open-Source-Code sollte verbessert werden
  • Distributionen sollten Prozesse zur Identitätsprüfung für Maintainer verschärfen
  • Regelmäßige Audits von Code mit weitreichenden Abhängigkeiten sind notwendig

Links