Wie scanne und behebe ich die Log4j-Schwachstelle?

Die Log4j-Schwachstelle gehört zu den tödlichsten Sicherheitsproblemen in modernen Systemen.

Die Protokollierung ist ein Schlüsselmerkmal moderner Anwendungen, und die Protokollierungsbibliothek Log4j ist in diesem Bereich führend.

Diese Bibliothek wird in den meisten Anwendungen, Diensten und Systemen verwendet. Daher sind alle Anwendungen, in denen Log4j verwendet wird, von dieser im letzten Jahr gefundenen Log4j-Schwachstelle betroffen.

Angesichts der weltweit zunehmenden Bedenken hinsichtlich der Cybersicherheit ergreifen Unternehmen und Einzelpersonen Maßnahmen, um ihre Anwendungen, Systeme und Daten zu schützen.

Und als diese Schwachstelle entdeckt wurde, belastete sie Fachleute und Unternehmen noch mehr.

Daher ist es unerlässlich, die Log4j-Schwachstelle zu erkennen und zu beheben, wenn Sie Ihre Daten, Ihr Netzwerk, Ihren Ruf und das Kundenvertrauen schützen möchten.

In diesem Artikel werde ich diskutieren, was die Log4j-Schwachstelle ist, zusammen mit den Schritten, um sie zu erkennen und zu beheben.

Beginnen wir damit, Log4j zu verstehen und warum Sie es brauchen.

Was ist Log4j?

Log4j ist ein in Java geschriebenes Open-Source-Protokollierungsdienstprogramm, das hauptsächlich zum Speichern, Formatieren und Veröffentlichen von Protokollierungsdatensätzen verwendet wird, die von Anwendungen und Systemen generiert werden, und anschließend auf Fehler überprüft wird. Die Aufzeichnungen können unterschiedlicher Art sein, von Webseiten- und Browserdaten bis hin zu technischen Details eines Systems, auf dem Log4j ausgeführt wird.

Anstatt Code von Grund auf neu zu schreiben, können Entwickler die Log4j-Bibliothek verwenden, indem sie ihren Code in ihre Apps integrieren.

Mit Log4j können Entwickler alle mit ihren Anwendungen verbundenen Ereignisse mit genauen Protokollinformationen verfolgen. Es hilft ihnen, Anwendungen zu überwachen, Probleme rechtzeitig zu erkennen und Probleme zu beheben, bevor sie zu einem größeren Problem in Bezug auf Leistung und/oder Sicherheit werden können.

Diese Java-basierte Bibliothek wurde von Ceki Gülcü geschrieben und 2001 unter der Apache-Lizenz 2.0 veröffentlicht. Es verwendet Java Naming and Directory Interface (JNDI)-Dienste, um Apps die Interaktion mit anderen Apps wie LDAP, DNS, CORBA usw. zu ermöglichen und eine Verzeichnis- und Benennungsfunktionalität für Java-basierte Anwendungen zu erhalten. Log4j hat drei Komponenten, um seine Aufgaben zu erfüllen:

  • Logger zum Erfassen von Protokollierungsaufzeichnungen
  • Layouts zum Formatieren von Protokollierungsdatensätzen in verschiedenen Stilen
  • Appender zum Veröffentlichen von Protokolldatensätzen an verschiedenen Zielen

Log4j ist in der Tat eine der bekanntesten Protokollierungsbibliotheken im Internet und wird von Organisationen aus verschiedenen Branchen und Ländern verwendet. Sie haben diese Protokollierungsbibliothek in zahlreiche Anwendungen integriert, darunter Top-Cloud-Dienste von Google, Microsoft, Apple, Cloudflare, Twitter usw.

Sein Entwickler, die Apache Software Foundation, entwickelte Log4j 2, ein Upgrade von Log4j, um die Probleme zu beheben, die in früheren Versionen aufgetreten sind. Letztes Jahr wurde in Log4j eine Schwachstelle gefunden, die es Angreifern ermöglichen kann, in Anwendungen und Systeme einzudringen, Daten zu stehlen, ein Netzwerk zu infizieren und andere böswillige Aktivitäten durchzuführen, wenn sie nicht behoben wird.

