Themenvorschlag: Open Source Sicherheit

Liebes Cybernation Team,

ich frage mich immer wieder wie Open Source so sicher sein kann wie überall immer steht. Denn meine Grundidee ist folgendes: Sobald jemand weiß womit verteidigt wird, dann weiß die angreifende Person worauf sie sich einstellen muss. Mir fällt es schwer vorstellbar, dass sich das nicht umgehen lässt.

Meine Analogie hinkt ggf., aber ich denke mir es ist ähnlich wie beim Russland-Ukraine Krieg. Dort wird ebenfalls nicht mehr exakt gesagt welche Waffensysteme und wie viele geliefert werden. Damit sich Russland nicht so gut drauf einstellen kann was als nächstes bevor steht.

Wenn ich auch akzeptiert habe, dass sie sicher sind, so möchte ich es doch gerne besser verstehen und dachte mir das wäre doch was für euch.

Liebe Grüße

Steffen

1 „Gefällt mir“

Wow, das ist eine große Aufgabe und ich wäre gespannt, wie das vermittelt werden könnte. Man erkennt schon an der Fragestellung, das völlig falsche Vorstellungen ( No disrespect! ) im Raum sind, welche Mittel in einem Cyberwar eingesetzt werden und das es mit konventionellem Krieg überhaupt nicht zu vergleichen ist.

Ich versuche mal eine Analogie: „Die Bösen“ versuchen in ein Lagerhaus einzubrechen. Der Besitzer des Lagerhauses hat eine Alarmanlage einbauen lassen. Die Pläne dafür sind „closed source“ und keiner kennt sie. Ein Mitarbeiter der Alarmanlagenfirma hat Geldsorgen und verkauft die Pläne an „die Bösen“. Die erkennen eine Schwachstelle und brechen erfolgreich ein.

Wäre die Anlage „Open source“ gewesen, hatte der Besitzer des Lagerhauses die Schwachstelle erkennen und der Hersteller nachbessern können. In einer perfekten Welt hätte der Hersteller auch alle Bestandskunden geprüft und bei Bedarf nachgebessert.

Das ist bei Software noch einfacher: Jemand erkennt einen Fehler, schreibt einen Fix und jeder kann den installieren.

1 „Gefällt mir“

Wichtig ist da das Kerckhoffsche Prinzip:

Weil man nicht wissen kann, was die Gegenseite alles weiß, muss man das System so konstruieren, dass es ohne Schaden in falsche Hände fallen kann. Die Dinge, von deren Geheimhaltung die Sicherheit abhängt, muss man jederzeit austauschen können.

4 „Gefällt mir“

Diese Argumentation höre ich auch immer und leuchtet auch ein. Ich Frage mich aber, wer die unzähligen Programme den wirklich gewissenhaft gegenprüft und ob man wirklich davon ausgehen kann, dass Sicherheitslücken identifiziert werden. Das mag bei bekannten Betriebssystemen und Anwendungen sicher so sein, weil sich Tausende dafür interessieren. Aber gibt es nicht viel mehr Programme, die nur von einzelnen Personen mehr oder weniger gut erstellt und aktualisiert werden und die vermutlich nie jemand gegen-checkt? Wer hat schon Bock den ganzen Code nachzuprüfen?

Exakt. Es wird zwar immer gesagt: „Du kannst den Code selbst überprüfen“, aber das entspricht nicht wirklich der Realität. Wenn du selbst keine Ahnung vom Programmieren hast, bringt dir das gar nichts. Und selbst wenn, wirst du dir realistisch den Code eh nie genau anschauen können.

Letztendlich muss man sich wie bei Closed Source auch bei Open Source auf andere verlassen: Bei Closed Source auf den Hersteller, bei Open Source auf „die Community“ - wer oder wie viele auch immer das sein mögen.

Da könnte die KI die Verhältnisse stark verändern, weil damit jeder, der Zugang zu den entsprechenden Modellen hat, wohl sehr gut Code auf Schwachstellen untersuchen lassen kann. Das legen Berichte über Anthropics „Mythos“ nahe. ( Anthropic: EU bekommt Zugang zu KI-Modell „Mythos“ )

