Ein Jahr nach Log4Shell

Ein Jahr nach der Entdeckung von Log4Shell hinterlässt die Schwachstelle noch immer ihre Spuren.

Vor einem Jahr, im Dezember 2021, sorgte die Log4Shell-Schwachstelle (CVE-2021-44228) in der Apache Log4j-Bibliothek für Aufsehen. Obwohl Sie im Frühling schon nicht mehr auf den Titelseiten der IT-Medien zu finden war, feierte sie im November 2022 ein Comeback, als davon berichtet wurde, dass Cyberkriminelle die Sicherheitslücke erneut ausgenutzt hatten, um die US-Bundesbehörde anzugreifen und einen Kryptowährungs-Miner auf deren Systemen zu installieren. Für uns ist dies der ideale Anlass, um zu erklären, was Log4Shell eigentlich ist, warum es zu früh ist, die Schwachstelle abzuschreiben, und wie Sie Ihre Infrastruktur schützen können.

Was ist die Apache Log4j-Bibliothek?

Weil das Java SDK keine Protokollierung unterstützte, sahen sich Entwickler anfangs dazu gezwungen, ihre eigenen Lösungen zu schreiben; als die offizielle Java Logging API erschien, gab es bereits eine ganze Reihe solcher Lösungen. Eine davon ist Apache Log4j, eine beliebte Open-Source-Java-Bibliothek, die seit 2001 entwickelt wird. Sie ist zwar nicht die einzige Protokollierungs-Lösung in Java, aber sicherlich eine der beliebtesten. Viele Alternativlösungen sind im Wesentlichen Ableger von Log4j, die in verschiedenen Phasen der Entwicklung der Bibliothek entstanden sind.

 

Was ist die Log4Shell-Schwachstelle?

Mithilfe der Log4j-Bibliothek können alle Systemereignisse automatisch protokolliert werden. Sie nutzt eine Reihe standardmäßiger Schnittstellen, um auf Daten der Java Naming and Directory Interface (JNDI) zugreifen zu können. Im November 2021 stellte sich heraus, dass die Bibliothek während der Protokollierung in der Lage ist, JNDI-Befehle auszuführen, die ihr von einem Ereignis übergeben werden, z. B. im Header-Feld einer Anfrage, in einer Chat-Nachricht oder in der Beschreibung eines 404-Fehlers auf einer Webseite.

Die Schwachstelle gibt Cyberkriminellen die Möglichkeit, auf dem System des Opfers das zu tun, was sie wollen. Zumindest theoretisch und sofern keine zusätzlichen Sicherheitsmaßnahmen greifen. In der Praxis nutzten Angreifer Log4Shell jedoch hauptsächlich, um illegale Miner zu installieren und Ransomware-Angriffe durchzuführen. Natürlich gab es auch exotischere Einsatzgebiete, darunter zielgerichtete Angriffe, die Verbreitung des Mirai-Botnets und Rickrolling. Letzteres lotst Nutzer auf ein Videoportal, und spielt den (ärgerlich süchtig machenden) Hit „Never Gonna Give You Up“ des 80er-Jahre-Sängers Rick Astley in Dauerschleife ab.

 

Warum ist die Schwachstelle so gefährlich und noch immer eine Bedrohung?

Java zählt zu einer der primären Programmiersprachen und wird für viele Backend-Systeme genutzt: Von kleinen Unternehmensservern bis hin zu industriellen Automatisierung-Systemen und IoT-Geräten. Die meisten dieser Systeme implementieren die Protokollierung auf die eine oder andere Weise. Jahrelang war dafür der Einsatz der Log4j-Bibliothek am einfachsten. Als im Dezember 2021 bekannt wurde, dass sie eine Sicherheitslücke enthält, erklärten Experten, dass dies noch viele Jahre lang ein großes Problem darstellen würde. Hier ist der Grund:

  • Log4j wird in einer Vielzahl von Java-Anwendungen verwendet. Zum Zeitpunkt der Entdeckung war die Sicherheitslücke in mehr als 000 Paketen (Artefakten) in Maven Central (dem größten Java-Paket-Repository) vorhanden, was 8 % der Gesamtzahl entspricht. Experten zufolge waren etwa 40 % der Netzwerke weltweit durch Log4Shell gefährdet.
  • Neben konventionellen Computern und Servern wird Java ebenfalls in industriellem, medizinischem und anderem Sonderequipment verwendet.
  • Endnutzer von Lösungen mit Log4j könnten die Aktualisierung der Software hinauszögern, wenn sie nicht wissen, dass die Software eine Sicherheitslücke enthält.
  • Entwickler von Lösungen, die die Log4j-Bibliothek verwenden, könnten schon vor langer Zeit Pleite gegangen sein, den Markt verlassen haben oder auf andere Weise den Support für ihre Programme eingestellt haben. Endnutzer können dann kein Update mehr durchführen und der Wechsel zu einer anderen Software ist möglicherweise nicht so einfach.
  • Log4j ist eine Open-Source-Bibliothek, was bedeutet, dass Programmierer diese kopieren, modifizieren und für ihre eigenen Projekte verwenden können. Leider halten sich nicht alle Entwickler an die Lizenzierungsregeln und geben nicht immer die Urheberschaft am Code an. Theoretisch könnte dieselbe Schwachstelle also auch in Projekten Dritter gefunden werden, in denen die Log4j nicht offiziell verwendet wird.
  • Log4Shell war eine Zero-Day-Schwachstelle. Mit anderen Worten: Cyberkriminelle haben sie bereits ausgenutzt, bevor sie veröffentlicht wurde. Es gibt Hinweise darauf, dass Angreifer sie vor ihrer Veröffentlichung mindestens 9 Tage getestet haben.
  • Unter den betroffenen Programmen befanden sich VMware-Produkte; genauer gesagt die beliebte virtuelle Desktop-Infrastruktur-Lösung VMware Horizon. Viele der registrierten Angriffe konnten über eben diese Software ins System gelangen.
  • Sollten sich Eindringlinge bereits im System befinden, werden Programm-Updates keinen besonders großen Erfolg erzielen. Und nicht alle Angriffe beginnen unmittelbar nach dem Eindringen. Es ist also möglich, dass viele Systeme bis heute eine Backdoor enthalten.

 

