Geheimdienst-Kampagne aufgedeckt Software-Entwickler verhindert Super-GAU fürs Internet

Von Dirk Jacquemien

8.4.2024

Server laufen heutzutage fast ausschliesslich mit Linux.
Server laufen heutzutage fast ausschliesslich mit Linux.
Bild: Imago

Die wohl gefährliche Sicherheitslücke aller Zeiten wurde absichtlich erschaffen und nur durch Zufall aufgedeckt. Ein unscheinbarer Entwickler hat die Welt damit vorm Cybersicherheits-Super-GAU bewahrt.

Von Dirk Jacquemien

8.4.2024

Keine Zeit? blue News fasst für dich zusammen

  • Nur durch einen Zufallsfund wurde der Super-GAU für das Internet verhindert.
  • Mutmasslich ein Geheimdienst hatte eine Hintertür in Linux versteckt, mit der er die Kontrolle über fast alle Server im Netz hätte übernehmen können.
  • Damit nutzten die Angreifer*innen die offene Struktur von Linux gnadenlos aus und setzten einen Entwickler mit einer Psycho-Kampagne unter Druck. 

Eine raffinierte Hintertür, die tief in Linux versteckt wurde, hätte beinahe fast das gesamte Internet angreifbar gemacht. Nur ein Zufallsfund, den der Microsoft-Entwickler Andres Freund in seiner Freizeit machte, verhinderte den Cybersicherheit-Super-GAU.

Die Hintertür war offenbar das Resultat einer jahrelangen Kampagne, die höchstwahrscheinlich von einem Geheimdienst durchgeführt wurde. Dabei setzten die unbekannten Angreifer*innen sowohl ihre umfangreichen technischen Fähigkeiten als auch psychologische Manipulation ein.

Versteckt in unscheinbarem Programm

Eingebaut wurde die Hintertür im unscheinbaren Linux-Programm XZ Utils. Das ist ein Komprimierungsprogramm, ähnlich wie das von Windows bekannte ZIP. Die zu einem Linux-Programm gehörenden Dateien werden standardmässig mit XZ Utils verkleinert und dann als ein Paket an die Nutzer*innen verteilt.

Die Angreifer*innen hatten XZ Utils so manipuliert, dass bei dem Komprimierungsvorgang eine Hintertür eingebaut wird, allerdings nur bei einem einzigen Programm, OpenSSH.

Zugriff auf Server von CIA und Google

OpenSSH wird verwendet, um sich aus der Ferne über das Internet in einen Server einzuloggen. Da kaum ein*e Systemadministrator*in mit Tastatur und Monitor neben den Servern hockt, ist OpenSSH die häufigste Methode, um einen Server zu verwalten. Wenn du die Kontrolle über eine Hintertür in OpenSSH hast, stehen dir quasi alle Linux-Server auf der Welt sperrangelweit offen. Du kannst dann dort gespeicherte Daten unbemerkt stehlen oder den Server ausser Gefecht setzen.

Und Linux ist der Motor des Internets. Ob Google, Bundesverwaltung oder CIA, sie alle setzen bei ihren Servern auf Linux. Wenn du also Spionage oder Cyberkriegsführung im wirklich grossem Stile betreiben willst, ist die Kontrolle über eine Linux-Hintertür viel wertvoller als eine Hintertür bei Windows.

So wurde die Hintertür eingebaut

Um zu verstehen, wie die Hintertür ihren Weg in Linux finden konnte, ist ein wenig Grundwissen über die Struktur des Open-Source-Betriebssystems nötig. Neben dem eigentlichen Kern des Betriebssystems, dem Kernel, ist Linux im Grunde eine Ansammlung von Tausenden kleinen Programmen, die häufig nur von ein, zwei Personen unbezahlt und ihrer Freizeit gepflegt werden.

Das ist vielfach auch ausreichend, da die Programme jeweils eine Nischenaufgabe in Linux haben, für die nicht ständig grosse, arbeitsintensive Updates erforderlich sind. Bei XZ Utils war die verantwortliche Person, der sogenannte Maintainer, seit knapp 15 Jahren der finnische Entwickler Lasse Collin.

Freiwilliger wird unter Druck gesetzt

Doch 2022 geriet Collin unter Stress. Er bekam plötzlich eine Flut an Änderungsvorschlägen für XZ Utils, zusammen mit bereits fertig geschriebenen Quellcodes. Das ist eigentlich durchaus erwünschtes Verhalten in der Open-Source-Community. Programmier*innen schicken ihren Code an die Maintainer, die ihn überprüfen und dann gegebenenfalls ins Programm einbauen.