Lass es uns besser verstehen.

Was ist Log4Shell – die Log4j-Schwachstelle?

Log4Shell ist eine kritische Cybersicherheitslücke in der Log4j-Bibliothek, die sich auf die Kernfunktion der Bibliothek auswirkt. Es ermöglicht einem Angreifer, ein mit dem Internet verbundenes Gerät oder eine Anwendung zu steuern, indem es eine Remotecodeausführung durchführt. Wenn sie damit erfolgreich sind, können sie:

  • Führen Sie beliebigen Code auf dem Gerät oder System aus
  • Greifen Sie auf alle Netzwerke und Daten zu
  • Ändern oder verschlüsseln Sie eine beliebige Datei auf der betroffenen App oder dem betroffenen Gerät

Diese Schwachstelle wurde erstmals am 24. November 2021 von Chen Zhaojun, einem Sicherheitsforscher bei Alibaba (einem chinesischen E-Commerce-Riesen), gemeldet. Die Schwachstelle betraf ihre Minecraft-Server, die das Cloud-Sicherheitsteam von Alibaba am 9. Dezember entdeckte.

Als nächstes veröffentlichte das NIST diese Schwachstelle in der National Vulnerability Database und nannte sie CVE-2021-44228. Die Apache Software Foundation bewertete diese Schwachstelle dann mit 10 im CVSS-Schweregrad. Dies wird selten zugewiesen und ist sehr schwerwiegend, da es das Potenzial hat, weithin und leicht ausgenutzt zu werden, was zu massiven Schäden für Organisationen und Einzelpersonen führt.

Apache veröffentlichte als Reaktion darauf einen Patch für diese Schwachstelle, aber dennoch blieben einige Teile unbehandelt, was zu anderen Schwachstellen führte:

  • CVE-2021-45046, das Denial-of-Service (DoS)-Angriffe durch JNDI-Lookups ermöglichte
  • CVE-2021-45105, um Hackern zu ermöglichen, Thread-Kontext-Map-Informationen zu kontrollieren und DoS-Angriffe zu verursachen, indem sie eine präparierte Zeichenfolge interpretieren
  • CVE-2021-44832 betrifft alle Log4j 2-Versionen über Remote Code Injection (RCE)
  So setzen Sie Ihre PC-Grafikkarte zurück

Wie funktioniert Log4Shell?

Um den Schweregrad zu verstehen und wie viel Schaden Log4Shell anrichten kann, ist es wichtig zu erfahren, wie diese Log4j-Schwachstelle funktioniert.

Die Log4Shell-Schwachstelle ermöglicht es einem Angreifer, beliebigen Code aus der Ferne in ein Netzwerk einzuschleusen und vollständige Kontrolle darüber zu erlangen.

Diese Cyberangriffssequenz beginnt mit der Protokollierungsbibliothek wie Log4j, die Protokollinformationen sammelt und speichert. Wenn keine Protokollierungsbibliothek vorhanden ist, werden alle Daten vom Server sofort nach der Datenerfassung archiviert.

Wenn Sie diese Daten jedoch analysieren möchten oder einige Aktionen basierend auf bestimmten Protokollinformationen ausführen müssen, benötigen Sie eine Protokollierungsbibliothek, um Protokolldaten zu analysieren, bevor sie archiviert werden.

Aufgrund der Log4j-Schwachstelle wird jedes System oder jede Anwendung, die Log4j verwendet, anfällig für Cyberangriffe. Die Protokollierungsbibliothek führt Code basierend auf der Eingabe aus. Ein Hacker kann die Protokollbibliothek dazu zwingen, schädlichen Code auszuführen, da die Schwachstelle es ihm ermöglicht, die Eingabe zu manipulieren.