1 „Gefällt mir“

Ja und nein. Viele Open-Source-Projekte wurden/werden mit „AI-Slop-PRs“ überflutet, sodass viele Maintainer überhaupt keine PRs mehr erlauben.

Könnte natürlich sein, dass sich dieses Problem löst, je kompetenter die Modelle werden. Das glaube ich aber nur bedingt.

Das ist natürlich ein klassisches Henne-Ei Problem. Open Source bietet überhaupt die Möglichkeit der Unabhängigkeit, ist nur mit den allgemeinen Geschäftsinteressen schwieriger vereinbar. Dass es geht zeigen größere Projekte (Libre Office, der Linux Kernel, etc), aber Nischenprojekte kämpfen natürlich mit knappen Resourcen überall. Dadurch wird Open Source aber nicht unsicherer als Closed Source (das kann man schön an den regelmäsig veröffentlichen kritischen Sicherheitslücken von M$ Produkten sehen).

Ich sage auch nicht, dass Open Source per se unsicherer ist als Closed Source. (Wobei ich den Vergleich mit MS-Produkten für etwas falsch halte. Da MS-Produkte viel mehr im Umlauf sind und auch von Unternehmen eher eingesetzt werden, sind sie für Hacker deutlich attraktiver. Dass bei MS-Produkten also mehr Bugs bekannt sind, heißt nicht unbedingt, dass es dort tatsächlich mehr Bugs gibt als bei Open Source. Es kann auch einfach sein, dass sich mehr Hacker für diese interessieren und daher mehr von den vorhandenen Bugs finden.)

Mein Punkt ist vielmehr, dass sich Open Source gar nicht so sehr von Closed Source unterscheidet. In beiden Fällen muss man einer anderen Partei vertrauen. Das Versprechen, dass sich jeder selbst von der Sicherheit von Open Source überzeugen kann, ist daher nicht viel mehr als ein Marketingversprechen.

Das mag für Enduser PCs gelten, aber Open Source Software ist weit mehr verbreitet als M$ Produkte. Unser Internet läuft größtenteils auf Open Source (fast alle Webserver, mit hunderten von Erweiterungen, die meisten Big Data Analysis Tools, etc.)

Muss man genau nicht. Man kann sich den Code ansehen (natürlich wenn man kann). Aber darum geht es doch gar nicht. Es geht darum, dass, wie ich bereits erklärt habe, Unabhängige sich den Code ansehen können und nach Bugs etc zu suchen. Und das passiert ja auch. Bei M$ muss ich darauf hoffen, dass entweder M$ selber genügend Resourcen spendiert, um Bugs und Sicherheitslecks zu finden, oder dass Unabhängige in einem Black Box Verfahren etwas finden. Dieses Verfahren ist aber weit aufwendiger, als direkt den Source Code zu auditieren.

Klar ist das bei Open Source Nischenprodukten seltener der Fall, aber das kann ich ja mit einpreisen, wenn ich Software für meinen Einsatz aussuche. Bleibt man bei Open Source bei den „Big Playern“ bin ich da schon ganz gut aufgehoben.

Das mag für Enduser PCs gelten, aber Open Source Software ist weit mehr verbreitet als M$ Produkte.

Ich habe jetzt natürlich MS-Produkte mit ihren Open-Source-Äquivalenten verglichen. Ein anderer Vergleich würde ja keinen Sinn ergeben.

Es geht darum, dass, wie ich bereits erklärt habe, Unabhängige sich den Code ansehen können und nach Bugs etc zu suchen.

Aka. eine andere Partei (als ich). Wie ich bereits sagte. Im Endeffekt wiederholst du in deinem zweiten Abschnitt nur das, was ich bereits zuvor geschrieben habe, nur mit anderen Formulierungen?

Um das noch mal deutlich zu machen:

Bei M$ muss ich darauf hoffen, dass entweder M$ selber genügend Resourcen spendiert, um Bugs und Sicherheitslecks zu finden, oder dass Unabhängige in einem Black Box Verfahren etwas finden.

