Xz Backdoor
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