Währenddessen passieren viele Dinge im Hintergrund. Wenn Log4j eine speziell gestaltete Zeichenfolge übergeben wird, ruft es einen LDP-Server auf und lädt diesen in seinem Verzeichnis gehosteten Code herunter, um den Code auszuführen. Auf diese Weise können Angreifer einen LDAP-Server zum Speichern von bösartigem Code erstellen, der ihnen dabei helfen kann, jeden Server zu kontrollieren, auf dem der Code ausgeführt wird. Es sendet dann eine Zeichenfolge, die seinen bösartigen Code an eine Zielanwendung oder ein Zielsystem weiterleitet, und übernimmt die volle Kontrolle darüber.

So kann also die Log4j-Schwachstelle ausgenutzt werden:

  • Ein Angreifer findet einen Server mit einer verwundbaren Log4j-Version.
  • Sie senden dem Zielserver eine Get-Anforderung mit dem Link ihres schädlichen LDAP-Servers.
  • Anstatt die Anfrage zu verifizieren, stellt der Zielserver direkt eine Verbindung zu diesem LDAP-Server her.
  • Die Angreifer senden nun dem Zielserver eine LDAP-Server-Antwort mit schädlichem Code. Aufgrund der Schwachstelle von Log4j, die es ermöglicht, den Code zu empfangen und ohne Überprüfung auszuführen, kann der Hacker diese Schwachstelle nutzen, um in den Zielserver einzudringen und verbundene Systeme, Netzwerke und Geräte auszunutzen.

Wie kann die Log4j-Schwachstelle Benutzern schaden?

Die Schwachstelle von Log4j ist besorgniserregend, da sie in einer Vielzahl von Softwareanwendungen und Systemen verwendet wird.

Da die Protokollierung ein wesentliches Merkmal in den meisten Software-Apps ist und Log4j eine führende Lösung in diesem Bereich ist, findet Log4j Anwendungen in einer Vielzahl von Softwaresystemen.

Einige der beliebten Dienste und Apps, die Log4j verwenden, sind Minecraft, AWS, iCloud, Microsoft, Twitter, Internetrouter, Softwareentwicklungstools, Sicherheitstools und so weiter. Daher können Angreifer eine große Anzahl von Anwendungen, Diensten und Systemen von Heimanwendern, Codeentwicklern, Dienstanbietern und anderen verwandten Fachleuten und Einzelpersonen angreifen.

Darüber hinaus ist die Log4j-Schwachstelle für einen Angreifer extrem einfach auszunutzen. Der Gesamtprozess erfordert weniger Fähigkeiten, nicht Expertenlevel, um einen Angriff durchzuführen. Aus diesem Grund nimmt die Zahl der Angriffe zu, die diese Schwachstelle ausnutzen.

Die Auswirkungen der Log4j-Schwachstelle sind:

  • DoS-Angriffe
  • Angriffe auf die Lieferkette
  • Coin-Mining
  • Malware-Injektionen wie Ransomware und Trojaner
  • Beliebige Code-Injektion
  • Remote-Code-Ausführung

Und mehr.

Infolge dieser Angriffe können Sie Ihre Anwendungen, Systeme und Geräte verlieren, und Ihre Daten können Angreifern zum Opfer fallen, die Ihre Daten verkaufen, manipulieren oder der Außenwelt zugänglich machen können. Daher kann Ihr Unternehmen in Bezug auf den Datenschutz, das Vertrauen, die Geheimnisse der Organisation und sogar Ihre Verkäufe und Einnahmen geschädigt werden, ganz zu schweigen von den Compliance-Risiken.

Laut einem Berichthaben über 40 % der globalen Unternehmensnetzwerke Angriffe aufgrund dieser Schwachstelle erlebt.

Selbst wenn Sie also keine anfälligen Log4j-Versionen in Ihren Anwendungen verwenden, verwenden Ihre Drittanbieter-Integrationen diese möglicherweise, wodurch Ihre App anfällig für Angriffe wird.

