Zum Inhalt springen

XZ Utils

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 16. November 2025 um 19:22 Uhr durch imported>WikiHelper232 (Wird nicht mehr verwendet.).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
XZ Utils

[[Datei:Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)|150px]]
Basisdaten

Maintainer Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Entwickler Tukaani Project (Slackware)
Erscheinungsjahr Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
Aktuelle Version Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Aktuelle Vorabversion Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)
(Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value))
Betriebssystem Unix-ähnliche (BSD, Linux, Solaris)
Programmier­sprache C
Kategorie Datenkompressionsprogramm
Lizenz großteils gemeinfrei
https://tukaani.org/xz/

Die XZ Utils sind eine Sammlung freier Archivierungsprogramme für unixoide Systeme. Sie entstanden im Rahmen des Tukaani Project der Linux-Distribution Slackware.

Der Datenkompressionsalgorithmus basiert auf einer angepassten Portierung des LZMA-Codes des LZMA-SDK auf Linux und anderen Unix-ähnlichen Plattformen.

Der Quelltext ist größtenteils gemeinfrei, ansonsten unter verschiedenen Freie-Software-Lizenzen.

Funktionsumfang

Die XZ Utils bieten die von den etablierten Linux-Packprogrammen gzip und bzip2 gewohnte Handhabung gepackter Dateien für den fortschrittlichen Lempel-Ziv-Markow-Datenkompressionsalgorithmus (LZMA) sowie ermöglichen dessen Integration in andere Programme. Dazu haben sie eine sehr ähnliche Bedienung, erledigen ebenfalls das Archivieren mehrerer Dateien nicht selbst, sondern setzen dafür auf die Kombination mit reinen Archivformaten wie tar und führen auch ein neues Dateiformat mit vergleichbaren Eigenschaften (xz, siehe unten) ein.

Die Kompression ist effizienter, aber meist erheblich langsamer als die Kompression mit gzip, bzip2 oder rar, führt dafür jedoch zu um 30 % bzw. 15 % kleineren Ergebnissen als bei gzip bzw. bzip2. Bei LZMA-basierter Kompression ergeben sich mit ausreichend Arbeitsspeicher von den Kompressionseinstellungen weitgehend unabhängige, gleichbleibende Dekompressionszeiten, die in der Regel deutlich unter den variierenden Zeiten von bzip2 liegen, jedoch im Vergleich mit gzip deutlich zurückbleiben.<ref>https://tukaani.org/lzma/benchmarks.html</ref>

Die XZ Utils bestehen aus mehreren einzelnen Werkzeugen zur Handhabung von xz-Dateien:

xz
ein Kommandozeilenprogramm, das analog zu gzip oder bzip2 arbeitet und ein nachempfundenes Bedienungskonzept hat
liblzma
eine Programmbibliothek mit einer Programmierschnittstelle, die sich an die der zlib anlehnt
xzdec
ein reines Dekompressionswerkzeug

Weiterhin gibt es eine Sammlung von Shell-Skripten zur Erleichterung des Umgangs mit xz-Dateien.
Dadurch stehen die Befehle xz, unxz, xzcat und xzgrep (bzw. zur Abwärtskompatibilität zu den älteren LZMA Utils auch lzma, unlzma, lzcat und lzgrep) zur Verfügung.

Datenformat

Die XZ Utils (wie auch die LZMA Utils) können mit dem 7z-Datenformat der LZMA-Referenzimplementierung(en) (7-Zip, LZMA SDK) nicht umgehen. Sie erzeugen Dateien im eigenen xz-Format, das analog zum gz- und bz2-Format funktioniert. Umgekehrt können 7-Zip und das LZMA SDK seit den 9er-Versionen aber auch xz-Dateien öffnen.

Geschichte

