Was ist Log4J?

Log4J ist eine Bibliothek (ein Programmteil, der in andere Software eingebunden wird), die in der Programmiersprache Java geschrieben wurde. Diese Bibliothek ist dafür da, Softwareentwicklern zu helfen, Fehler und Prozesse innerhalb einer Software nachzuvollziehen. Dazu werden Fehlerberichte oder Zwischenergebnisse erfasst und gespeichert. Diese „Logs“ können im Nachgang eingesehen werden, um so besser nachvollziehen zu können, wie die Software in bestimmten Fällen reagiert hat.

 

Wie wird Jog4J für einen Angriff benutzt?

Um diesen Angriff durchzuführen, werden zwei Features von Log4J genutzt, die in Kombination eine Sicherheitslücke darstellen.

  1. Log4J kann Eingaben von Außerhalb (z.B. Benutzereingaben oder andere dynamische Daten wie IP-Adresse, URL oder andere Informationen) lesen und „loggen“ (speichern).
  2. Die Bibliothek kann neben dem einfachen Dokumentieren die Fehlerberichte interpretieren. Dazu werden alle Informationen, die zu einem Fehler geführt haben, verwendet.

Um die Sicherheitslücke auszunutzen, muss ein Angreifer Benutzereingaben manipulieren, sodass ein Fehler entsteht und die Daten in der Form interpretiert werden, dass ein Programm ausgeführt wird. Wenn ein Angreifer beliebigen Programmcode auf einem fremden Gerät ausführen kann, ist er in der Lage, das Gerät vollständig zu übernehmen.

In der Praxis wurde für diesen Angriff eine Software geschrieben, die das gesamte Internet nach erreichbaren Servern absucht und den Angriff ausprobiert. Wird auf dem Server ein Dienst oder Programm benutzt, der aus dem Internet erreichbar ist und die Bibliothek Log4J benutzt, ist der Angriff mit sehr hoher Wahrscheinlichkeit erfolgreich.

Hat ein Angreifer dadurch Zugriff auf einen Server, können Daten gestohlen oder verschlüsselt werden. Weiterhin könnte ein Angreifer den Server nutzen, um gemeinsam mit anderen kompromittierten Servern einen großen Angriff auf andere Systeme (DDoS-Angriff) durchzuführen oder Kryptowährungen zu „schürfen“. Auch der Missbrauch von IoT-Geräten wäre denkbar.

 

Warum wird das Thema als so gefährlich eingestuft?

Das Bundesamt für Sicherheit in der Informationstechnik (BSI) hat die Sicherheitslücke als „extrem kritisch“ eingestuft. Das ist die höchste Stufe (4/4). Das hat zum einen den Grund, dass diese Lücke sehr einfach ausnutzbar ist und es somit viele Hacker gibt, die die Fähigkeit haben, diesen Angriff durchzuführen. Zum anderen wird Log4J in sehr vielen Programmen und Services benutzt, was die Anzahl der potenziellen Opfer des Angriffs in die Höhe treibt.

 

Wer ist betroffen?

Es ist immer noch nicht zu 100% klar, wer alles betroffen ist. Unternehmen und Privathaushalte können gleichermaßen betroffen sein. Das liegt schlicht an der großen Menge an Programmen und Services, die Log4J Benutzen. Laut BSI sind die Versionen 2.0 bis 2.14.1 betroffen. Auf der Code-Plattform Github wurde eine Liste mit Sicherheitswarnungen veröffentlicht (https://gist.github.com/SwitHak/b66db3a06c2955a9cb71a8718970c592). Wenn ein dort gelistetes Programm genutzt wird, ist mit hoher Wahrscheinlichkeit ein Angriff möglich.

 

Wer ist nicht betroffen?

Das BSI gibt für Smartphones und Tablets Entwarnung. Zitat: “Handys und iPads sind davon bisher nicht betroffen, das muss man ganz klar sagen,”. Android nutzt Log4J nicht und die Apple Software ist nicht in der Programmiersprache Java geschrieben.

Es gibt aber heutzutage kaum ein Haushalt, deren IT-Infrastruktur lediglich auch Tablets und Smartphones besteht. Fast jedes Heimnetz nutzt einen Router und viele auch ein Netzwerkspeicher oder IoT-Geräte. Da diese meist aus dem Internet erreichbar sind, ist eine Verwundbarkeit nicht auszuschließen.

Unter dem Aspekt ist es fast unmöglich, die Verwundbarkeit für bestimmte Benutzergruppen auszuschließen. Man muss also immer individuell prüfen, ob ein Unternehmen oder Haushalt betroffen ist.

 

Wie kann ich prüfen, ob ich verwundbar bin?

Sobald man einen Service nutzt oder betreibt, der für alle aus dem Internet erreichbar ist, kann man diesen unter dem Link (https://log4j-tester.trendmicro.com/) auf Verwundbarkeit prüfen.

 

Wie kann ich mich schützen?

Die Version 2.15.0 von Log4J setzt eine Konfiguration, sodass ein Angriff nicht mehr möglich wird. Da die Bibliothek aber meistens in die Software eingebunden ist, ist eine einfache Aktualisierung nicht immer möglich. Daher sollte man in erster Linie den Herstellerempfehlungen folgen.

IT-Administratoren in Unternehmen können die Konfiguration, die durch Version 2.15.0 aktualisiert wird, kann auch manuell gesetzt werden. Dazu muss ab Version 2.10.0 der Java Virtual Machine (JVM)-Command Line Befehl ausgeführt werden:

‐Dlog4j2.formatMsgNoLookups=True

Alternativ kann auch die Umgebungsvariable neu gesetzt werden:

LOG4J_FORMAT_MSG_NO_LOOKUPS=True

Damit wird die problematische Funktion deaktiviert. Ist diese Funktion für ein Programm erforderlich, wird es unter Umständen nicht mehr funktionieren. Achtung: Es ist möglich, dass die Anwendung, die Log4J nutzt, diesen Wert automatisch wieder überschreibt. Das sollte der IT-Dienstleister unbedingt prüfen.

 

Was kann ich tun, wenn ich angegriffen wurde?

Sobald Sie merken, dass Sie angegriffen wurden, trennen Sie sämtliche IT-Systeme vom Netz und kontaktieren Ihren IT-Dienstleister. Wenn Sie regelmäßig Backups durchführen, kann das System unter Umständen auf einen älteren Stand wiederhergestellt werden.

Sie wurden mit hoher Wahrscheinlichkeit angegriffen, wenn der Server verwundbar ist und z.B. Daten verschlüsselt wurden oder der Server einen dauerhaft ungewöhnlich hohen Ressourcenverbrauch aufweist.