Die Log4J Sicherheitslücke – die ganze Geschichte!

Eine der gravierendsten Sicherheitslücken seit Bestehen des Internets
 

Log4Shell nennt sich eine Schwachstelle in der weit verbreiteten Log4j Protokollierungsbibliothek, die im Grunde seit Jahren besteht, aber bisher noch nie aufgefallen war. Am 24. November 2021 wurde die Problematik vom Alibaba-Cloud-Sicherheitsdienst aufgedeckt und gemeldet. Einen bestätigten Angriff gab es am 09. Dezember 2021 auf das Spiel „Minecraft“.

Durch Log4Shell kann auf dem Zielsystem eigener Programmcode ausgeführt werden, wodurch das angegriffene System kompromittiert wird. Hacker können dabei Daten von Servern abfließen oder beliebige Codes ausführen lassen. Interne Netzwerke können damit ausgespäht oder Daten auf dem Server verändert werden.

Wie muss man sich die Sicherheitslücke vorstellen?

Log4J ist sehr komplex und deutlich mehr als eine Blackbox, die Vorgänge aufzeichnet. Anfragen von außerhalb werden nicht ausschließlich in eine Log-Datei geschrieben, sondern interpretiert und genau hier liegt das Problem. Es gibt Java-Programmen unter anderem Zugriff auf Verzeichnisdienste. JNDI greift u.a. auf Referenzen von entfernten Rechnern zu, was insofern problematisch ist, als dass sich dahinter ein Angreifer verbergen könnte, der sich Zugang zum System erschleichen will. JNDI steht für “Java Naming and Directory Interface”.

Für die Sicherheitslücke heißt das: Log4Shell – praktisch der Zugriff auf das gesamte System – kann ausgelöst werden, wenn Log4J einen Befehl von außen für das JNDI erhält:

  1. Ein Angreifer übermittelt Daten an den Server, den er attackieren will
  2. Log4j nimmt den Vorgang in eine Logdatei auf
  3. Triggern die Daten JNDI, sendet Log4j eine Anfrage an die Website des Angreifers
  4. Jetzt verschafft sich der Angreifer Zutritt
  5. Die Webseite antwortet auf die Anfrage und schleust Schadcode ein
  6. Dieser kann erst einmal „ruhen“, bis er aktiviert wird

Die Geschäftsmodelle werden gefährlicher
Zunächst handelte es sich meist um manuelle Test Angriffe und Scans von IT-Sicherheitsforschern. Es folgten automatisierte Versuche, die Sicherheitslücke auszunutzen. 
Zwischenzeitlich haben aber Cybercrime und Geheimdienste die Lücke gezielt für ihre Zwecke entdeckt: sog. „Mirai-Botnet-Drohnen“ befallen dabei Wurm-artig verwundbare Server und verbreiten sich dort automatisch weiter. Durch die Log4J-Lücke gelingt es sich initiale Zugänge zu Netzwerken zu ermöglichen. Diese Zugänge können – evtl. später erst – anderen Gruppen angeboten/verkauft werden, die diese für ihre Zwecke nutzen. 

Was ist zu tun?

Auch wenn es nicht einfach nachzuvollziehen ist, in welchen Programmen Log4J eine Rolle spielt und ob ein System tatsächlich korrumpiert wurde, so sollten alle Dienste bei welchen man diesbezüglich unsicher ist zunächst „abgeschaltet“ werden.

Im github-Repository der CISA findet sich eine Liste verwundbarer Systeme und Anwendungen, die dort mit ihrem jeweiligen Status „verwundbar“, „in Untersuchung“, „nicht betroffen“ und einem Link auf die entsprechenden Hersteller-Sicherheitsmeldungen enthalten sind.

Für IT-Verantwortliche kann dies einen ersten Überblick darüber bieten, ob im Unternehmen verwundbare Systeme eingesetzt werden.

Hersteller und Entwickler arbeiten aber auch mit Hochdruck an Updates und Patches, welche unmittelbar eingespielt werden sollten, sobald diese vorliegen. 

Das JNDI-Lookup im neuesten Update zu Log4j wurde so bereits deaktiviert und auch die Version 2.17.0 der Log4j-Bibliothek nachgeschoben. Sie schließt eine weitere Sicherheitslücke mit hohem Risiko (CVE-2021-45105, CVSS 7.5). Administratoren und IT-Verantwortliche sollten in jedem Fall nicht zögern und die neue Log4J-Version zügig installieren.