Das Projekt begann unter dem Namen LZMA Utils als eine Unix-Portierung des LZMA-Codes aus dem LZMA-SDK, welche nur rohe LZMA-Ströme ohne jegliche Kopfdaten erzeugte. Die XZ Utils können das Verhalten der Kommandozeilenprogramme der LZMA Utils emulieren und dessen Dateien öffnen. Die Umbenennung geschah am 31. Dezember 2008 mit Version 4.999.7beta. Seither wird auch das Dateiformat (xz) nicht mehr verändert. Seitdem es mit xz auch ein passendes Containerformat hat, ist es nach lzip die zweite Komplettlösung zur Nutzung von LZMA in Unix-Manier und hat diesem gegenüber mittlerweile schon größere Verbreitung erlangt.

Als das LZMA SDK (von dem die XZ Utils abgeleitet sind) mit Version 4.61 beta vom 23. November 2008 gemeinfrei wurde, wurde infolgedessen auch die Lizenz der XZ Utils entsprechend umgestellt.

Plattformen

Die XZ Utils sind für diverse Linux-Distributionen erhältlich. Als Binärpaket sind sie unter anderem als .deb-Paket sowie .rpm-Paket verfügbar. Damit kann die Software bei den meisten Linuxdistributionen problemlos installiert werden. Pakete sind zum Beispiel für Debian, Ubuntu, Gentoo, Mandriva, openSUSE sowie Red Hat verfügbar.

Auch für BSD-Betriebssysteme existieren Binärpakete. Alternativ können Benutzer von BSD-Betriebssystemen wie OpenBSD, NetBSD, FreeBSD, DragonFly BSD die Software auch durch das Port-System installieren.

Ab Version 4.999.8beta gibt es auch experimentelle Unterstützung für Windows.

Backdoor

Am 29. März 2024 wurde eine Backdoor in XZ Utils in den Versionen 5.6.0 und 5.6.1 bekannt.<ref name="Freund">Andres Freund: Backdoor in upstream xz/liblzma leading to ssh server compromise. In: oss-security. Openwall, 29. März 2024, abgerufen am 30. März 2024 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref name="Boehs">Evan Boehs: Everything I know about the XZ backdoor. Abgerufen am 31. März 2024 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref name="heise-9671317" /> Die Sicherheitslücke erhielt den CVE-Eintrag CVE-2024-3094 mit der höchsten Bedrohungsstufe von 10.<ref>nvd – Cve-2024-3094. In: nist.gov. nvd.nist.gov, abgerufen am 31. März 2024.</ref> Diese Backdoor ermöglichte es Angreifern, via SSH unbefugten Code auf infizierten Systemen auszuführen.<ref name="heise-9671317" />

Betroffene Linux-Distributionen waren unter anderem Debian unstable/testing,<ref name="security-tracker">Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig CVE-2024-3094.] In: security-tracker.debian.org. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 30. März 2024 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Fedora Rawhide,<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Urgent security alert for Fedora 41 and Fedora Rawhide users.] In: www.redhat.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 30. März 2024 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Gentoo Linux,<ref>Bug 928134 (CVE-2024-3094) - >=app-arch/xz-utils-5.6.0: backdoor in release tarballs. Abgerufen am 1. April 2024.</ref> Kali Linux<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig All about the xz-utils backdoor | Kali Linux Blog.] In: Kali Linux. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 30. März 2024 (english).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> und OpenSUSE Tumbleweed.<ref name=":0" /> Nicht betroffen waren zum Beispiel Debian stable,<ref name="security-tracker" /> Red Hat Enterprise Linux<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig cve-details.] In: access.redhat.com. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 30. März 2024 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> oder SUSE Linux Enterprise.<ref name=":0">Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig openSUSE addresses supply chain attack against xz compression library.] In: openSUSE News. , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 30. März 2024 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Bei der Rolling Release Distribution Arch Linux war die bis 28. März im Paket enthaltene Payload unschädlich.<ref>Arch Linux – News: The xz package has been backdoored. Abgerufen am 31. März 2024: „Arch does not directly link openssh to liblzma, and thus this attack vector is not possible.“</ref><ref>Russ Cox: Timeline of the xz open source attack. Abgerufen am 4. April 2024 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Da die Backdoor rechtzeitig gefunden wurde, hatte die kompromittierte Version noch nicht Einzug in die stabilen Versionen der meisten Distributionen gehalten. Andernfalls wären zahlreiche Server betroffen gewesen – dies wird vielfach als Albtraumszenario der IT-Sicherheit bezeichnet.<ref>oss-security – Re: backdoor in upstream xz/liblzma leading to ssh server compromise. Abgerufen am 31. März 2024.</ref>

