Gefährliche Linux-Lücke: Wie ein entschlossener Programmierer weltweite Schäden verhinderte
Linux ist eines der beliebtesten Open-Source-Betriebssysteme. Am vergangenen Osterwochenende hätte es für das System aber einen herben Schlag geben können. Der freiwillige Programmierer Andres Freund hat glücklicherweise entdeckt, dass in Linux eine gravierende Sicherheitslücke schlummert. Sie hätte zahlreiche Systeme unbemerkt in Gefahr bringen können.
Wo gab es die Sicherheitslücke in Linux?
Die Schwachstelle fand Freund innerhalb von „XZ Utils“, einem Tool, das große Dateien von Linux-Distributionen komprimiert, wie Ars Technica berichtet. So können die Daten einfacher transferiert werden.
Eigentlich ist Andres Freund ein Entwickler für die Linux-Datenbank PostgreSQL. Doch während einiger Tests stellte er fest, dass verschlüsselte SSH-Logins in „liblzma“, ein Teil der XZ-Datenbank, zu erhöhter CPU-Nutzung führte.
Die hohe CPU-Auslastung kam selbst zustande, wenn der SHH-Login in die Datenbank aufgrund eines falschen Passworts fehlschlug. Nach einiger Recherche stellte der Programmierer fest, dass sich schädlicher Code in dem Programm versteckte.
Darüber wären Angreifer:innen in der Lage gewesen, den verschlüsselten SSH-Login zu übernehmen und sich somit Zugang zum gesamten System zu verschaffen. Die gravierende Sicherheitslücke meldete Freund sofort.
Welche Linux-Versionen waren betroffen?
Glücklicherweise wurde der Code bis zu seiner Entdeckung nur in wenigen Linux-Versionen freigeschaltet. „XZ Utils“ muss von Nutzer:innen manuell installiert werden und ist nicht Teil von Linux-Distributionen. Für die Betaversionen von Red Hat und Debian stand bereits das Update des Tools mit dem Schadcode bereit.
Nutzer:innen der betroffenen Versionen wurden direkt informiert und die Updates zurückgenommen. Da es sich aber nur um Testversionen von Linux handelte, dürften nur wenige Systeme dem Schadcode ausgesetzt gewesen sein.
Hätte Freund die Sicherheitslücke nicht entdeckt, wäre das Update mittelfristig für alle Linux-Versionen verfügbar gewesen und hätte womöglich Millionen Linux-Systeme in Gefahr gebracht.
So kam es wohl zu dem schädlichen Code
Der Code wurde laut Freund von einem oder einer Entwickler:in namens „JiaT75“ oder „Jia Tan“ übermittelt. Der oder die User:in ist bereits mehrere Jahre am Projekt beteiligt. Freund behauptet: „Durch die Aktivitäten über mehrere Wochen ist der Übermittler entweder direkt involviert oder sein System wurde stark kompromittiert.“ Laut Freund wäre die letzte Option aber unwahrscheinlich, da „JiaT75“ immer wieder die veröffentlichten „Problemlösungen“ in Foren prominent kommunizierte.
Zudem soll „JiaT75“ den ursprünglichen Entwickler des .xz-Dateiformates, Lasse Collin, mit Fake-Accounts bedrängt haben, um einen Platz als Mitentwickler:in zu bekommen. Collin wurde immer wieder von angeblichen Linux-User:innen angeschrieben und gedrängt, die Entwicklung in andere Hände zu geben. Er hatte zu diesem Zeitpunkt mentale Probleme und konnte sich dem Hobby-Projekt nicht weiter widmen. Nach etlichen Nachrichten gab Collin nach und setzte „JiaT75“ mit auf die Liste derer, die an der Entwicklung des .xz-Dateiformats mitwirken durften.
Mittlerweile haben es sich zahlreiche Entwickler:innen zur Aufgabe gemacht, die Identität von „JiaT75“ im Internet herauszufinden. Zum Zeitpunkt dieser Nachricht sind sie noch nicht hinter den Namen oder die Absichten gekommen.