ClickCease Offener Quellcode: Sicherheit auf Unternehmensebene mit offenem Code? - TuxCare

Abonnieren Sie unseren beliebten Newsletter

Schließen Sie sich 4.500+ Linux- und Open-Source-Experten an!

2x im Monat. Kein Spam.

Offener Quellcode: Sicherheit auf Unternehmensebene mit offenem Code?

11. Mai 2021. TuxCare PR Team

Unternehmen verlassen sich mehr und mehr auf Open-Source-Code-Lösungen, auch wenn sie sich dessen nicht bewusst sind. Aber wird die Sicherheit von Open-Source-Code zuverlässig gehandhabt? Große Unternehmen legen zu Recht großen Wert auf den Einsatz zuverlässiger, sicherer Softwarelösungen. Oftmals sind die leistungsfähigsten und sichersten Softwarelösungen freie, quelloffene Software.

Selbst dort, wo Unternehmen immer für Software bezahlen, hängt kommerziell lizenzierte Software oft von Open-Source-Bibliotheken für einige Funktionen ab - Dieser XKCD-Comic fasst treffend zusammen, wie diese Abhängigkeiten funktionieren.

Es gibt jedoch berechtigte Bedenken hinsichtlich der Sicherheit von Open-Source-Software, nicht zuletzt, weil es oft keine Partei gibt, die letztendlich für die Sicherheit einer Open-Source-Lösung verantwortlich ist.

Es ist daher wenig überraschend, dass eine Umfrage der Linux Foundation aus dem Jahr 2020 sich mit der Sicherheit von Open-Source-Software befasst hat. In diesem Artikel gehen wir auf einige der Ergebnisse dieser Umfrage ein. Wir werden diese Ergebnisse im Zusammenhang mit einer wichtigen Frage untersuchen: ob Open-Source-Lösungen einen sicheren Betrieb in der Unternehmensumgebung gewährleisten können.

 

Inhalt:
1. Was treibt die Open-Source-Entwicklung an?
2. Kommerzielle Zwänge hinter der Open-Source-Entwicklung
3. Anreize sind wichtig, aber vielleicht gibt es niemanden, der Anreize schafft...
4
. Spielt Open-Source für Unternehmen eine Rolle?
5. Die Verbreitung von Open-Source in der Unternehmensumgebung
6. Die Sicherheit wird nicht durch das Quellcode-Modell bestimmt
7. Füllen der Open-Source-Sicherheitslücke
8. Praktische Methoden zur Verbesserung der Softwaresicherheit
9. Automatisiertes Live-Patching zur Erhöhung der Open-Source-Sicherheit
10. Behandeln Sie Open-Source-Code wie jeden anderen Code

 

Was treibt die Open-Source-Entwicklung an?

 

Wir wissen, was die Entwicklung von kommerzieller, quelloffener Software antreibt. Es ist schlicht und einfach der Profit. Theoretisch investieren kommerzielle Software-Anbieter Zeit und Mühe in die Sicherung ihrer Software bei der Veröffentlichung.

Auch auf IT-Sicherheitsprobleme, die nach der Freigabe des Codes festgestellt werden, reagieren die Anbieter in der Regel schnell. Auch hier ist die Motivation einfach. Sichere Software ist gewinnbringende Software, und kein kommerzieller Anbieter würde sich bei der Softwaresicherheit Freiheiten herausnehmen wollen, da dies schnell zu Rufschädigung - und Gewinneinbußen - führen würde.

Bei Open-Source-Software ist die Sache etwas komplizierter. Die Entwicklung von Open-Source-Software wird im Allgemeinen nicht durch koordinierte kommerzielle Zwänge vorangetrieben, und die Einreichung von Beiträgen zu Open-Source-Repositories führt in der Regel nicht zu einer direkten Bezahlung für den Beitrag.