Die Sicherheitslücke fiel auf, als der deutsche Software-Ingenieur Andres Freund<ref name="dpa">BSI warnt vor gravierender Sicherheitslücke. 5. April 2024, abgerufen am 7. April 2024.</ref> von Microsoft ungewöhnlich hohe CPU-Auslastungen und eine unerklärliche Verzögerung von 500 Millisekunden bei SSHD-Prozessen bemerkte,<ref name="Roose">Kevin Roose: Did One Guy Just Stop a Huge Cyberattack? In: The New York Times. 3. April 2024, abgerufen am 4. April 2024 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> die eigentlich aufgrund falscher Benutzernamen sofort hätten scheitern sollen. Eine tiefergehende Untersuchung mit Profiling-Tools zeigte, dass diese Auslastung durch außergewöhnliche Aktivitäten in der liblzma-Bibliothek verursacht wurde, ohne dass diese Aktivitäten einem spezifischen Symbol zugeordnet werden konnten. Diese Anomalie, kombiniert mit früheren, unerklärlichen Valgrind-Warnungen nach Paketaktualisierungen, weckte Verdacht. Die nachfolgende, detaillierte Analyse der xz-Codebasis und der kürzlichen Änderungen deckte schließlich die Backdoor auf. Als Reaktion auf diese Entdeckung wurde das offizielle GitHub-Repository des Projekts gesperrt, um eine weitere Verbreitung der kompromittierten Softwareversionen zu verhindern.<ref name=":0" />

Eingebaut wurde die Lücke durch eine Person mit dem Benutzernamen Jia Tan (GitHub-Account JiaT75). Diese hatte sich seit 2021 in dem Projekt engagiert, mutmaßlich um sich damit dort Vertrauen zu erschleichen. Zugleich übten andere Benutzer mit vermutlich falschen Identitäten Druck auf den ursprünglichen Maintainer aus, sodass dieser Jia Tan 2023 immer weitergehende Zugriffsrechte einräumte.<ref name="Boehs" /> Aufgrund des aufwändigen und langfristigen Vorgehens wird vermutet, dass hinter Jia Tan ein staatlicher Akteur steht.<ref name="heise-9671317">Christopher Kunz: Hintertür in xz-Bibliothek gefährdet SSH-Verbindungen. In: heise online. 30. März 2024, abgerufen am 31. März 2024.</ref> Für eine nachrichtendienstliche Operation spreche, dass die Hintertüre nur mit einem bestimmten Schlüssel erreichbar war, der sicher stellte, dass zum Beispiel Cyberkriminelle oder andere Staaten die kompromittierten Systeme nicht ausspionieren oder gefährden konnten.<ref>Lukas Mäder, «Das ist der verrückteste Angriff»: Ein Programmierer entdeckt per Zufall eine gefährliche Hintertüre im Code - wohl von einem Geheimdienst, in Neue Zürcher Zeitung vom 4. April 2024</ref>

Die New York Times verglich Freund mit einem Bäckerei-Arbeiter,<ref name="Roose" /> der „an einem frisch gebackenen Brot riecht und spürt, dass etwas nicht stimmt und zu dem Schluss kommt, dass jemand die gesamte weltweite Hefeversorgung manipuliert hat“.

Siehe auch

  • p7zip ist die direkte Portierung der Kommandozeilenwerkzeuge von 7-Zip auf unixoide Betriebssysteme

Weblinks

Einzelnachweise

<references />