Samstag, 18. Dezember 2021

Prof. Dr. Luigi Lo Iacono über die IT-Sicherheitslücke Log4Shell

Professor Luigi Lo Iacono vom Institut für Cyber Security am Fachbereich Informatik

„Derartige Angriffe werden sich in Zukunft sicher häufen“

Prof. Dr. Luigi Lo Iacono über die IT-Sicherheitslücke Log4Shell


Die IT-Sicherheitslücke mit dem unscheinbaren Namen Log4Shell ist ein Einfallstor für Cyberattacken auf Webseiten, Internetanwendungen, Computersysteme und Smartphones. Das Bundesamt für Sicherheit in der Informationstechnik (BSI) spricht von einer „kritischen IT-Sicherheitslage“ und hat die höchste Warnstufe ausgerufen. Im Interview erläutert Professor Dr. Luigi Lo Iacono, was Log4Shell ist. Der Experte für Informations-, Daten- und Anwendungssicherheit am Institut für Cyber Security & Privacy (ICSP) am Fachbereich Informatik der Hochschule Bonn-Rhein-Sieg erklärt, warum die kritische Schwachstelle Log4Shell in der Java-Bibliothek Log4j so gravierend ist und was Unternehmen, Behörden und private - Nutzerinnen und -Nutzer nun tun müssen.

Experten bezeichnen die Sicherheitslücke Log4Shell als eine der größten IT-Krisen der vergangenen Jahre. Worum geht es dabei?

Professor Luigi Lo Iacono: Hier geht es um eine Schwachstelle in Softwareprogrammen. Heutige Software ist komplex und wird - wie zum Beispiel ein Auto - aus unzählig vielen Bauteilen zum fertigen Programm zusammengesetzt. Viele dieser Programmbestandteile werden bei der Softwareentwicklung zugekauft oder stehen den Entwicklern kostenlos zur Verfügung. Das ist sehr praktisch, weil viele Standardfunktionen nicht immer wieder neu erfunden werden müssen. Ein solcher Standardsoftwarebaustein ist das kostenfreie "log4j" (Abkürzung für "logging for Java"). Es hilft, bestimmte Ereignisse zu protokollieren, etwa wenn sich ein Benutzer an einem System anmeldet oder wenn ein Fehler in der Software auftritt.

Dies ist eine sehr nützliche und im Grunde harmlose Funktion. Ein solches Logging-Modul wird erst dann zu einem sicherheitskritischen Problem, wenn es den Inhalt der protokollierten Nachrichten nicht sorgfältig genug auf schädliche Elemente prüft, die zum Beispiel externen Code enthalten könnten. Genau das hat log4j versäumt zu prüfen und gegebenenfalls zu bereinigen. In der Folge können Angreifer von außen beliebigen Schadcode in betroffene Systeme einschleusen und ausführen.


Können Sie dafür ein Beispiel nennen?

Lo Iacono: Am einfachsten lässt sich die Schwachstelle plakativ an einem realen Angriffsbeispiel nachvollziehen: Der Twitter-Nutzer Cas van Cooten beschreibt in einem Beitrag, wie er durch die Änderung seines iPhone-Gerätenamens dafür sorgt, dass ein Schadcode von einem Server geladen und ausgeführt wird.

Ein weiteres Angriffsbeispiel betrifft das Strategiespiel Minecraft. Der Angreifer ist hier ein registrierter Onlinespieler auf einem der Server des Spiels. Der Minecraft-Server führt den Schadcode aus, den der Angreifer zuvor als Nachricht in den Chat des Spiels gesendet hatte.

Derartige Angriffe sind nicht neu. Im Gegenteil. In der einschlägigen Literatur wird diese Angriffsklasse unter dem Fachbegriff "Remote Code Execution (RCE)" geführt. Was nun diese vorliegende Ausprägung einer RCE so besonders brisant macht, dass sie als eine der größten IT-Krisen der letzten Jahre eingestuft wird, wird deutlich, wenn man sich vor Augen hält, wie viele Softwaresysteme log4j enthalten.

Wie verbreitet ist der Software-Baustein denn?