Tatsächlicher Schaden

Fairerweise sollten wir anmerken, dass bisher keine katastrophalen Folgen eines Exploits von Log4Shell verzeichnet wurden. Nichtsdestotrotz hat die Sicherheitslücke Entwicklern und Sicherheitsexperten große Kopfschmerzen bereitet und Tausenden von IT-Mitarbeitern weltweit die Weihnachtsferien verdorben. Unternehmen, die viel Wert auf Sicherheit legen (sowohl die eigene als auch die ihrer Kunden), mussten beträchtliche Summen zahlen, um die Schwachstelle in ihren Systemen und ihrer Software zu finden und zu beseitigen.

 

Es folgen einige der bekanntesten Log4Shell-Vorfälle:

  • Am 20. Dezember 2021 bestätigte das belgische Verteidigungsministerium einen Angriff auf seine Infrastruktur unter Ausnutzung der Sicherheitslücke. Verständlicherweise wurden die Einzelheiten nicht bekannt gegeben.
  • Am 29. Dezember 2021 wurde den Medien zufolge eine bestimmte wissenschaftliche Einrichtung in den Vereinigten Staaten über Log4Shell angegriffen. Nach Angaben von CrowdStrike nutzte die APT-Gruppe Aquatic Panda eine ungepatchte Version von VMware Horizon aus. Die verdächtigen Aktivitäten konnten rechtzeitig gestoppt werden, dennoch zeigt dieser Vorfall, dass sich ernstzunehmende Hackergruppen die Sicherheitslücke zu eigen gemacht haben.
  • Ebenfalls im Dezember 2021 wurden Gerüchte über einen Log4Shell-Exploit auf einem Minecraft: Java Edition-Server laut, der nicht von Microsoft gehostet wurde. Das Unternehmen bestätigte dies und stellte die einfache Implementierung des Angriffs fest. Die Cyberkriminellen übermittelten den Schadcode per In-Game-Chat, was ausreichte, um ihn sowohl auf der Serverseite als auch auf dem anfälligen Client auszuführen. Dieser Fall ist vor allem wegen seiner technischen Umsetzung interessant: Unter bestimmten Bedingungen kann ein Angriff einfach über einen internen Chat durchgeführt werden. Dies ist besorgniserregend, da Chats immer mehr an Fahrtwind gewinnen: Für viele Unternehmen sind sie die bevorzugte Methode der Kommunikation mit Kunden.
  • Im Juni 2022 gaben die US-Behörde für Cybersicherheit und Infrastruktursicherheit (CISA) und das Cyberkommando der US-Küstenwache (CGCYBER) eine Warnung heraus, dass die Sicherheitslücke immer noch aktiv ausgenutzt wird. In der Warnung heißt es, dass Cyberkriminelle eine Schwachstelle in VMware Horizon ausgenutzt haben, um in die internen Netzwerke von zwei ungenannten Regierungsbehörden einzudringen.
  • Im November 2022 gaben die CISA und das FBI eine weitere Warnung über einen Log4Shell-Angriff eine weitere Regierungsbehörde heraus. Die Angreifer schleusten sich bereits im Februar 2022 in das System, wurden im April entdeckt und blieben bis Juni-Juli aktiv. In dieser Zeit erstellten sie ein Konto mit Administratorrechten, änderten das Kennwort eines legitimen Administrators und luden Mining-Software auf den Server. Man vermutet, dass der Angriff von Hackern durchgeführt wurde, die von der iranischen Regierung gesponsert wurden. Einige Experten betrachten das Mining daher nur als Vorwand, um die wahren Motive der Angreifer zu verschleiern.

 

So schützen Sie Ihre Infrastruktur

Jedes Unternehmen kann Log4Shell zum Opfer fallen; meist, weil es nichts von den Schwachstellen in seinen Systemen und der Software weiß. Sollten Sie unsicher sein, ob Ihre Systeme, Tools, Produkte oder Dienste die Log4j-Bibliothek verwenden, ist es sinnvoll, ein umfassendes Sicherheitsaudit durchzuführen. Folgende Sicherheitstipps tragen ebenfalls zu Ihrem Schutz bei:

  • Entwickler sollten bei der Softwareentwicklung ausschließlich die neueste Version der Log4j-Bibliothek verwenden. Finden können Sie diese auf der offiziellen Projektseite.
  • Lesen Sie den offiziellen Leitfaden von Apache Logging Services und befolgen Sie ihn, wenn nötig.
  • Wird Log4j in Drittanbieterprodukten genutzt, sollten Sie anfällige Software zeitnah aktualisieren.
  • Verwenden Sie eine robuste Sicherheitslösung, die Exploit-Versuche einer Schwachstelle auf Servern und Workstations erkennen kann.
  • Überwachen Sie verdächtige Aktivitäten innerhalb der Unternehmensgrenzen mit Lösungen der EDR-Klasse oder externen Diensten wie Managed Detection and Response. Auf diese Weise können Sie Angriffe bereits im Frühstadium erkennen und abwehren.
Tipps