Bei Open Source muss ich darauf hoffen, dass „irgendjemand“ sich den Code anschaut.

Wie gesagt, in einem Fall muss man einem Unternehmen vertrauen, im anderem der „Community“.

Und Fun Fact: Die meisten Open-Source-Contributions zu Linux (und anderen großen Projekten) werden nicht von irgendwelchen „Unabhängigen“ gemacht; es sind viel eher die großen Tech-Unternehmen. 84,3 % der Commits 2025 wurden von Entwicklern gemacht, die einem Tech-Unternehmen angehören. (Linux Kernel Contributors And Lines of Code Statistics 2026)

1 „Gefällt mir“

OpenSource bedeutet nicht automatisch, dass die Software sicher ist. Es bietet nur die Möglichkeit, direkt den Source-Code auf Schadcode zu prüfen. Können dürften das die wenigsten.

Schaut man sich z.B. den Vorfall mit den XZ-Utils aus 2024 an, so konnte dieser erst entstehen, gerade weil es eine Open Source Bibliothek ist.
Hintergrund: XZ-Utils ist ein frei verfügbares Open-Source-Projekt für Datenkompression, das in fast allen Linux-Distributionen genutzt wird.
Hier hatte sich ein Maintainer mit dem Namen „Jia Tan“ über längere Zeit an dem Projekt eingearbeitet und dabei eine versteckte Backdoor eingebaut (CVE-2024-3094). Dabei war der Schadcode nicht leicht zu finden, da Teile davon in Testdateien und Build-Skripten versteckt waren. Diese manipulierte beim Bauen des Tools den Code.
Entdeckt hat den Fehler Andreas Freud (Softwareentwickler) aber nicht durch Prüfen des Codes, sondern über das veränderte Verhalten (ungewöhnlich hohe CPU-Last, Verzögerungen bei SSH etc.). Das wäre auch bei Closed-Source Software möglich gewesen.
Fazit: Entdeckt worden wäre diese Backdoor mit hoher Wahrscheinlichkeit auch bei Closed-Source Software, nachvollziehen können es mehr Entwickler bei Open-Source.

Ein ähnlicher Fall war auch die Manipulation von tj-actions auf GitHub.
Diese Manipulation wurde auch nicht durch Open-Source entdeckt, sondern im Entwicklungsprozess von StepSecuritys Harden-Runner, einem Security-Tool für GitHub Actions.

Open-Source ist kein Sicherheitsmerkmal an sich.

Das oben sind übrigens nur die bekanntesten Fälle der letzten Jahre, es gibt hunderte weitere, die bekannt sind. Und wer weiß wie viele unbekannte?

2 „Gefällt mir“

Ich glaube, vom Standpunkt der Sicherheit sind die Vorteile von quelloffenen und proprietären Lösungen rein philosophisch. Auf beiden Seiten kommt es immer wieder zu Lücken. Das BSI hat teils schwere Lücken in Nextcloud, Mastodon und Matrix beschrieben. Die allgemeine Code-Qualität wurde als schwach beschrieben, mit vielen duplizierten Code-Abschnitten, die auf Wildwuchs in der Entwicklung deuten. Die oben beschriebene Unterwanderung eines quelloffenen Projekts wurde übrigens von einem Microsoft-Entwickler entdeckt.

Aus meiner Sicht lautet das zentrale Argument für quelloffene Lösungen nicht Sicherheit, sondern Unabhängigkeit.

Und umgekehrt geht das halt nicht so einfach. Niemand sagt, dass Open Source automatisch mehr Sicherheit garantiert. Aber wenigstens kann jemand völlig fremdes den Code auditieren. Bei closed source muss man auf Fuzzing Ergebnisse hoffen oder den Unternehmen vertrauen, dass sie die Sicherheitslücken selbst finden.

Und zum Thema „Sciherheitslücken in Open Source gefunden“: Wollen wir mal alle schwerwiegenden Sicherheitslücken in Microsoft oder Oracle oder Cisco (etc, Liste lässt sich beliebig verlängern) gefunden wurden in der letzten Zeit? Ich denke nicht.