Beachten Sie, dass alle Log4j-Versionen vor Log4j 2.17.0. sind betroffen; Daher müssen Sie den Logger aktualisieren, wenn Sie ihn verwenden. Bekannte Anbieter, die von dieser Log4j-Schwachstelle betroffen sind, sind außerdem Adobe, AWS, IBM, Cisco, VMware, Okta, Fortinet usw. Wenn Sie einen von ihnen verwenden, überwachen Sie Ihre Apps kontinuierlich und verwenden Sie Sicherheitssysteme, um Probleme sofort zu beheben entsteht.

  So erstellen Sie eine benutzerdefinierte Vorlage in PowerPoint

So erkennen Sie von Log4j betroffene Programme und beheben die Probleme

Die Log4Shell-Schwachstelle hat eine 10 im CVSS-Score. Daher sind noch nicht alle Probleme in Log4j gepatcht. Es besteht jedoch die Möglichkeit, dass Sie oder Ihr Drittanbieter Log4j verwenden, das Sie in Ihrer Anwendung verwendet haben.

Wenn Sie also Ihre Daten, Systeme und Ihr Netzwerk schützen möchten, stellen Sie sicher, dass Sie einige Abhilfemaßnahmen befolgen.

#1. Aktualisieren Sie Ihre Log4j-Version

Die Aktualisierung Ihrer aktuellen Log4j-Version auf Log 4j 2.17.1 ist die effektivste Behebungstechnik, wenn Sie Ihr Gerät und Ihre Apps vor Angriffen aufgrund der Log4j-Schwachstelle schützen möchten.

Log4Shell ist eine Art Zero-Day-Angriff, der Ihr Software-Ökosystem potenziell beeinträchtigen kann. Apache hat einige der Schwachstellen in den letzten Versionen behoben, aber wenn Ihr System vor dem Upgrade kompromittiert wurde, sind Sie immer noch gefährdet.

Unter dieser Annahme müssen Sie daher nicht nur die Version aktualisieren, sondern auch sofort mit Ihren Incident-Response-Verfahren beginnen, um sicherzustellen, dass keine Schwachstellen in Ihren Systemen und Anwendungen vorhanden sind, und die Angriffe abzuschwächen. Sie müssen auch alle Ihre Serverprotokolle überprüfen, um Indicators of Compromise (IOC) zu finden, und Ihre Systeme und Ihr Netzwerk ständig überwachen.

#2. Verwenden Sie die neuesten Firewalls und Sicherheitssysteme

Firewalls wie die Web Application Firewall (WAF) und Firewalls der nächsten Generation können dazu beitragen, Ihr Netzwerk vor Angreifern zu schützen, indem sie ein- und ausgehende Datenpakete scannen und verdächtige blockieren. Verwenden Sie daher die neuesten Firewalls in Ihrem Netzwerk und legen Sie strenge ausgehende Regeln auf Ihren Servern fest, um Angriffe im Zusammenhang mit der Log4j-Schwachstelle zu verhindern.

Obwohl Angreifer Firewalls umgehen können, erhalten Sie dennoch ein gewisses Maß an Sicherheit mit Firewalls, die die Anforderungen eines Angreifers blockieren können.

Aktualisieren Sie außerdem alle Ihre Sicherheitssysteme wie Intrusion Detection Systems (IDS), Intrusion Prevention Systems (IPS) usw. mit den neuesten Signaturen und Regeln. Diese Systeme helfen dabei, RMI- und LDAP-Datenverkehr daran zu hindern oder zu filtern, sich mit einem böswilligen LDAP-Server zu verbinden.

#3. MFA implementieren

Die Einrichtung einer mehrstufigen Authentifizierung (MFA) in Ihren Anwendungen und Ihrem System bietet eine bessere Sicherheit vor Angreifern. Es bietet eine zweite Sicherheitsebene, selbst wenn es einem Angreifer gelingt, die erste Ebene zu durchbrechen. Sie können dies durch biometrische Daten wie Fingerabdrücke, Iris-Scanning usw., das Festlegen einer Sicherheitsfrage oder das Aktivieren einer Sicherheits-PIN tun.