Die Beweggründe für Beiträge sind von Bedeutung, da sie einen Hinweis auf das Maß an Sorgfalt geben, das der Softwaresicherheit gewidmet wird. Der Bericht der Linux Foundation nennt drei typische Gründe, warum Entwickler zu Open-Source-Code beitragen:

  • Ein Entwickler entdeckte ein Problem, das er in einer Open-Source-Lösung, auf die er angewiesen war, beheben musste. Oder ein Entwickler musste der Open-Source-Lösung, die er verwendet, eine bestimmte Funktion hinzufügen.
  • Als Lernübung tragen Entwickler zu Open-Source-Code bei, um ihre Kompetenzen zu trainieren und mehr über ein Open-Source-Projekt zu erfahren.
  • Für einige Entwickler hat die Mitarbeit an Open-Source-Projekten den einfachen Reiz einer anspruchsvollen, erfüllenden Programmierarbeit.

Der Beitrag zur Sicherheit von Open-Source-Software wird in der Liste nicht besonders hervorgehoben. Tatsächlich gaben die Teilnehmer an, dass sie die Arbeit an der Sicherheit von Open-Source-Code als eine ermüdende und undankbare Aufgabe.

 

 

Kommerzielle Imperative hinter Open-Source-Entwicklung

 

In der Umfrage der Linux Foundation wurde auch eine weitere wichtige Triebkraft für die Open-Source-Entwicklung hervorgehoben: kommerzielle Anforderungen. Der Umfrage zufolge ist es üblich, dass die Entwickler, die zu Open-Source-Code beitragen, dafür bezahlt werden. 52 % der Entwickler, die an der Umfrage teilnahmen, gaben an, dass sie für die Mitarbeit an einem Open-Source-Projekt bezahlt wurden.

Mit anderen Worten: Etwa die Hälfte der Befragten gab an, dass ein Arbeitgeber - entweder eine Institution oder ein kommerzielles Unternehmen - für die Fertigstellung der Arbeit bezahlt hat. Dies ist ein großer Anteil der Befragten und spiegelt die Tatsache wider, dass es manchmal ein kommerzieller Bedarf ist, der Open-Source-Beiträge antreibt.

Dieser Bedarf kann eine neue Funktion sein - es kann aber auch vorkommen, dass ein kommerzielles Unternehmen einen Fehler im Open-Source-Code entdeckt und einen Entwickler dafür bezahlt, ihn zu beheben.

Das ist ein gutes Zeichen für die Sicherheit von Open-Source-Software, aber es deutet auch darauf hin, dass, wenn ein kommerzieller Anbieter eine Schwachstelle nicht findet und keinen Anreiz hat, sie zu beheben, die Schwachstelle möglicherweise nie behoben wird, da die Entwickler von Open-Source-Software nicht besonders motiviert sind, an der Sicherheit von Open-Source-Software zu arbeiten.

 

 

Anreize sind wichtig, aber vielleicht gibt es niemanden, den man anspornen könnte...

 

Wir wollen kein vorschnelles Urteil fällen. Es gibt Milliarden von Zeilen Open-Source-Code, von denen ein Großteil ohne jegliche Vergütung geschrieben wurde, da viele Entwickler nur aus Liebe zum Open-Source-Modell analysieren, programmieren und korrigieren.

Nichtsdestotrotz ist klar, dass Anreize - kommerziell oder anderweitig - nützlich sind, um die Aufdeckung und Behebung von Sicherheitslücken zu beschleunigen. Aber selbst Anreize reichen möglicherweise nicht aus.

Wir wissen, dass einige Open-Source-Fehler in sehr altem Code gefunden werden können - der kürzlich entdeckte Fehler in libcurl zum Beispiel ist Jahrzehnte alt. Das Problem ist, dass es selbst mit den richtigen Anreizen für die Reparatur des Codes schwierig sein kann, die Entwickler zu finden, die dies tun.

Open-Source-Projekte reifen und treten mit der Zeit in den Hintergrund, auch wenn der Code hinter dem Projekt noch täglich genutzt wird. Dies führt zu einem Problem bei der Suche nach Entwicklern, da die ursprünglichen Entwickler zu anderen Projekten weitergezogen sind - zurück bleibt eine begrenzte Anzahl von Entwicklern, die noch in der Lage sind, die Korrektheit und den Wert des zum Projekt beigetragenen Codes zu beurteilen.

