Was bei Log4Shell falsch läuft
Last updated: Jan 27, 2024
Ich muss mich mal auskotzen. Nicht über die Lücke selbst und den Fallout, der uns sicher noch die nächsten Monate begleiten wird, schlimm genug.
Sondern über Leute, die jetzt tatsächlich meinen, die log4j Maintainer anranzen zu müssen.
Was sind das für Anfänger? Die sollten das bezahlen! Nicht zu fassen sowas!"
…wacht mal auf!
Die Maintainer sind drei Menschen, die ein Projekt am Fliegen halten, das millionenfach in Unternehmen überall auf der Welt genutzt wird. Sie machen das nebenbei, in ihrer Freizeit.
Ihr habt ihre Software genutzt, ohne je einen Cent einzuwerfen. Ihr habt keine Erwartungen an sie zu richten und sie schulden euch absolut garnichts.
Und Überraschung! log4j ist die Regel und nicht die Ausnahme. Die typische Software, die heute gebaut wird, besteht überwiegend aus Open Source Abhängigkeiten und nur zu einem - mit unter sehr geringen - Teil aus eigenem Code. Und das ist gut. Bitte nicht die Diskussion aufmachen “lieber selbst machen”, “selbst Schuld, wer so viele Abhängigkeiten einbindet”.
Ja, Abhängigkeiten enthalten Risiken. Ja, das sollte man entsprechend berücksichtigen.
Aber mal Hand aufs Herz. Eine abgehangene Abhängigkeit, wie log4j, ist doch um ein vielfaches ausgereifter, als das selbst zusammengeklöppelte Werk. Seit Jahren produktiv im Einsatz und um etliche Anfängerfehler bereinigt, die neue Software erstmal wieder einführen würde.
Aber wir sind ja Profis, wir machen keine Anfängerfehler.
Doch! Weils normal ist. Das nicht einzugestehen ist doch der Anfang des Übels. Darüber hinaus sind nun mal die meisten Entwickler unerfahren. Das ist keineswegs abwertend gemeint. Es ist einfache Statistik. Weil die Branche unheimlich wächst und jeden Tag so viele neue dazukommen, hat der Durchschnitt keine langjährige Berufserfahrung. Es ist doch gut, dass es so viele Neue gibt. Aber andererseits, wer beim Blick auf eigenen Code von vor zwei Jahren noch nie dachte “um Himmels Willen?!”, der werfe den ersten Stein.
Zumal selbst zusammengeklöppelt ja auch eher die Ausnahme darstellt. Meist eher zusammengeklöppelt vom Dienstleister unter Zeit- und Kostendruck auf Basis eines “Lastenhefts”, was den Namen nur verdient hat, weil es für alle Beteiligten eine Last ist. Was kann da schon schiefgehen.
Fangt nicht an, das Rad neu zu erfinden. Es macht auch betriebswirtschaftlich einfach keinen Sinn.
Das eigentliche Problem ist doch, dass die allermeisten Open Source Projekte zu wenig Geld und Mitarbeiterinnen haben.
Das führt dazu, dass - wie in diesem Fall - Features ohne ausreichende Risikobewertung einführt werden und später ohne regelmäßigen Audit auch nicht mehr rausfliegen.
Ein kleiner Teil der Projekte kann sich Sponsoren ergattern, was auch nicht unbedingt mit Verbreitung und Qualität zusammenhängt, aber die überwältigende Mehrheit wird von Einzelpersonen als Hobby, aus Überzeugung, Idealismus, aus Spaß, für den Lebenslauf oder aus welchen Gründen auch immer betrieben.
Und das ist cool! Da werden Ideen, Lernmaterial, Innovationen in die Welt gespült in einem Ausmaß, frei zugänglich, what a time to be alive! Und man kann es finden, Leute benutzen es, geben Feedback, vielleicht trägt sogar jemand etwas bei, einfach toll!
Nur: wenn Unternehmen ihren Erfolg auf den Schultern dieser Projekte aufbauen, wenn sie im Extremfall damit die PaaS Dienste ihrer Cloud aufwerten und Milliardengewinne einfahren, dann könnten diese Unternehmen doch auf die Idee kommen, dass die Projekte einen Wert für sie haben. Und dass sie nicht einfach magisch im Internet von alleine entstehen.
Könnte man da nicht auf die Idee kommen, etwas zurückzugeben? Sicher, machen manche, die meisten aber nicht. Was hält sie ab? Als deutscher Staatsbürger schätze ich, ist wahrscheinlich schwierig bei der Steuererklärung anzugeben. Aber kann man der interessierten Entwicklerin vielleicht erlauben einen Teil der Arbeitszeit aufzuwenden, um bei einem im Unternehmen eingesetzten Projekt mitzuarbeiten? Kann man Entwicklerinnen und Entwickler im Unternehmen sogar dazu ermutigen und aktiv supporten?
Würde das das Risiko solcher Lücken nicht deutlich verringern, weil das Open Source Versprechen “viele Augen prüfen den Code” endlich eingelöst würde? Vielleicht.
Wäre das nicht günstiger, als viele Supply Chain Security Lösungen? Möglicherweise.
Würden die Beitragenden nicht super viel lernen über die Tools, die sie tagtäglich nutzen und Kontakte knüpfen zu anderen Maintainern und würden sie so nicht noch produktiver? Mit ziemlicher Sicherheit.
Ich bin abgeschweift… was wollte ich eigentlich sagen. Ach ja.
Hört auf, auf die log4j Maintainer zu hauen!