<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=1195114&amp;fmt=gif">
Close
HOME
/
Die Log4Shell-Sicherheitslücke: Wie sichere ich meine Mendix-Anwendungen?

Die Log4Shell-Sicherheitslücke: Wie sichere ich meine Mendix-Anwendungen?

22 September 2022, last update 22 September 2022 5 min read

Am 10. Dezember 2021 wurde eine neue Sicherheitslücke in derApache Log4j 2-Bibliothek. Die Schwachstelle wird als Log4Shell bezeichnet. Die Apache log4j-Bibliothek wird weltweit in Software verwendet und ist daher eine beliebte Wahl für die Protokollierung.

Update 18/12/2021, erneut wurde eine neue Sicherheitslücke(CVE-2021-45105) in der log4j-Bibliothek gefunden. Diese Schwachstelle ist in der Version 2.17 behoben, die an diesem Wochenende veröffentlicht wurde. Im Gegensatz zu den beiden vorherigen Schwachstellen hat diese nur Auswirkungen auf die Verfügbarkeit, nicht aber auf die Integrität und Vertraulichkeit. Mendix hat auf seiner Statusseite angegeben, dass "Daten und Anwendungen von Kunden, die bisher unseren Anweisungen gefolgt sind, sicher sind. Wir haben Maßnahmen ergriffen, um durch diese Schwachstelle verursachte Verfügbarkeitsprobleme in der Mendix Cloud zu verhindern." Dennoch muss das Risiko durch ein Upgrade auf Version 2.17 gemindert werden.

Update 15/12/2021, Eine neue Sicherheitslücke(CVE-2021-45046) wurde in der ersten Korrektur der Log4Shell-Schwachstelle (log4j V2.15) gefunden. Wir empfehlen dringend, auf die neueste Version zu aktualisieren. Bitte besuchen Sie die Apache-Website , um aktuelle Informationen zu erhalten.

Warum sollte man sich über diese Sicherheitslücke Sorgen machen?

Die Log4Shell-Schwachstelle hat einen CVSS-Score von maximal 10.0. Was macht sie so gefährlich? Um die Sicherheitslücke auszunutzen, sind nicht viele Fähigkeiten erforderlich. Sie ist extrem einfach auszuführen. Der Angreifer kann beliebigen Code auf jeder anfälligen Anwendung ausführen und diese Fähigkeit für einen Angriff nutzen. Das macht sie zu einer sehr gefährlichen Sicherheitslücke.

Die Schwachstelle ist sogar noch gefährlicher, weil Hacker aktiv im Internet nach Servern suchen, die sie ausnutzen können, was ihr eine hohe Ausnutzungsrate verleiht. Techcrunch berichtet:

"Das Computer Emergency Response Team (CERT) für Neuseeland, das CERT der Deutschen Telekom und der Webüberwachungsdienst Greynoise haben alle davor gewarnt, dass Angreifer aktiv nach Servern suchen, die für Log4Shell-Angriffe anfällig sind."

Wir empfehlen Ihnen, diesen Artikel auf lunasec zu lesen, wenn Sie mehr über die Log4shell-Schwachstelle erfahren möchten

Aber jetzt kommt der interessante Teil, was ist, wenn Sie Mendix verwenden? Es ist nicht immer einfach, Codierungspraktiken und Sicherheitslücken auf Mendix-Anwendungen zu übertragen; sollten Sie sich Sorgen machen oder nicht?

Kurz gesagt, ja, Sie sollten besorgt sein und die Sache ernst nehmen.

Wir beginnen mit den Auswirkungen auf die Mendix-Plattform selbst, konzentrieren uns dann auf Ihre Mendix-Anwendung und geben Ihnen einige Hinweise, was zu tun ist.

Hat die Log4Shell-Schwachstelle Auswirkungen auf die Mendix-Plattform?

Mendix hat mitgeteilt, dass die Mx-Laufzeitumgebung nicht von der Log4Shell-Schwachstelle betroffen ist, da sie nur die Log4j-API-Bibliothek verwendet, die nicht von der Schwachstelle betroffen ist.

Mendix hat auf seiner Statusseite und in seiner Slack-Community die folgende Ankündigung gemacht:

