Mehrere Nachrichtenseiten zu Informationssicherheit haben bereits über die neu entdeckte Sicherheitslücke CVE-2021-44228 berichtet, die in der Java-Bibliothek Log4j gefunden wurde und die höchste CVSS-Bewertung (10 Punkte) erhalten hat. Millionen von Java-Anwendungen benutzen diese Bibliothek, um Fehlerbenachrichtigungen zu protokollieren. Das Schlimmste an dieser Schwachstelle ist, dass sie bereits aktiv von Angreifern ausgenutzt wird. Aus diesem Grund empfiehlt die Apache Software Foundation die Bibliothek umgehend auf die 2.15.0 zu aktualisieren. Sollte das nicht möglich sein, finden Sie auf der Seite mit den Logging-Services von Apache unter Log4j Sicherheit – Schwachstellen weitere Alternativen.
Warum CVE-2021-44228 so gefährlich ist
CVE-2021-44228, auch Log4Shell oder LogJam genannt, ist eine Remote Code Execution-Schwachstelle. Gelingt es den Angreifern die Schwachstelle auf einem Server auszunutzen, sind sie dazu in der Lage, willkürlichen Code auszuführen und können potenziell die komplette Kontrolle des Systems übernehmen.
Die Schwachstelle CVE-2021-44228 ist besonders gefährlich, weil der Exploit sehr einfach ist: Selbst unerfahrene Hacker können mittels dieser Sicherheitslücke einen erfolgreichen Angriff durchführen. Laut den Sicherheitsforschern, reicht es aus, wenn der Angreifer die Anwendung dazu zwingt eine einzige Zeile im Log zu schreiben. Danach kann der Angreifer seinen eigenen Code hochladen. Das ist aufgrund der Lookup-Funktion möglich.
Machbarkeitsstudien, bzw. Proofs of Concept (PoC) für die Angriffe mithilfe über die Schwachstelle CVE-2021-44228 sind bereits im Internet verfügbar. Deshalb ist es nicht überraschend, dass Cybersicherheitsunternehmen bereits massive Netzwerk-Scans nach dieser Schwachstelle registriert haben und es viele Angriffe auf Honigtöpfe gab. (Ein Honigtopf – Honeypot auf Englisch – ist ein Sicherheitsmechanismus mit dem Administratoren Hacker täuschen und Cyberangriffe ins Leere laufen lassen).
Diese Schwachstelle wurde von Chen Zhaojun entdeckt, Mitglied des Alibaba Cloud Security Teams.
Was ist Log4j und warum ist die Java-Bibliothek so beliebt?
Apache Log4j gehört zum Apache Logging-Projekt. Im Wesentlichen bietet diese Bibliothek eine der einfachsten Methoden, um Fehler zu protokollieren und wird deshalb von den meisten Java-Entwicklern verwendet.
Viele große Software-Unternehmen und Onlinedienste verwenden die Log4j-Bibliothek. Zu den Unternehmen zählen u. A. Amazon, Apple iCloud, Cisco, Cloudflare, ElasticSearch, Red Hat, Steam, Tesla und Twitter. Da diese Bibliothek so weit verbreitet ist, gehen Informationssicherheitsforscher davon aus, dass die Angriffe auf verwundbare Server in den nächsten Tagen drastisch zunehmen werden.
#Log4Shell pic.twitter.com/1bKDwRQBqt
— Florian Roth (@cyb3rops) December 10, 2021
Welche Versionen der Log4j-Bibliothek sind verwundbar und wie können Server vor den Angriffen geschützt werden?
Fast alle Versionen von Log4j sind verwundbar: Ab der Version 2.0-beta9 bis hin zur Version 2.14.1. Die einfachste und effektivste Methode besteht darin, die neuste Version der Bibliothek zu installieren, die Version 2.15.0. Diese Version können Sie direkt auf der Seite des Apache-Projektes herunterladen.
Sollte die Aktualisierung aus irgendeinem Grund nicht möglich sein, empfiehlt die Apache-Stiftung einige Methoden, mit denen die Risiken gemindert werden können. Bei den Log4J Versionen von 2.10 bis 2.14.1 wird empfohlen log4j2.formatMsgNoLookups auf true zu setzen, indem die Java Virtual Machine mit dem Argument „–Dlog4j2.formatMsgNoLookups=True“ gestartet wird. Alternativ kann auch die Umgebungsvariable LOG4J_FORMAT_MSG_NO_LOOKUPS auf true gesetzt werden.
Als Alternative, die auch in Versionen ab 2.0-beta9 bis 2.10.0 funktioniert, empfiehlt der Hersteller die Klasse JndiLookup aus dem Klassenpfad zu löschen [APA2021b]: zip -q -d log4j-core-*. jar org/apache/logging/log4j/core/lookup/JndiLookup.class.
Wir empfehlen außerdem Sicherheitslösungen auf Ihren Servern zu installieren – in vielen Fällen können Sie mithilfe der Sicherheitssoftware schädlichen Programmcode entdecken, bevor er ausgeführt wird und so den Angriff verhindern.