Es ist ein häufiges Problem, dass viele hochkarätige Projekte Schwierigkeiten haben, Entwickler mit den nötigen Qualifikationen zu finden, die einen Beitrag leisten können - auch beim Linux-Kernel ist das ein Problem. Es hat dazu geführt, dass einige Projekte zunehmend auf bezahlte Entwickler zurückgreifen um wichtige Aspekte eines Projekts voranzutreiben - einschließlich Sicherheitsfragen.

 

 

Ist Open-Source für Unternehmen von Bedeutung?

 

Die Sicherheit von Open-Source-Software ist zweifellos sehr komplex, aber ist sie für Unternehmensanwender wirklich wichtig? Schließlich können es sich große Organisationen leisten, für sichere Software zu bezahlen.

Auch hier ist es kompliziert. Zunächst einmal können die Fähigkeiten von Open-Source-Software die Fähigkeiten kommerzieller Software übersteigen, und aus diesem Grund entscheiden sich Unternehmen möglicherweise für eine Open-Source-Lösung, selbst wenn diese zu kommerziellen Bedingungen angeboten wird.

Es ist auch wahr, dass kommerzielle Software oft Elemente von Open-Source-Software enthält - zum Beispiel in Bibliotheken. Denken Sie an PuTTy, ein weit verbreitetes Tool, das oft in kommerziellen Lösungen enthalten ist, aber das selbst Opfer eines Fehlers war der kürzlich entdeckt wurde.

Oder OpenSSL, die offene SSL-Lösung, die große Wellen schlug, als eine Sicherheitslücke entdeckt wurde - eine Sicherheitslücke, die sich weigert, zu verschwinden.

Verbreitung von Open-Source in der Unternehmensumgebung

 

Der Punkt ist, dass selbst Unternehmen, die ausschließlich auf kommerziell lizenzierte Software setzen, höchstwahrscheinlich irgendwo auf Open-Source-Code angewiesen sind.

Das ist nicht nur eine Behauptung. Eine viel zitierte Gartner-Studie besagt, dass 95% der Unternehmen Open-Source-Software für einen Teil ihrer kritischen Vorgänge verwenden. Dafür gibt es eine Reihe von Gründen, aber selten geht es darum, Geld zu sparen.

Ja, Open-Source-Software ist im Prinzip kostenlos, aber Lösungen für Unternehmen sind selten kostenlos, da große Organisationen in der Regel auf Open-Source-Lösungen als Teil intensiver Entwicklungsarbeit angewiesen sind - und Open-Source-Software oft an teure Supportverträge binden.

Der Grund, warum sich Unternehmen manchmal ausdrücklich für "kostenlose" Open-Source-Software entscheiden, ist, dass Open-Source-Code in vielen Fällen die leistungsfähigsten Lösungen liefern kann.

Wie im vorigen Abschnitt beschrieben, ist Open-Source-Code auch in kommerziellen, quelloffenen Lösungen enthalten. Man kann sogar sagen, dass Open-Source-Code so weit verbreitet ist, dass Unternehmen im Grunde davon ausgehen können, dass in einer Lösung offener Code verwendet wird, unabhängig von der Quelle der Lösung, die eingesetzt wird.

 

Die Sicherheit wird nicht durch das Quellenmodell bestimmt

 

Open-Source-Code ist öffentlich. Theoretisch können und werden sich also mehr Menschen mit diesem Code befassen, so dass es mehr Möglichkeiten gibt, Schwachstellen zu entdecken. Die Realität kann jedoch anders aussehen, da es Jahre dauert, bis Schwachstellen wie der oben erwähnte OpenSSL-Bug gefunden werden.

Und wie wir bereits erklärt haben, ist die Motivation für Open-Source-Entwickler, nach Fehlern in Open-Source-Code zu suchen und diese zu finden, möglicherweise begrenzt.

