Log4j
Eckdaten
- Status:
- Laufend
- Investition
- 596.160,00 €
- Investitionsjahr(e)
- 2023, 2024
Logging beschreibt die Protokollierung von jeglichen Ereignissen in Softwareanwendungen, ohne die ein sicherer Betrieb und die Weiterentwicklung von Anwendungen nicht möglich wäre. Für die Steuerung dieser Ausgaben verwenden Entwickler*innen Logging-Bibliotheken wie log4j, die im Java-Umfeld sehr populär ist und dort in einem Großteil der Anwendungen verwendet wird.
Die in Dezember 2021 aufgetretenen Sicherheitslücken in Log4j, bekannt als Log4Shell, haben Milliarden von Anwendungen und Diensten auf der ganzen Welt (Amazon, Alibaba, Twitter, Microsoft, Steam usw.) schwer beeinträchtigt. Dieser Vorfall hat allen vor Augen geführt, welch entscheidende Rolle Log4j in der IT-Infrastruktur der Welt spielt. Im Gegensatz zum Umfang des Einsatzes ist Log4j ein freies und Open-Source-Softwareprojekt, das von einer Handvoll Ehrenamtlichen entwickelt und gepflegt wird, die in ihrer Freizeit zu dem Projekt beitragen.
Das Log4j-Projekt wird von der Apache Software Foundation gehostet, die Unterstützung bei Governance, Steuerung und technischer Infrastruktur bietet. Die Stiftung bietet keine finanzielle Unterstützung für die Log4j-Maintainer*innen und -Mitwirkenden.
Warum ist das wichtig?
Java ist eine der beliebtesten Programmiersprachen und das Logging ist eine Kernfunktion, die sowohl Systemadministrator*innen als auch Programmierer*innen auf der ganzen Welt in Rechenzentren, Unternehmensnetzwerken und anderen Komponenten verwenden. Dies macht Logging-Bibliotheken wie log4j und logback zu einer kritischen digitalen Infrastruktur für Unternehmen, Organisationen und öffentliche Einrichtungen.
Die Log4Shell-Schwachstelle, die Ende 2021 bekannt wurde, zeigte, dass Log4j eine Kernkomponente der weltweiten Software-Infrastruktur ist, die extrem weit verbreitet ist. Regierungen, Unternehmen und die Allgemeinheit erfuhren dadurch, wie wichtig Open-Source-Technologie ist. Investitionen in diese Technologien und deren Wartung halten soziale, technische und wirtschaftliche Systeme am Laufen.
Die Auswirkungen der Log4Shell-Sicherheitslücke können kaum überbetont werden. Sie betraf Milliarden von Anwendungen und Diensten auf der ganzen Welt, in allen möglichen Branchen und Sektoren, da Log4j in so vielen Zusammenhängen verwendet wird. Google hat das Problem in seinem Sicherheitsblog und in einem Google Cloud Advisory behandelt.
„Bis zum 16. Dezember 2021 haben wir herausgefunden, dass 35.863 der verfügbaren Java-Artefakte von Maven Central die betroffenen log4j-Versionen verwenden. Das bedeutet, dass mehr als 8 % aller Packages auf Maven Central mindestens eine Version haben, die von dieser Sicherheitslücke betroffen ist.“
Die Open Source Security Foundation (OpenSSF) hat in Zusammenarbeit mit Google und Microsoft das Alpha-Omega-Projekt aus der Taufe gehoben und Log4j als eines der 100 wichtigsten kritischen Open-Source-Softwareprojekte aufgeführt.
- Die U.S. Cybersecurity and Infrastructure Security Agency (CISA),
- das U.S. Federal Bureau of Investigation (FBI),
- die U.S. National Security Agency (NSA),
- das australische Cyber Security Centre (ACSC),
- das kanadische Centre for Cyber Security (CCCS),
- das Computer Emergency Response Team Neuseeland (CERT NZ),
- das neuseeländische National Cyber Security Centre (NZ NCSC),
- und National Cyber Security Centre des vereinigten Königreichs (NCSC-UK)
haben eine gemeinsame Sicherheitsempfehlung veröffentlicht, um Hinweise zur Schadensbegrenzung zu geben. Auch das Bundesamt für Sicherheit in der Informationstechnik (BSI) hat eine Warnung veröffentlicht.
Bis zur Investition des STF hatte das Log4j-Kernteam keine nennenswerte finanzielle Unterstützung für ihre Arbeit an diesem wichtigen FOSS-Projekt erhalten.
Was unterstützen wir?
Die Arbeiten, die der Sovereign Tech Fund in Auftrag gibt, verbessern die Release-Pipeline, die Dokumentation, die Struktur des Quellcode-Repositorys, die Effizienz sowie die Einführung von Fuzz-Tests und eines Performance-Testbeds.
Neben den funktionalen Verbesserungen haben alle diese Maßnahmen auch Sicherheits- und Schwachstellen-bezogene Auswirkungen: Eine verbesserte Release-Pipeline ermöglicht schnelle Releases für Sicherheitslücken, Fuzz-Tests ermöglichen eine frühzeitige Erkennung von Schwachstellen, Software Bill of Materials (SBOMs) ermöglichen eine bessere Verfolgung von Abhängigkeiten.
- Infrastrukturverbesserung:
- Verbesserung einer auf Continous Integregation (kontinuierlicher Integration) basierenden Release-Pipeline für schnellere Releases und kürzere Reaktionszeiten in Notfällen
- Beschleunigung und Vereinfachung des Release-Verfahrens
- Upgrade der Kernabhängigkeiten für verbesserte Sicherheit und Stabilität
- Einrichtung von Codeformatierungs- und statischen Analysewerkzeugen für eine bessere Codequalität
- Implementierung von SBOM für zusätzliche Sicherheit und verbesserte Überwachung von Sicherheitsvorfällen für Nutzer*innen
- Codequalität und Dokumentation:
- Implementierung vom Unified Memory Management (einer zentralen Speicherverwaltung) für noch bessere Leistung und Vereinfachung der Codebase
- Generierung von Konfigurationsdokumentation und -schema aus dem Quellcode, damit die Nutzer*innen immer über die neuesten Änderungen informiert sind
- Implementierung eines Online-Konfigurationsvalidierungstools, so dass auch weniger fortgeschrittene Nutzer*innen mit der Konfiguration arbeiten können
- Verbesserung der Dokumentation, um einen besseren Zugang zu den Log4j-Funktionen zu ermöglichen
- Kompatibilität und Tests:
- Einführung von API-Kompatibilitätsprüfungen
- Erforschung und Implementierung von Tools zur Migration von Quell- und Bytecode
- Implementierung von Fuzz-Tests
- Modernisierung und Stabilisierung der Testsuiten für schnellere und durchgängige Tests
- Verbesserung der Unterstützung für native Kompilierung