Ist Open Source sicher?
Tim Mackey, der leitende Sicherheitsstratege bei der Synopsys Cybersecurity Research Centre, beantwortet eine Frage, die viele IT-Spezialisten beunruhigt: Ist Open Source sicher?
Da neue Schwachstellen gegen Open-Source-Komponenten offengelegt und neue Angriffe gegen Repositories von Open-Source-Komponenten und sogar gegen Open-Source-Entwicklungsmethoden gestartet werden, ist es wichtig, die Frage zu stellen: Wie sicher sind Open-Source-Komponenten?
Um diese Frage zu beantworten, müssen wir zunächst einige Parameter definieren. Dies ist von entscheidender Bedeutung, da Open-Source-Technologien die moderne Softwareentwicklung vorantreiben. Tatsächlich gibt es nur sehr wenige Softwareanwendungen und -dienste, die nicht zumindest einige Open-Source-Elemente enthalten.
Open-Source-Komponenten reichen von grundlegenden, wie z. B. Diensten, die die Uhren von Servern, Mobiltelefonen und Computern synchron halten, oder Verschlüsselungsbibliotheken, die zur Sicherung des Internetverkehrs verwendet werden, über verschiedene Softwareentwicklungskits, die schnelle Innovationen im IoT ermöglichen, bis hin zu einfachen Dienstprogrammen, die entwickelt wurden einfachere Automatisierung gängiger Aufgaben wie der Softwarebereitstellung. Alle diese Millionen von Open-Source-Projekten haben eines gemeinsam – der Quellcode ist frei herunterladbar und jeder kann ohne Zustimmung der Projektbesitzer ein Derivat des Hauptprojekts erstellen.
Es ist diese Freiheit, die Innovation antreibt und ein Risiko darstellt. Denn wenn jemand ein Derivat eines Projekts erstellen kann, muss das bedeuten, dass Angreifer jederzeit jedes Projekt fälschen können. Der Endpunkt dieses Arguments ist, dass Open Source „unsicher“, mangelhaft oder in irgendeiner Weise unsicher sein muss.
Der Kontrapunkt ist, dass kommerzielle Software aufgrund strengerer Kontrollen oder größerer Ressourcen irgendwie sicherer ist. Was diejenigen, die dieses Argument vorbringen, nicht erkennen, ist, dass kommerzielle Software im Durchschnitt zu 70 % aus Open Source besteht, aber noch wichtiger ist, dass jede Software Fehler enthält und kein Softwareentwicklungsprozess perfekt ist.
Um diesen Punkt weiter voranzutreiben, von den über 1,500 Codebasen, die in der gescannt wurden 2021 Open-Source-Sicherheits- und Risikoanalyse (OSSRA) Bericht enthielten 98 % Open Source. Darüber hinaus enthielten 84 % der gescannten Codebasen mindestens eine Schwachstelle – eine Steigerung von 9 % gegenüber den Ergebnissen der Vorjahre.
Da jede Software Fehler enthält, können Fehler ausgenutzt und selbst die sicherste Software auf unsichere Weise eingesetzt werden. Warum also taucht die Sicherheit von Open Source immer wieder auf? Nun, wenn Open-Source-Komponenten gut genug sind, damit kommerzielle Softwareanbieter sie verwenden können, muss das etwas bedeuten? Und wenn Open-Source-Technologien für die Größten gut genug sind Cloud Anbieter, das muss doch auch was heißen, oder? Was wissen sie, was diejenigen, die Sicherheitsfragen stellen, nicht wissen?
Es stellt sich heraus, dass das Kernproblem Vertrautheit und, nun ja, Schuld ist. Es gibt keinen Anbieter, der als „Open Source“ bekannt ist. Das bedeutet zum Teil, dass, wenn jemand eine Open-Source-Lösung beschaffen möchte, kein Vertrag unterschrieben werden muss und folglich nichts für die Beschaffungsteams des Unternehmens zu tun ist. Da die Beschaffungsteams von Unternehmen oft die Torwächter für Compliance innerhalb des Unternehmens sind, bedeutet dies, dass jeder Compliance umgehen kann, und das ist eine schlechte Sache. Stellen Sie sich das Chaos vor, wenn jeder die benötigte Software kostenlos herunterladen könnte, ohne dass IT oder Beschaffung involviert sind.
Während sich dieser letzte Satz wie ein Augenzwinkern liest, ist die Realität, dass jede Software, die ohne Beteiligung der IT in ein Unternehmen gelangt, wahrscheinlich nicht gepatcht wird. Und das Patch-Management in Open Source ist ganz anders als bei kommerzieller Software. Da es keinen einzelnen Ursprungspunkt für eine Open-Source-Komponente gibt, ist es wichtig, nachzuverfolgen, woher jede Komponente oder Anwendung heruntergeladen wurde. Von dort müssen alle Patches oder Updates kommen.
Da wir alle wissen, wie wichtig das Patchen für die Sicherheit ist, stellt das Vorhandensein ungepatchter Open-Source-Komponenten in Ihrem Unternehmen ein Risiko dar, insbesondere angesichts der Tatsache, dass Open-Source-Software ohne Beteiligung der IT kostenlos heruntergeladen werden kann.
Kennt man die Herkunft der Open-Source-Komponente, kann man nicht nur eine Patch-Strategie dafür erstellen (Tipp: Updates funktionieren anders als bei kommerzieller Software), sondern auch die Sicherheit der Komponente einschätzen. Bauteilsicherheit bezieht sich in diesem Zusammenhang darauf, wie das Bauteil tatsächlich entwickelt wird.
Häufige Fragen, die Sie sich an dieser Stelle stellen sollten, sind:
- Bin ich an einem wahren Ursprung oder auf einer Gabelung? Wahre Ursprünge stellen den Hauptentwicklungsaufwand für die Komponente dar, und ein Fork ist ein beliebiger Zweig der Komponente. Sofern Sie keinen wirklich guten Grund haben, einen Fork zu verwenden, sollten Sie immer den wahren Ursprung der Komponente verwenden, der auch als „Upstream“ bezeichnet wird.
- Verfügt die Komponente über eine klar definierte Sicherheitsrichtlinie? Nur die beliebtesten Open-Source-Projekte verfügen über eine solche Richtlinie, und die Richtlinie beschreibt, wie Sicherheitsvorfälle verwaltet werden.
- Gibt es ein wohldefiniertes Beitragsmodell? Open-Source-Projekte gedeihen, wenn es aktive Mitwirkende gibt, aber wenn es kein definiertes Beitragsmodell gibt, gibt es wahrscheinlich keine Kriterien dafür, wie ein qualitativ hochwertiger Beitrag aussieht. Einige Beitragsrichtlinien legen explizit Testanforderungen für jeden Beitrag fest.
- Wer sind die Top-Beitragenden? Jede Software hat Mitwirkende, aber nicht jeder Mitwirkende versteht den gesamten Quellcode. Wenn die Top-Beitragenden neu im Projekt sind, könnte dies auf eine Verschiebung der Entwicklungsprioritäten hinweisen oder darauf, dass langjährige Mitwirkende das Projekt verlassen haben.
Obwohl es keinen wirklichen Unterschied in der Sicherheit von Open-Source- und kommerzieller Software gibt, ist die Realität so, dass es in verschiedenen Branchen mehrere Sicherheitsstandards gibt und alle Software, unabhängig von ihrer Herkunft, anhand geltender Standards überprüft werden muss.
WEITERLESEN:
- Das weltweit erste Open-Source-Framework für das Bot-Management wurde heute vorgestellt
- EA wird Opfer von Quellcode-Diebstahl
- Das Low-Code-Rätsel und seine Auswirkungen auf den Geschäftsbetrieb
- Wie man Low-Code-Plattformen für Unternehmen effektiver macht
Für Anwendungen, bei denen es keine Sicherheitsstandards gibt, ist die Frage der Sicherheit wirklich eine des Managements. Können Ihre Teams garantieren, dass sie Open-Source-Komponenten patchen können und die Änderungen in allen Updates überprüfen? Wenn Sie keinen guten Open-Source-Verwaltungsprozess eingerichtet haben, sollte die Sicherheit einzelner Komponenten keine oberste Priorität haben.