Glücklicher Zufallsfund verhindert Server-GAU
Programmierer entdeckt Hintertüre in wichtigem Code
Was der Software-Entwickler Andres Freund vor wenigen Tagen entdeckt hat, war dafür gemacht, niemals entdeckt zu werden. Die Hintertüre in einer Software, welche weltweit zur Fernwartung von Servern eingesetzt wird. Mit ihr hätten sich die Angreifer Zugriff auf Rechner rund um den Globus verschaffen können. Eine beunruhigende Vorstellung.
In den nächsten Wochen sollte die Hintertüre mit dem neusten Update an alle Linux-Rechner weltweit verbreitet werden. Dass Andres Freund sie kurz davor entdeckt hatte, war purer Zufall. «Wir hatten sehr, sehr viel Glück», schreibt der Verschlüsselungsspezialist Bruce Schneier in seinem Blog.
Die Geschichte klingt unglaublich. Das hat mit dem ausgeklügelten Vorgehen der Angreifer zu tun. Mit der zufälligen Entdeckung. Und mit dem Funktionieren der Gemeinschaft von Entwicklern, welche in Gratisarbeit OpenSource-Software entwickeln, auf welcher das Internet beruht.
Im Zentrum der Geschichte stehen die «xz Utils», eine Sammlung von Programmen und Code-Bibliotheken, welche auf Linux und vielen anderen UnixSystemen zum Komprimieren von Daten zum Einsatz kommen. Diese Software ist Open Source und wird von Freiwilligen weiterentwickelt. Als Verantwortlicher leitet Lasse Collin das Projekt – allein.
Unbekannte schleichen sich ein
Im Frühjahr 2022 meldet sich eine Person, die sich als Jia Tan ausgibt, über die Mailing-Liste an «xz Utils» mit einem Beitrag zur Software. Bald darauf schalten sich weitere Personen, die davor nicht aktiv gewesen waren, in die Diskussionen ein. Dann kommt die Forderung auf, Collin solle eine weitere Person zum «xz Utils»-Projekt zulassen.
Jia Tan beginnt in den nächsten Wochen, am Projekt mitzuarbeiten. Spätestens Anfang 2023 erhält er auch Verantwortung und wird als erste Ansprechperson aufgeführt. Seine Befugnisse nutzt Jia Tan in der Folge dafür, eine Funktion auszuschalten, welche OpenSource-Software auf Schwachstellen hin überprüft. Damit ist der Weg frei, um die Hintertüre hineinzuschmuggeln.
Im Februar dieses Jahres schliesslich fügt Jia Tan zwei Testdateien hinzu, welche den Code für die Hintertüre enthalten. In der Folge plädieren er und andere Personen bei den grossen Linux-Distributionen dafür, die manipulierte Version ins nächste Update aufzunehmen.
Ende März war die kompromittierte Version der «xz Utils» bereits in den Vorabversionen einiger Linux-Distributionen enthalten. Das war der Moment, als der Software-Entwickler Andres Freund etwas bemerkte: ein merkwürdiges Verhalten des Programms sshd, welches den verschlüsselten Fernzugriff auf einen Rechner ermöglicht.
Freund wollte den Unregelmässigkeiten auf den Grund gehen – und entdeckte dabei die versteckte Hintertüre. Am Karfreitag machte er seinen Fund publik und schreckte damit weltweit IT-Spezialisten und Sicherheitsfirmen auf. Die deutsche Cybersicherheitsbehörde BSI etwa rief am Samstag die Bedrohungslage Orange aus, was für eine geschäftskritische Bedrohung und massive Beeinträchtigungen des normalen Betriebs steht.
Linux- und Unix-Betriebssysteme sind der breiten Öffentlichkeit nicht vertraut. Auf den Computern und Laptops im Büro oder zu Hause ist dieses System kaum je anzutreffen. Ganz anders sieht es jedoch bei den Internetservern aus. Ein grosser Teil dieser Rechner läuft mit Linux. Laut der Analyse-Plattform W3Techs funktionieren 85 Prozent der Webserver mit Unix. Die Angreifer hätten wohl auf die meisten davon Zugriff erhalten.
Professionelle Akteure
Wer hinter der Aktion steckt, ist derzeit noch völlig unklar. Allerdings zeigen das aufwendige Vorgehen und die technische Geschicklichkeit, dass es sich um einen professionellen Akteur handeln dürfte. Wahrscheinlich ist mit Freunds Entdeckung die Operation eines Nachrichtendienstes aufgeflogen. Ein solcher hat die Ressourcen und die Geduld für eine so langfristig angelegte Aktion.
Für eine nachrichtendienstliche Operation spricht auch, dass die Hintertüre nur mit einem bestimmten Schlüssel erreichbar war. Dieser Mechanismus stellt sicher, dass zum Beispiel Cyberkriminelle oder andere Staaten die kompromittierten Systeme nicht ausspionieren oder gefährden können.
Die technische Umsetzung der Hintertüre war komplex. Dadurch war der schädliche Programmcode nicht sofort zu erkennen. Noch beeindruckender als die technische Umsetzung ist aber der menschliche Faktor bei der Aktion. Entscheidend für das Gelingen war sogenanntes «Social Engineering», das Täuschen und Manipulieren von anderen Personen mit dem Ziel, sie zu gewünschten Handlungen zu bewegen.
Im Falle der «xz Utils» bauten die Akteure nicht nur die offensichtlich falsche Person Jia Tan auf. Sie setzten auch angebliche Drittpersonen ein, um Druck auf den Projektverantwortlichen aufzubauen. Das sei «der verrückteste Angriff», mit dem er sich je befasst habe, schreibt der italienische IT-SicherheitsForscher Emanuele De Lucia. Der komplexe Einsatz von «Social Engineering» entspreche dem Vorgehen von staatlichen Gruppen.