Die Verwendung von MFA erhöht die Schwierigkeit und die Zeit der Angreifer, einen vollständigen Angriff durchzuführen. In der Zwischenzeit kann es Sie auch sofort über den Vorfall informieren, damit Sie die erforderlichen Abhilfemaßnahmen ergreifen können, wenn Sie noch Zeit haben.

Darüber hinaus müssen Sie strenge VPN-Richtlinien anwenden, um Datenschutzverletzungen zu reduzieren. Dadurch können die Benutzer von überall aus sicher auf Ihre Systeme zugreifen, ohne Angst vor Angreifern haben zu müssen.

#4. Systemeigenschaften ändern

Falls Sie nicht auf die neueste Version der Log4j-Bibliothek aktualisieren können, müssen Sie Ihre Java-Systemeigenschaften sofort ändern, wenn Sie eine Version von Log4j 2.10 bis Log4j 2.14.1 verwenden.

Sie müssen es so einstellen, dass Lookups verhindert werden, mit denen Angreifer die Schwachstellen erkennen und dann Wege finden, sie auszunutzen.

#5. Entfernen Sie JNDI

Der Grund für diese kritische Sicherheitslücke liegt in seinem Design. Das JNDI-Lookup-Plugin hat einen Designfehler, durch den Angreifer einen Angriff durchführen können.

JNDI wird für die Codeausführung basierend auf den Eingabedaten in seinem Protokoll verwendet, die jeder leicht manipulieren kann, da der Protokollierer jede Anfrage ohne Überprüfung akzeptiert.

Sicherheitsforscher haben festgestellt, dass dieses Plugin seit seiner Veröffentlichung im Jahr 2013 immer ungeparste Daten zulässt und an die Log4j-Bibliothek sendet.

  MessageEnhancer nimmt kosmetische und funktionale Änderungen an der Nachrichten-App vor

Daher ist die Log4j-Schwachstelle anfällig für die Ausnutzung mit einer einfachen Zeichenfolgeninjektion. Sobald der Angreifer es einfügt, akzeptiert der Logger die in der Zeichenfolge angeforderte Operation und führt sie sofort ohne Überprüfung aus.

Wenn Sie also Ihre Systeme und Anwendungen sichern möchten, müssen Sie die Klasse – JndiLookup – deaktivieren. Dadurch wird verhindert, dass der Logger basierend auf Protokolldaten Maßnahmen ergreift.

Tatsächlich ist die JNDI-Suche in Log4j 2.16.0 bereits standardmäßig deaktiviert, um Ihre Anwendungen und Systeme zu schützen.

Wenn Sie also eine niedrigere Log4j-Version als 2.16.0 verwenden, stellen Sie sicher, dass Sie JNDI Lookup deaktiviert haben.

#6. Sprechen Sie mit Ihren Lieferanten

Wenn Sie alles richtig gemacht haben, Ihre Firewalls und Sicherheitssysteme aktualisiert, die Log4j-Version aktualisiert, JNDI Lookup deaktiviert usw. haben, entspannen Sie sich noch nicht.

Selbst wenn Sie in Ihren Anwendungen keine anfällige Log4j-Version verwenden, verwenden Ihre Drittanbieter diese möglicherweise. Sie werden also nie erfahren, wie Ihre Anwendung oder Ihr System gehackt wurde, da das eigentliche Problem bei Ihrer Drittanbieter-Integration lag.

Sprechen Sie daher mit Ihren Anbietern und stellen Sie sicher, dass auch sie Log4j auf die neueste Version aktualisiert und andere oben beschriebene Sicherheitspraktiken implementiert haben.

#7. Verwenden Sie einen Log4j Vulnerability Scanner

Auf dem Markt sind viele Tools zum Scannen von Log4j-Schwachstellen erhältlich, die es Ihnen erleichtern, Log4j-Schwachstellen in Ihren Systemen und Anwendungen zu erkennen.