Gleichzeitig bedeutet die Tatsache, dass kommerzielle Software mit geschlossenem Quellcode von einem Gewinnstreben geleitet wird, nicht, dass sie sicherer ist als Open-Source-Code. Es gibt keine Garantie dafür, dass ein Anbieter Sicherheitsforscher einsetzt, um den Code auf Schwachstellen zu untersuchen, und es besteht immer das Risiko, dass Projektteams die Codierung überstürzen, um ein Projekt innerhalb einer bestimmten Frist abzuschließen. Außerdem wird der Code nach seiner Fertigstellung möglicherweise nie überprüft.

Open-Source-Code ist zwar theoretisch offener und damit sicherer, aber es gibt keine Garantie dafür, dass sich die richtigen Leute damit befassen. Auf der anderen Seite gibt es keine Garantie dafür, dass kommerzielle Softwareanbieter ihre Sicherheitsverantwortung ernst nehmen.

Vor allem übersehen Entwickler immer Dinge und machen immer Fehler, unabhängig davon, ob sie bezahlt werden oder nicht und unabhängig von der Partei, die den Entwickler bezahlt.

Schließung der Open-Source-Sicherheitslücke

 

Es spielt keine Rolle, ob Ihr Unternehmen die Sicherheit von Open-Source-Software als schlechter oder besser ansieht als die Sicherheit von kommerziell lizenzierter Software. Tatsache ist, dass es Lücken in der Sicherheit von Open-Source-Software gibt und dass die meisten Unternehmen in irgendeiner Form von Open-Source-Software abhängig sind. Daher ist die Sicherheit von Open-Source-Software wichtig, Punkt.

Ja, die Software-Sicherheit liegt in der Verantwortung Ihres Unternehmens, und wir werden im nächsten Abschnitt einige bewährte Methoden vorstellen. Aber die Open-Source-Gemeinschaft und die Nutzer von Open-Source-Software müssen die ersten Schritte in Sachen Open-Source-Sicherheit unternehmen. Der Bericht der Linux Foundation enthält einige wichtige Vorschläge in dieser Hinsicht:

  • Die Finanzierung sollte Vorrang haben, damit die Entwickler einen Anreiz haben, an der Sicherheit von Open-Source-Software zu arbeiten, unter anderem durch regelmäßige Audits des kritischsten Open-Source-Codes.
  • Die Linux Foundation schlägt außerdem vor, dass Open-Source-Code, der sich wiederholt als anfällig erwiesen hat, von Grund auf umgeschrieben werden sollte. Zum Beispiel durch Konvertierung des Codes von einer speicherunsicheren Sprache (z. B. C oder C++) in eine speichersichere Sprache - z. B. Python oder JavaScript.
  • Zusätzlich zur Finanzierung, sollten Anreize für Entwickler durch Abzeichenprogramme und durch Mentorenschaft Anreize schaffen, um die Bedeutung der Softwaresicherheit in der Open-Source-Gemeinschaft zu erhöhen.
  • Schließlich schlug die Linux Foundation vor, dass kommerzielle Anbieter bei der Einstellung von Open-Source-Entwicklern Kenntnisse im Bereich der Softwaresicherheit voraussetzen und gleichzeitig ihre Entwickler fortlaufend schulen sollten, um eine Basis für die Unterstützung der sicheren Softwareentwicklung zu schaffen.

Langfristig kann Open-Source-Software nur dann sicherer werden, wenn sich alle Beteiligten wieder auf die Sicherheit konzentrieren und gleichzeitig die richtigen Anreize für die Entwickler schaffen, die am Code arbeiten. Die jetzigen Anreize sind nicht ausreichend.

Praktische Methoden zur Verbesserung der Software-Sicherheit

 