Lo Iacono: Software wird mit Hilfe von Programmiersprachen entwickelt. Eine sehr populäre Programmiersprache ist Java. In einer Liste der beliebtesten Programmiersprachen belegt Java aktuell den 2. Platz. Aus der Schweiz kommt eine Studie zum Einsatz von Programmiersprachen in Unternehmen. Hier wurde festgestellt, dass Java zu 74 Prozent genutzt wird. Aktuelle Zahlen von StackOverflow zu Programmiersprachen in der professionellen Softwareentwicklung zeigen eine ähnliche Tendenz.

Wenn man nun weiß, dass das "j" in log4j für Java steht, dann wird sofort offenbar, wie weitreichend die Verwendung dieses grundlegenden Software-Bausteins ist, der Teil der überwältigenden Mehrheit von Java-basierter Softwaresysteme ist, und damit auch wie weit die Konsequenzen dieser Schwachstelle reichen. Dies kann und wird pandemische Ausmaße annehmen.

Wer könnte betroffen sein und was können Firmen, Behörden und Privatpersonen jetzt unternehmen?

Lo Iacono: Im Grunde alle, die eine Software mit log4j (und genauer log4j-core) einsetzen, könnten betroffen sein. Genau hier liegt jedoch auch die Herausforderung. Bei der betroffenen Komponente handelt es sich um ein „kleines“ Modul, das in der Regel nicht mit der eigentlichen Funktion der Software in Zusammenhang steht. Daher ist es oftmals mühsam, herauszufinden, ob eine Anwendung überhaupt angreifbar ist.

Softwareentwickler und Betreiber von Softwarediensten sollten die betroffene log4j-Komponente in ihrer Software schnellstmöglich auf die Versionen 2.12.2 oder 2.16.0 updaten, in welchen die Sicherheitslücke behoben ist. Entsprechende Updates und Hilfestellung werden vom Anbieter von log4j bereitgestellt und den Anbietern Java-basierter Software. Solange die Umstellung auf die fehlerbereinigten Versionen nicht erfolgt ist, sollte der Zugang zu betroffenen Systemen eng überwacht beziehungsweise temporär unterbunden werden.

Und was ist mit meinem Rechner zu Hause?

Lo Iacono: Privatpersonen sollten ihre Software auf dem PC auf dem neuesten Stand halten. Es ist davon auszugehen, dass in den nächsten Tagen einige Softwareupdates ausgerollt werden, welche eine aktualisierte log4j-Version einsetzen. Zusammenfassend gilt auch hier die wichtige Cyber-Sicherheits-Grundregel: Immer die eigenen Softwaresysteme aktuell halten und Sicherheitsupdates umgehend einspielen. Neu ist, dass die aktuelle IT-Sicherheitslage stets fest im Blick behalten werden muss, da sich derartige Angriffe auf globale Software-Lieferketten in Zukunft sicher häufen werden und auf diese im Ernstfall zügig reagiert werden muss.

Was ist in der Zukunft wichtig? Welche Rolle spielt die Wissenschaft dabei?

Lo Iacono: Lieferketten, die wir aus anderen Bereichen wie zum Beispiel dem Autobau kennen, spielen auch in der Softwareentwicklung und Systemintegration eine immer wichtige Rolle. Angriffe, die sich über breit verwendete Software- und Systembausteine durchführen lassen, sind lukrativ und damit interessant für Cyberkriminelle.

Die Softwareindustrie muss hier mit Unterstützung der Wissenschaft an Lösungen arbeiten, mit denen die Qualität derartiger Standardbausteine besser kontrolliert und überwacht werden kann, denn gängige Sicherheitsprinzipien wie zum Beispiel „Economy of Mechanisms“ - also die Software so schlank wie möglich zu halten, um die Angriffsfläche gering zu halten - gelten zwar noch, aber vor dem Hintergrund immer funktionsreicherer Software nimmt die Effektivität dieses Prinzips ab. Daher braucht es flankierende Ansätze, die sich eng mit dem Softwareentwicklungs- und betriebskonzept DevSecOps verzahnt. DevSecOps steht für Development (Entwicklung), Security (Sicherheit) und Operations (Abläufe). Bei diesem Ansatz ist der Sicherheitsaspekt viel stärker in den gesamten Lebenszyklus von IT-Anwendungen integriert.