"Standardmäßig sind Mendix-Anwendungen nicht anfällig für diese Schwachstelle.

  1. Die Mendix Runtime hängt nur von der log4j-api Bibliothek ab, nicht von der log4j-core Bibliothek, welche die Klasse enthält, die ausgenutzt werden kann. Wie von den Entwicklern der Bibliothek angegeben: "Wenn Sie nur von log4j-api abhängig sind, sind Sie von dieser Sicherheitslücke nicht betroffen".

  2. Nicht alle Java-Versionen sind für diesen Exploit anfällig. JDK-Versionen größer als 6u211, 7u201, 8u191 und 11.0.1 scheinen von diesem Angriff nicht betroffen zu sein. Das liegt daran, dass diese Versionencom.sun.jndi.ldap.object.trustURLCodebaseauf setzen.falsesetzen. In der Mendix Cloud laufen Apps auf Mendix 7 mit einer Java-Version größer als 8u191 (1.8.0.191). Apps, die auf Mendix 8 und 9 laufen, laufen mit einer Java-Version größer als 11.0.1.

Wir sind dabei, die anderen Teile der Plattform zu untersuchen und werden in Kürze ein ausführlicheres Update veröffentlichen.

Wir sind aktiv dabei, Versuche, diese Schwachstelle in der Mendix Cloud auszunutzen, zu identifizieren und zu entschärfen."

Die Originalnachricht von Mendix.

Wir empfehlen, die neuesten Updates über die Mendix-Statusseite zu verfolgen: Mendix Technology B.V. Status.

Es scheint, dass die Mendix-Plattform selbst nicht betroffen ist, aber wir empfehlen, die Mendix-Statusseite zu verfolgen, bis Mendix seine Untersuchung abgeschlossen hat.

Wenn die Log4Shell-Schwachstelle nicht die Mendix-Plattform betrifft, kann sie trotzdem meine Mendix-Anwendung beeinträchtigen?
Auch wenn die Mendix-Plattform selbst nicht betroffen ist und die log4j-Bibliothek keine Standardbibliothek der Mendix-Plattform ist. Es besteht dennoch die Möglichkeit, dass Ihre Anwendung die Schwachstelle enthält, da die jar-Bibliothek aus dem Mendix App Store heruntergeladen oder selbst hinzugefügt werden kann.

Wenn man ins Detail geht, betrifft die Sicherheitslücke die folgenden Versionen der log4j-Bibliothek <= 2.14.1. Einige Quellen weisen darauf hin, dass es nur eine Schwachstelle gibt, wenn sie mit JDK-Versionen <= 6u211, 7u201, 8u191 und 11.0.1 verwendet werden. Dies setzt jedoch voraus, dass die Schwachstelle nur durch eine bestimmte Methode ausnutzbar ist.

Aus Sicherheitsgründen empfehlen wir, die folgende Minimalschwelle einzuhalten und entweder auf die neueste Version des Jars zu aktualisieren, die die Schwachstelle behebt, oder die Schwachstelle ganz zu entfernen. Es hat keinen Sinn, die Schwachstelle zu umgehen.

Wie kann ich herausfinden, ob meine Anwendung über dieses spezielle Jar verfügt?
Es gibt verschiedene Möglichkeiten, dies herauszufinden.

  • Sie können manuell im userlib-Ordner Ihres Mendix-Projekts nachsehen. Zum Beispiel: Mendix\AppName-BranchName\userlib\, und suchen Sie nach der Log4j jar-Datei.
  • Sie können die Funktion Java Libraries im CLEVR Application Code Reviewer verwenden. ACR zeigt an, dass Sie eine kritische Sicherheitslücke auf der Grundlage des CVSS-Standards haben. Bitte lesen Sie unsere Produktdokumentation, um besser zu verstehen, wie unsere Java Libraries-Funktion Ihnen hilft, die Sicherheit zu kontrollieren.

Ich habe das 'veraltete' log4j jar in meiner Anwendung; was nun?
Es gibt verschiedene Möglichkeiten, wie Sie dieses Problem lösen können. Zunächst möchte ich jedoch betonen, dass eine jar-Datei im Prinzip nur dann gefährlich ist, wenn sie von der Laufzeitumgebung ausgeführt wird. Es besteht also nur dann eine aktive Schwachstelle, wenn eine Java-Aktion in der Runtime das log4j verwendet. Nichtsdestotrotz sollten Sie es aus Gründen der Sicherheit und der technischen Schuld entfernen, wenn Sie es nicht verwenden.

