Die Relevanz von Sicherheitspatches – Ein Beispiel am Oracle WebLogic Server 12c

patches-title

Updates und Patches werden im einigen Firmen oftmals sehr spät bzw. zögerlich Installiert und eher als Vorschlag angesehen. Werden die neuen Features nicht benötigt oder ist der Aufwand einer Aktualisierung zu groß, so besteht getreu dem Motto „never change a running system" auch keine Notwendigkeit.
Anders verhält es sich jedoch bei Sicherheitsupdates. Hier stehen Kosten und Nutzen in einem ganz besonderen Verhältnis zueinander, denn Schwachstellen in einzelnen Softwarekomponenten können schnell zu fatalen Sicherheitslücken für das gesamte System führen.
Das folgende Beispiel zeigt ein solches Verhalten an dem WebLogic Server 12c, welcher auch nach dem Release von 14c Anfang 2020 noch bei einigen Unternehmen in Verwendung ist. Oracle veröffentlicht vierteljährig zugehörige Critical Patch Updates. Die folgende Demonstration einer fatalen Schwachstelle zeigt, wie sich ein ungeregeltes Patch-Management auf die Sicherheit auswirken kann.

KLEINE AKTION, GROßE AUSMAßE (1/2)

Im regelmäßigen Critical Patch Advisory meldete Oracle im Januar 2020 einen schwerwiegenden Bug im Produkt Oracle Coherence. Auf Grund dessen interner Verwendung tut sich auch für den WebLogic Server damit eine erhebliche Sicherheitslücke auf.
Wird eine serialisierte Instanz der Klasse BadAttributeValueExpException über beispielsweise das T3-Protokoll an das System übergeben, so führt eine Verkettung von mehreren Methodenaufrufen durch die Klasse ChainedExtractor letztlich zu einem Aufruf von method.invoke(). Durch diese kann jede beliebige Java-Methode aufgerufen werden. Der Angreifer erlangt dadurch eine Remote-Code-Ausführung (RCE). (Zero Day Initiative)

Das Demonstrationsvideo zeigt einen solchen Angriff. Verwendet wird hier ein verwundbarer Oracle WebLogic Server in der Version 12.2.1.4.0. Der Angreifer verwendet das Metasploit Framework mit passendem Exploit. Sowohl die Java-Version als auch die Konfigurationseinstellungen des WebLogic Servers haben keinerlei Einfluss auf die Schwachstelle. Die einzige Ausnahme besteht in einer Blockierung des T3-Protokolls, ein Wechsel auf das HTTP-Protokoll ermöglicht den Angriff jedoch weiterhin.
Der Angriff resultiert hier in einer Reverse TCP Connection mit einer Kommandozeile mit Zugriff auf das System. Die Daten können aber auch abgeändert werden, um so Zugriff auf andere Bereiche zu erhalten. Indessen ermöglicht die Kommandozeile weitere Wege und es kann im nächsten Schritt beispielsweise eine Privilege Escalation in Betracht gezogen werden. (ORDIX Blogbeitrag)

KLEINE AKTION, GROßE AUSMAßE (2/2)

Angriff und Schutz sind in diesem Fall gleichermaßen einfach. Oracle behob die hier gezeigte Schwachstelle CVE-2020-2555 im Sicherheitspatch aus dem Januar 2020. Eine Installation mittels einer Hand voll Befehle für das von Oracle mitgelieferte Patchtool OPatch reicht aus, um die Schwachstelle zu schließen.
Ganz im Sinne des Zitates von Molière „Wo sich eine Türe schließt, öffnet sich eine andere" entdeckte allerdings Quynh Le nur einen Monat später einen Bypass für den Patch und die Schwachstelle tat sich erneut auf (CVE-2020-2883). Durch einen kleinen Umweg in der Verkettung war es weiterhin möglich RCE zu erlangen. Mittlerweile hat Oracle auch diese Schwachstelle mit dem Sicherheitspatch aus dem April 2020 geschlossen. Nun sollte die Schwachstelle doch hoffentlich behoben sein…oder?

ZUSAMMENFASSUNG

Wie dieses Beispiel zeigt, sind Sicherheitsupdates essenziell für einen ausreichenden Schutz der Software und des Systems. Besonders bei Sicherheitsupdates ist es relevant, auf dem neuesten Stand zu sein. Auch der Oracle-Blog verweist daher mehrfach auf die Dringlichkeit solcher Updates.
Dennoch ist es aktuell noch branchenüblich, dass es eine Verzögerung zwischen Veröffentlichung und Installation dieser gibt. Diese sollte gerade bei Sicherheitsrelevanten Updates/Patches auf ein Minimum reduziert werden, um so auch gegen aktuelle Angriffe und Bedrohungen geschützt zu sein.

Links/quellen

By accepting you will be accessing a service provided by a third-party external to https://blog.ordix.de/