Kritische Schwachstelle in Log4j (CVE-2021-44228)
Aufgrund der großen Menge von noch unbekannten Angriffsvektoren resultierend aus der Vielzahl von betroffenen Softwareprodukten arbeiten wir ununterbrochen daran hierzu die neusten Informationen zu sichten, um die Sicherheit unserer Kunden gewährleisten zu können.
Die Schwachstelle im Detail
Die Schwachstelle in Log4j liegt im Bereich der Interpretation eingehender Daten. Unter normalen Umständen soll die Software erhaltene Details lesen und in sogenannte Logfiles schreiben. Dies ist unter anderem wichtig, damit Administratoren im Falle eines Problems nachvollziehen können, was ihre Software zum Zeitpunkt eines auftretenden Fehlers getan hat, um so den Fehler finden und beheben zu können. Auch in der Strafverfolgung spielen Serverlogs eine große Rolle, weil aus ihnen hervorgeht, welcher Anschluss zu welchem Zeitpunkt eine bestimmte Website aufgerufen hat. Das Problem ist nun, das die angreifbare Version von Log4j die hierzu benötigten Informationen nicht nur aufschreibt, sondern der speziell geformte Logeintrag zusätzlich auch interpretiert und die enthaltenden Anweisungen ausgeführt werden.
Dies kann in der nun als Log4Shell bekannt gewordenen Schwachstelle dazu genutzt werden, mittels des “Java Naming and Directory Interfaces” (kurz JNDI) externen Schadcode auf betroffenen Systemen auszuführen. JNDI erlaubt die Einbindung externer Java Objekte in ein bereits laufendes Java Programm, unter Verwendung von externen Protokollen wie zum Beispiel DNS, LDAP, RMI oder NIS. Schafft man es einen bestimmten String von einer angreifbaren Applikation durch eine verwundbare Log4j-Bibliothek in ein Logfile schreiben zu lassen, kann das System erfolgreich angegriffen werden.
Eine beispielhafte Umsetzung des Exploits veranschaulicht der Sicherheitsforscher Marcus Hutchins in folgendem YouTube Video: Log4j (CVE-2021-44228) RCE Vulnerability Explained
Die Möglichkeiten, wie man unterschiedlichen Anwendungen diese Anweisungen zukommen lassen kann, sind hierbei genauso vielfältig wie die betroffenen Programme. Dies erhöht die Schwierigkeit sich effektiv vor einem Angriff zu schützen.
Was empfehlen wir?
Aufgrund der Vielzahl von betroffenen Produkten und der damit einhergehenden großen Anzahl an möglichen Angriffsmethoden, gibt es derzeit keine einheitliche Regel, um eine vollständige Sicherheit zu garantieren.
Dennoch gibt es mehrere Möglichkeiten, mögliche Angriffe zu erkennen, zu verhindern und ihre Netzwerke abzusichern.
1. Machen Sie sich ein Bild der Lage
Zunächst empfehlen wir, dass sich Ihr Unternehmen ein Bild davon macht, welche Geräte und Software die betroffenen Versionen der Log4j-Bibliotheken einsetzen.
Hierzu empfehlen wir die Suche nach Software-Hashes der betroffenen Java Pakete.
Eine Liste derselbigen finden Sie unter anderem hier: github.com/nccgroup/Cyber-Defence/tree/master/Intelligence/CVE-2021-44228
Außerdem gibt es bereits einige Skripte, welche bestimmte Systempfade nach angreifbaren Programmen durchsuchen.
Hierzu können Sie zum Beispiel die folgenden Skripte verwenden:
https://github.com/1lann/log4shelldetect (Go)
https://github.com/sp4ir/incidentresponse/blob/35a2faae8512884bcd753f0de3fa1adc6ec326ed/Get-Log4shellVuln.ps1 (PowerShell)
https://github.com/Neo23x0/log4shell-detector (Python)
Zum Prüfen von Geräten welche offene Netzwerkservices anbieten, empfehlen wir folgendes NMAP Skript:
https://github.com/Diverto/nse-log4shell
oder aber die für das Tool Burp Suite entwickelte Erweiterung:
https://github.com/silentsignal/burp-log4shell
Hiernach sollten Sie in der Lage sein zu sagen, welche Systeme besonders angreifbar sind und welche Systeme erstmal als sicher gelten.
2. Patchen Sie Ihre Systeme
Die wichtigste Methode ihr Netzwerk vor den neuen Schwachstellen zu schützen, ist das Aktualisieren aller Software, welche bei ihnen im Einsatz ist. In den nächsten Monaten wird es eine Vielzahl von Updates kritischer Software geben, welche Sie unbedingt installieren sollten. Bereits innerhalb der ersten 3 Tage nach der Veröffentlichung wurden hier eine Vielzahl an Updates veröffentlicht, unter anderem auch für Log4j, welches mit der Version 15.0 nichtmehr angreifbar ist. Andere Softwareanbieter haben in der Zwischenzeit Statements veröffentlicht, ob ihre Software angreifbar ist oder nicht. Eine laufend aktualisierte Liste von Hinweisen und Statements zu unterschiedlichen Softwareprodukten findet sich hier:
https://gist.github.com/SwitHak/b66db3a06c2955a9cb71a8718970c592
3. Überwachen Sie Ihr Netzwerk
Eine weitere sinnvolle Maßnahme, um sich vor Angriffen auf die Log4j Schwachstelle zu schützen, ist eine gut ausgearbeitete Netzwerküberwachung durch IDS- und WAF- Geräte. Da eine Vielzahl der Angriffe dieselben Strukturen in ihren schadhaften Anfragen aufweist, lässt sich durch gezielt erstellte Erkennungsregeln ein Großteil der Angriffe bereits vor Erreichen Ihrer bedrohten Endgeräte erkennen und abwehren. Die ConSecur ist hier seit Beginn der Schadstellenausnutzung gezielt dabei, in Zusammenarbeit mit ihren Partnern Erkennungsregeln zu entwickeln, die eine möglichst fehlerfreie und umfassende Erkennung von Log4Shell Angriffen ermöglicht.
Beispielhafte Anfragen, welche Ihr Unternehmen zu diesem Zeitpunkt auf jeden Fall erkennen können sollte finden sich unter anderem in folgender Github Repository: https://gist.github.com/superducktoes/9b742f7b44c71b4a0d19790228ce85d8
Die hier zusammengefassten Anfragen stellen allerdings nur einen Bruchteil der Angriffsmöglichkeiten dar und sind somit mit Vorsicht zu genießen.
4. Denken Sie über ein Threat Intelligence Konzept nach
Neben der Blockierung maliziöser Anfragen anhand ihrer Signatur macht es Sinn, zu jedem Zeitpunkt die neusten Indikatoren zu von Angreifern kontrollierter Infrastruktur in ihrer Sicherheitsinfrastruktur zu berücksichtigen. Die bereits seit Jahren bekannten Methodiken zur Blockierung von IPs und Domains können gerade in der aktuell sehr angespannten Situation nur funktionieren, wenn die Ihnen hier zur Verfügung stehenden Daten tagesaktuell sind. Allein innerhalb der letzten 3 Tage gab es hier beispielsweise mehr als 500 Indikatoren, welche die ConSecur zusammentragen konnte.
Ein gut organisiertes Threat Intelligence Konzept, wie es die ConSecur anbietet, stellt hierbei die beste Möglichkeit da, den Schutz ihres Unternehmens zu verbessern.
Auch zu dieser Stunde lässt sich das Ausmaß der Log4Shell Schwachstelle noch nicht vollends bestimmen. Wir verweisen dementsprechend erneut auf die regelmäßigen Updates zur aktuellen Lage, welche das deutsche Bundesamt für Sicherheit in der Informationstechnik (BSI) hier veröffentlicht:
https://www.bsi.bund.de/SharedDocs/Cybersicherheitswarnungen/DE/2021/2021-549032-10F2.pdf
Auch wir werden die Lage weiterhin untersuchen und Sie über die neusten Entwicklungen auf dem Laufenden halten.
Autor: Christoph Petersen
ConSecur GmbH
Nödiker Str. 118
49716 Meppen
Telefon: +49 (5931) 9224-0
Telefax: +49 (5931) 9224-44
http://www.consecur.de
Marketing
Telefon: +49 (5931) 922469
E-Mail: leopold@consecur.de