Verwenden Sie es?
Die meisten Mendix-Anwendungen enthalten Jars, die nicht mehr verwendet werden. Wenn Sie zum Beispiel Inhalte aus dem App Store entfernen, werden die Jars nicht gelöscht. Daher müssen Sie zunächst prüfen, ob Ihre Mendix-Anwendung die Jar-Datei verwendet. In den meisten Fällen können Sie im userlib-Ordner sehen, ob eine Bibliothek noch verwendet wird und von welchem Modul die (*.RequiredLib) Dateien betrachtet werden.

Das ist zwar etwas aufwändiger, aber Sie können die Jars auch aus der Userlib in einen anderen Ordner verschieben, Ihre Anwendung starten, die Fehlermeldungen auf fehlende Jars überprüfen und diese dann zurückschieben. Sobald Sie alle Fehler behoben haben, haben Sie alle von der Anwendung verwendeten Jars hinzugefügt und alle nicht verwendeten Jars effektiv entfernt.

Meine Anwendung verwendet das log4j jar; was nun?
Ihre Mendix-Anwendung verwendet die log4j-Bibliothek, daher müssen Sie auf die neueste Version der log4j jar aktualisieren, in der die Sicherheitslücke behoben ist. Grob gesagt gibt es zwei Möglichkeiten: Sie haben die Java-Aktion, die die Bibliothek verwendet, selbst erstellt oder Sie haben die Inhalte aus dem App Store heruntergeladen.

Sie oder jemand in Ihrem Unternehmen hat die Java-Aktion erstellt

Sie können die neueste Version der log4j jar-Datei herunterladen und installieren, die alte Datei entfernen und die Java-Aktion entsprechend anpassen.

App Store Inhalt
Dies kann etwas schwieriger sein. Hier gibt es drei Möglichkeiten:

  • Im Idealfall hat der App-Store eine neue Version zur Verfügung, in der die Sicherheitslücke durch ein Update der jar-Datei behoben wurde. In diesem Fall müssen Sie den App-Store-Inhalt aktualisieren und die alte jar-Datei aus dem Ordner userlib löschen.

Wenn der App-Store-Inhalt noch nicht aktualisiert wurde, haben Sie zwei Möglichkeiten:

  • Wenn für den App-Store-Inhalt noch kein Update vorliegt, können Sie die Abhängigkeit manuell auf eine neuere Version aktualisieren und den Java-Code korrigieren. Bitte denken Sie daran, dass beim Aktualisieren automatisch alle Änderungen an bestehenden App-Store-Inhalten überschrieben werden. Duplizieren Sie also zunächst das Modul und nehmen Sie dann die Änderungen vor.

  • Sollte dies nicht der Fall sein, können Sie die Funktionalität mit der log4j-Bibliothek entfernen oder löschen, indem Sie das Modul in der Mendix-Anwendung, die die Bibliothek verwendet, entfernen oder verstecken, so dass es nicht gestartet wird oder/und nicht ausgenutzt werden kann.

Dies sollte als vorübergehende Lösung betrachtet werden. Wir empfehlen, wieder auf den Inhalt des App Stores umzusteigen, sobald die Sicherheitslücke behoben wurde. Dies gewährleistet die Wartbarkeit und den zukünftigen Support.

Wir hoffen, dass dieser Blog Ihnen geholfen hat, das Risiko in Ihrer Mendix-Anwendung zu minimieren. Die Situation zeigt deutlich, wie wichtig es ist, Ihre Anwendung regelmäßig auf bekannte Sicherheitslücken zu überprüfen. Wir empfehlen nachdrücklich die Anwendung von DevSecOps in Low-Code-Umgebungen, und die Verwendung unseres CLEVR Application Code Reviewer kann Ihnen das Leben sehr erleichtern.

Bitte wenden Sie sich an CLEVR, wenn Sie Hilfe benötigen. Wir durchsuchen unser Produktportfolio gründlich, aber wenn wir aus irgendeinem Grund ein Problem übersehen haben, melden Sie es bitte an security@clevr.com.

START TODAY

Ready to accelerate your digital transition?

Get in touch Get in touch
Derryn Zwart Derryn is a low-code enthusiast with a passion for productivity and complex problems. He firmly believes that great software starts with great developers. He has devoted his years of Mendix experience in product development and QA to simplifying complex problems with low-code.

Related articles

Lesen Sie die neuesten Nachrichten, Artikel und Updates von CLEVR auf LinkedIn
Erhalten Sie persönliche Nachrichten und Updates in Ihrem Posteingang