momius - Fotolia

Tipps zur sicheren Entwicklung mit Open-Source-Komponenten

Häufig sind Open-Source-Komponenten Bestandteil anderer Software im Unternehmen. Das kann Sicherheitsprobleme mit sich bringen. Folgende Best Practices sorgen für mehr Sicherheit.

Open-Source-Software ist momentan unverzichtbar. Für Entwickler von Applikationen sind sie viel praktikabler, da sie Release-Zyklen von wenigen Wochen oder sogar Tagen ermöglichen. Diese würden sich massiv verlängern, müssten die zugehörigen Softwarekomponenten zunächst in Eigenregie entwickelt werden.

Allerdings sind diese Lösungen nicht gänzlich risikolos. Sie erhöhen das Risiko, dass Unternehmen gegen Compliance-Vorgaben verstoßen und bei Audits durchfallen. Das belegt der „State of Software-Security 2017“-Report, wonach 44 Prozent aller Anwendungen erhebliche Schwachstellen aufwiesen, die auf Open-Source-Komponenten zurückzuführen waren.

So konnten Cyberkriminelle beispielsweise im November 2016 das öffentliche Nahverkehrssystem in San Francisco mit Hilfe einer Schwachstelle in den Apache Commons Collections lahmlegen. Mehr als 2.100 Rechner wurden damals mit Ransomware infiziert.

Trotzdem sollten Unternehmen durchaus offen für Open-Source sein, schließlich sind die Vorteile enorm. Vielmehr sollten sie Maßnahmen ergreifen, um die Schwachstellen zu minimieren.

Kommerzielle Software mitunter anfälliger als Open Source

Geht es um Sicherheit von Open-Source-Software, verlässt man sich gemeinhin auf „Linus‘ Gesetz“, welches besagt, Schwachstellen von Open-Source-Komponenten ließen sich durch permanente Analyse von Entwicklern und Anwendern entdecken und eliminieren.

Dass dies nicht der Fall ist, zeigte die Heartbleed-Sicherheitslücke in der OpenSSL-Bibliothek, die mehr als zwei Jahre unentdeckt blieb. Es macht nämlich einen entscheidenden Unterschied, ob ein Softwarefachmann selbst Programme entwickelt, oder den Code anderer Entwickler verwendet. Einen eigenen Programmcode zu überprüfen, ist in der Regel einfacher. Zudem gibt es gar nicht genug Softwarespezialisten, die in der Lage sind, Open-Source-Code unter die Lupe zu nehmen.

Julian Totzek-Hallhuber, Veracode

 „Open Source ist nicht schlechter und anfälliger als proprietäre Software. Unternehmen müssen nur grundlegende Vorkehrungen treffen und Sicherheitsrisiken eliminieren, die durch sie auftreten können.“

Julian Totzek-Hallhuber, Veracode 

Deshalb muss Open-Source-Software allerdings nicht zwangsläufiger weniger sicher sein als kommerzielle Applikationen, deren Anbieter den Code nicht zugänglich machen.

Laut der eingangs erwähnten Studie versagten mehr als 77 Prozent der kommerziellen Softwarepakete bei Sicherheits-Scans, die auf den Vorgaben des Open Web Application Security Projetcs (OWASP) basierten. Bei selbst entwickelter Software von Unternehmen lag dieser Wert nur bei 65 Prozent. Zudem haben die Nutzer von Open-Source-Lösungen die Option, selbst einen Patch zu schreiben, wobei sie im anderen Fall auf Updates der Anbieter angewiesen sind.

Best Practices für die Entwicklung mit Open-Source-Komponenten

Wer auf Open-Source-Software zugreift, kann verschiedene Maßnahmen ergreifen, um die Entstehung von Schwachstellen zu minimieren. Folgende Best Practices haben sich hierbei bewährt:

Vorgabe von Policies: Fest umschriebene Regeln sind die tragenden Säulen einer Sicherheitsstrategie von Open-Source-Lösungen. Sie beugen der Annahme von Entwicklungs-Teams vor, nach Belieben jede Art von Open-Source-Software verwenden zu können, was unter dem Aspekt der IT-Sicherheit hochriskant ist. Eine unternehmensweite Policy legt fest, welche Tools aus dem Open-Source-Repertoire eingesetzt werden dürfen.

Implementierung eines zentralen Patch-Managements: Nicht nur bei Open-Source-Lösungen, sondern generell allen Softwarepaketen ist es zu empfehlen, regelmäßige Patches einzuspielen. Hierbei ist Geschwindigkeit entscheidend, denn es gilt, die Schwachstellen zu schließen, ehe Cyberkriminelle sie ausnutzen können. Ein zentrales Patch-Management hilft bei der Umsetzung.

Kontrolle von Software-Repositories: Ein umfassender Zugang zu Open-Source-Bibliotheken in nativen Umgebungen ist für Entwickler unumgänglich. Aus Sicherheitsgründen ist es allerdings hilfreich, den Zugriff auf Repositories zu begrenzen. Hilfreich ist beispielsweise ein Cache-Speicher mit bekannten, geprüften und freigegebenen Softwarekomponenten. Etwas radikaler ist eine Firewall, die den Zugang zu bestimmten Softwareressourcen blockiert.

Kontrolle der Softwarelieferkette: In Unternehmen finden sich neben Standardsoftware auch Programmpakete unterschiedlicher Anbieter. Dies führt dazu, dass neben bekannten Sicherheitslücken auch Schwachstellen Einzug ins Netzwerk erhalten, die selbst den Security-Spezialisten nicht bekannt sind. Sicherheitstests schaffen hier Abhilfe. Hier empfehlen sich Tools für statische Code-Analysen und Werkzeuge für Software Composition Analysis (SCA). Nicht nur das IT-Sicherheitspersonal, sondern auch Softwarefachleute erhalten so einen detaillierten Überblick über bestehende Risiken.

Auf Sicherheitslücken vorbereitet sein: Stillstand bedeutet heutzutage in Sicherheitsfragen Rückschritt. Daher sollten sich Unternehmen niemals mit dem Status Quo zufriedengeben und regelmäßig Risikobewertungen von Open-Source-Software und anderen Programmen durchführen. Ebenso muss es einen gemeinsamen Plan von Entwicklern und IT-Sicherheitsspezialisten geben, wie sich entdeckte Schwachstellen beseitigen lassen.

Sicherheit und Entwicklung verzahnen: Die IT-Sicherheitsabteilung kann die Sicherheit von Software nur vollständig bewerten, wenn sie die Werkzeuge der Entwickler kennen und darauf zugreifen können. Daher sollten beide Abteilungen regelmäßig Informationen austauschen. Es muss ständig gewährleistet sein, dass beide Teams in Sachen Sicherheitslücken auf dem gleichen Stand sind und wie diese zu beheben sind.

Fazit: Vorbereitung bedeutet Sicherheit

Open Source ist nicht schlechter und anfälliger als proprietäre Software. Unternehmen müssen nur grundlegende Vorkehrungen treffen und Sicherheitsrisiken eliminieren, die durch sie auftreten können. Wichtig sind hierbei fest umschriebene Regeln und ein abteilungsübergreifender Informationsfluss. So können Open-Source-Komponenten ihr volles Potenzial entfalten.

Folgen Sie SearchSecurity.de auch auf Twitter, Google+, Xing und Facebook!

Nächste Schritte

Best Practices für eine bessere Anwendungssicherheit

Die Sicherheit von Webanwendungen verbessern

Das Sicherheitsrisiko bei Anwendungen reduzieren

Erfahren Sie mehr über Anwendungs- und Plattformsicherheit