Es gibt Lücken in der Sicherheit von Open-Source-Software, aber es gibt eine Reihe von Tools, die dabei helfen, diese Lücken zu schließen. Außerdem liegt die Sicherheit von Software letztlich in der Verantwortung Ihrer Organisation. Wir schlagen die folgenden Punkte vor:

  • Wenden Sie konsequent bewährte Praktiken an, darunter die Multi-Faktor-Authentifizierung (MFA) und eine starke Passwortsicherheit. Auch die Verwaltung von Anmeldeinformationen und eine strenge Verwaltung von Berechtigungen ist wichtig.
  • Überwachung und Tests helfen Ihnen, Eindringlinge und Schwachstellen in Ihrem Sicherheitsprofil zu erkennen, so dass Sie Eindringlinge stoppen können, bevor diese zu ernsten Konsequenzen führen.
  • Verstehen Sie, auf welche Tools Sie sich verlassen - und versuchen Sie, auch die zugrundeliegenden Bausteine, einschließlich der Bibliotheken und Abhängigkeiten, in den Griff zu bekommen, da die wahren Risiken oft nicht sichtbar sind.

Das wohl wichtigste Element der Softwaresicherheit ist jedoch das Patching. Ständiges, umfassendes Patchen schützt Ihre Lösungen vor bekannten Schwachstellen und ist gleichermaßen wirksam, unabhängig davon, ob Sie freie Software oder kommerziell lizenzierte Software verwenden.

Allerdings ist es nicht einfach, konsequent zu patchen. Das Patchen kann extrem zeitaufwändig sein, und oft patchen die Teams nur die Schwachstellen mit der höchsten Priorität - und lassen viele andere Schwachstellen ungeschützt. Die Tatsache, dass für das Patchen oft ein Neustart oder ein Reboot erforderlich ist, ist nicht hilfreich. Im Interesse der Verfügbarkeit entscheiden sich die Teams oft, nicht planmäßig zu patchen, sondern nur, wenn eine kritische Schwachstelle vorliegt.

Automatisierte Live-Patches zur Erhöhung der Open-Source-Sicherheit in Betracht ziehen

 

Patching ist wichtig, aber oft nicht so effektiv wie es sein sollte. Das automatisierte Live-Kernel-Patching von TuxCare schließt eine große Lücke in der Open-Source-Sicherheit, indem es sicherstellt, dass Ihre Server durchgängig gegen Sicherheitslücken gepatcht sind - ohne die damit verbundenen Unterbrechungen der Dienste.

Den Open-Source-Entwicklungsteams und den einzelnen Beiträgen fehlt es an Motivation und Anreiz, die Software, zu der sie beitragen, vollständig zu sichern. Und, wie wir wissen, ist Irren menschlich - Fehler werden immer gemacht werden.

Die Linux Foundation hat mehrere solide Empfehlungen abgegeben, die die Sicherheit von Open Source wahrscheinlich verbessern werden, aber auf absehbare Zeit werden weiterhin Schwachstellen in den Code geschrieben werden - nur um dann gefunden und gepatcht zu werden. Patchen ist wichtig.

 

 

Behandeln Sie Open-Source-Code wie jeden anderen Code

Abschließend lässt sich sagen, dass Unternehmensanwender fast immer auf Open-Source-Code angewiesen sind, sei es direkt oder indirekt über Bibliotheken. Open-Source-Code ist zwar nicht per se unsicher, aber bei Open-Source-Code gibt es besondere Sicherheitsüberlegungen.

Sensibilisierung ist der erste Schritt - und Live-Patching kann eine hilfreiche unterstützende Maßnahme sein. Mit anderen Worten: Open-Source-Code kann hochgradig sicher sein - genauso sicher wie Closed-Source-Code von einem kommerziellen Anbieter. Es hängt alles von der Sicherheitslage Ihres Unternehmens ab.

Möchten Sie das Patchen von Sicherheitslücken ohne Kernel-Neustart, Systemausfallzeiten oder geplante Wartungsfenster automatisieren?

Erfahren Sie mehr über Live-Patching mit TuxCare

Werden Sie ein TuxCare-Gastautor

Los geht's

E-Mail

Beitreten

4,500

Linux & Open Source
Fachleute!

Abonnieren Sie
unseren Newsletter