Collin allerdings war in der Zeit privat ausgelastet und kam mit diesen Prüfungen nicht nach. Dann wurde in der Mailingliste zu XZ Utils öffentlich Druck auf ihn ausgeübt. Bisher nicht im Projekt aktive Personen forderten Collin auf, doch die Kontrolle über XZ Utils abzugeben, wenn er überlastet sei. Im Nachgang ist offensichtlich, dass es sich hierbei um fiktive Gestalten handelte. Deren Mission war es, Collin psychisch zu manipulieren und den Boden für den nächsten Teil der Kampagne zu bereiten. 

Ein «Retter» taucht auf

Kurze Zeit später tauchte dann nämlich auch eine Person mit dem Namen «Jia Tan» auf. Dieser gab sich hilfreich, unterstützte Collin bei der Arbeit an XZ Utils und erschlich sich dessen Vertrauen. In der Mailingliste kamen dann Vorschläge, die Maintainer-Funktion an «Jia Tan» zu übertragen. Das tat Collin dann 2023 auch.

Nun konnte «Jia Tan» selbst und ohne Kontrolle durch andere Änderungen am Quellcode von XZ Utils vornehmen. In der im März 2024 veröffentlichten Version 5.6.0 versteckte er dann die Hintertür in einer vorgeblichen Testdatei.

Geheimdienst muss dahinterstecken

Die über zwei Jahre lang andauernde Kampagne hatte ihr Ziel erreicht. Die an den Tag gelegte Komplexität und Ausdauer lassen eigentlich nur den Schluss zu, dass der Geheimdienst eines Staates dahintersteckt. Hobbyhacker*innen oder auch kriminelle Gruppen haben die dafür nötige Geduld in der Regel nicht.

Über die Urheber lässt sich nur spekulieren. Der Name «Jia Tan» deutet natürlich auf China hin, aber freilich können sich genauso gut Geheimdienste andere Staaten ein chinesisches Pseudonym zugelegt haben, um den Verdacht von sich zu lenken.

Millisekunden machten den Unterschied

Jedenfalls haben die Hintertür-Erschaffer ihre Rechnung ohne Andres Freund gemacht. Der Deutsche ist Datenbankentwickler bei Microsoft in San Francisco. Mit Cybersicherheit oder XZ Utils hat er beruflich eigentlich nichts zu tun.

Doch ihm fiel auf, dass der Login mit OpenSSH plötzlich mehr Systemressourcen erfordert und einige Millisekunden länger dauert als üblich. In seiner Freizeit und im Spirit der Open-Source-Community macht er sich auf Spurensuche. Vielleicht gibt es bei OpenSSH ja einen kleinen, ärgerlichen Bug, den er beheben und damit allen Nutzer*innen etwa Gutes tun könne, so Freunds Hintergedanken.

Doch nach viel Detektivarbeit wurde Freund klar, dass es sich hier nicht um einen Fehler, sondern um eine böswillige Änderung bei XZ Utils handelte. In einer Mailingliste für Cybersicherheit machte er an Karfreitag seine Entdeckung öffentlich, und dies keine Minute zu spät.

In wenigen Monaten wäre es zu spät gewesen

Denn die Hintertür war auf dem besten Weg, auf den grossen Servern der Welt aktiv zu sein. Der Gruppe um «Jia Tan» war es bereits gelungen, ihr manipuliertes XZ Utils in Vorabversionen von Fedora und Debian einzuschleusen. Das sind Linux-Distributionen, die den Kernel mit einer Ansammlung von Software verbinden, um das Betriebssystem sofort einsetzen zu können.

Diese Vorabversionen werden zwar in Regel nicht in für wichtigen Zwecken gedachten Server verwendet, doch wäre die Hintertür nur einige wenige Monate länger unentdeckt geblieben, hätte sie ihren Weg auch in die stabilen Versionen der Distributionen gefunden, die auf den Servern von Regierungen und Grossunternehmen zum Einsatz kommen. Kein Geheimnis der Welt wäre dann vor «Jia Tan» und seinen Mitstreiter*innen sicher gewesen.

Tech-Giganten werden in Verantwortung gezogen

Das Aufdecken der Hintertür führt auch zu einer Debatte um die Sicherheit von Linux und Open Source allgemein. Das Freiwilligenmodell ermöglicht es eben wie im vorliegenden Fall, dass sich böswillige Akteure das schwächste Glied von Tausenden auswählen.

Vielfach gibt es daher nun auch Forderungen, dass Tech-Giganten wie Google oder Amazon die Linux-Freiwilligen stärker organisatorisch und auch monetär unterstützen. Schliesslich verdienen sie mit auf Linux aufbauenden Produkten Milliarden. Da ist es schon im ureigenen Interesse der Tech-Giganten, dass nicht gestresste, ehrenamtliche Entwickler*innen zum Ziel von Geheimdienst-Kampagnen werden.