Xz Backdoor: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „* 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 Sc…“) |
|||
| (7 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | [[Kategorie:Hacking]] | ||
| + | =Grundsätzliches= | ||
* Ein Backdoor in SSH wurde durch die Bibliotheken liblzma 5.6.0 und 5.6.1 in Debian und Fedora eingebaut | * 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 | * 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 | * Dieser Hack erforderte jahrelanges [[Social Engineering]] und der Payload wurde sehr ungewöhnlich versteckt | ||
| − | * Die Entdeckung der Backdoor verdanken wir [[https://www.openwall.com/lists/oss-security/2024/03/29/4 Andres Freund] | + | * Die Entdeckung der Backdoor verdanken wir [https://www.openwall.com/lists/oss-security/2024/03/29/4 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 [https://www.mail-archive.com/xz-devel@tukaani.org/msg00566.html 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 [https://gynvael.coldwind.pl/?lang=en&id=782 tief versteckt] eine Backdoor für SSH-Server, welche liblzma als Abhängigkeit haben | ||
| + | |||
| + | = Entdeckung = | ||
| + | * Ein Microsoft-Entwickler namens [https://www.openwall.com/lists/oss-security/2024/03/29/4 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 = | ||
| + | * https://www.openwall.com/lists/oss-security/2024/03/29/4 | ||
| + | * https://boehs.org/node/everything-i-know-about-the-xz-backdoor | ||
| + | * https://github.com/amlweems/xzbot | ||
| + | * https://tukaani.org/ | ||
| + | * https://gynvael.coldwind.pl/?lang=en&id=782 | ||
Aktuelle Version vom 9. März 2025, 06:14 Uhr
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