Wenn Sie also nach diesen Tools suchen, überprüfen Sie ihre Genauigkeitsraten, da viele von ihnen falsch positive Ergebnisse erzeugen. Finden Sie auch ein Tool, das Ihren Anforderungen gerecht wird, da es sich möglicherweise darauf konzentriert, die Log4j-Schwachstelle zu identifizieren, die Gefährdung zu melden und die Schwachstelle zu beheben.

Wenn Ihr Fokus also auf der Erkennung liegt, finden Sie einen Log4j-Schwachstellenscanner, der das Problem erkennen kann, oder verwenden Sie denjenigen, der das Problem erkennen und beheben kann.

Einige der besten Log4j-Scan-Tools sind:

  • Microsoft 365 Defender: Microsoft bietet eine Reihe von Sicherheitslösungen und Tools, mit denen Sie Log4j-Exploits in Ihrem Netzwerk erkennen und verhindern können. Sie werden in der Lage sein, Remote-Code-Ausführungs- und Exploit-Versuche zu erkennen und sich vor Log4j-Schwachstellen in Windows- und Linux-Geräten zu schützen.
  • Amazon Inspector und AWS: Amazon hat ein Scan-Tool entwickelt, um die Schwachstelle Log4j in Amazon EC2-Instances und Amazon ECR zu finden.
  • CloudStrike Archive Scan Tool (CAST): CloudStrike hat auch ein hervorragendes Scan-Tool zum Erkennen der Log4j-Schwachstelle entwickelt, damit Sie Probleme rechtzeitig beheben können, bevor Angreifer sie ausnutzen können.
  • Google Cloud Logging-Erkennung: Googles Cloud-Logging-Erkennungslösung ermöglicht es Ihnen, Log4j-Exploits mit dem Logs Explorer zu erkennen. Sie können in diesem Tool eine Protokollabfrage erstellen und nach potenziellen Exploit-Strings suchen.
  • Google hat auch log4jscanner entwickelt, einen Open-Source-Dateisystemscanner zum Erkennen der Log4j-Schwachstelle.
  • BurpSuite Log4j Scanner: Dies ist ein Sicherheits-Plugin für Fachleute und Unternehmen, das ihnen hilft, die Log4j-Schwachstelle zu erkennen.
  • Huntress Log4Shell Vulnerability Tester: Dieses Tool generiert zufällig eine eindeutige Kennung, die Sie beim Testen Ihrer Eingabefelder verwenden können. Wenn eine Schwachstelle in der Anwendung oder im Eingabefeld gefunden wird, beendet der sichere LDAP-Server die bösartige Verbindung sofort und sorgt für Ihre Sicherheit.
  • WhiteSource Log4j Detect: WhiteSource hat ein kostenloses CLI-Tool, WhiteSource Log4j Detect, entwickelt, das auf GitHub gehostet wird, um Ihnen beim Erkennen und Beheben von Log4j-Schwachstellen – CVE-2021-445046 und CVE-2021-44228 – zu helfen.
  • JFrog Open-Source-Scanning-Tools für Log4j: JFrog hat verschiedene Open-Source-Lösungen und -Tools entwickelt, um Log4j-Schwachstellen in Ihren Binärdateien und Ihrem Quellcode zu finden.

Fazit

Die Log4j-Schwachstelle ist ein kritisches Sicherheitsproblem. Da diese Logging-Bibliothek in verschiedenen Anwendungen und Systemen weit verbreitet ist, ist die Log4j-Schwachstelle weit verbreitet und ermöglicht es Angreifern, eine Vielzahl von Systemen und Apps auszunutzen.

Wenn Sie also Ihre Systeme und Anwendungen vor dieser Schwachstelle schützen möchten, stellen Sie sicher, dass Sie die Log4j-Bibliothek auf die neueste Version aktualisieren und die oben beschriebenen besten Sicherheitspraktiken implementieren.