Kaum ein Software-Projekt beginnt heute noch auf der grünen Wiese. Das können sich Entwickler und Unternehmen in Zeiten immer schnellerer Release-Zyklen nicht leisten. Um Zeit und Kosten zu sparen, entscheiden sie sich deshalb oft für Open-Source-Bibliotheken.
Dabei sollte man aber bedenken, dass die Open-Source-Komponenten, die aus Millionen von bestehenden Bibliotheken entnommen werden, auch Schwachpunkte in die eigene Software integrieren könnten. Der „State of Software-Security Vol. 9“-Report von Veracode zeigte, dass die meisten Anwendungen immer noch etliche fehlerhafte Komponenten enthalten, wobei 77 Prozent der Java-Anwendungen mindestens eine Schwachstelle in einer Komponente enthielten. Auf quelloffene Software zu verzichten, ist aber auch keine Lösung, gilt sie doch als massiver Wachstumstreiber, die innovative Softwareentwicklung ermöglicht.
Unternehmen stehen vor der Herausforderung, die Vorteile von Open Source zu nutzen, ohne das Risiko einzugehen Schwachstellen zu importieren. Jedes Unternehmen, dessen Entwickler Open-Source-Software einsetzt, kann mit verschiedenen Maßnahmen die Entstehung von Schwachstellen minimieren. Folgende fünf Punkte haben sich als Maßnahmen zur Absicherung von Open-Source-Software bewährt:
1. Klare Policies definieren
Fest umschriebene Regeln sind ein integraler Bestandteil einer Sicherheitsstrategie von Open-Source-Lösungen. Dadurch wird verhindert, dass Entwickler einfach auf beliebige Open-Source-Bausteine zugreifen. Denn ein solches, unkontrolliertes Vorgehen setzt Unternehmen einem großen Risiko aus. Stattdessen müssen Richtlinien ausgearbeitet werden, die klar festsetzen, welche Tools und Komponenten aus der Open-Source-Welt eingesetzt werden dürfen.
2. Zentrales Patch-Management einführen
Nicht nur bei Open-Source-Lösungen, sondern auch bei allen anderen Software-Paketen ist es zu empfehlen, regelmäßig Patches zu installieren. Hierbei ist Geschwindigkeit entscheidend. Es gilt, die Schwachstellen zu schließen, ehe Cyber-Kriminelle sie ausnutzen können. Sobald Schwachstellen öffentlich werden, versuchen Hacker das auszunutzen, um in Unternehmensnetzwerke einzudringen. Unternehmen müssen dem zuvorkommen. Ein zentrales Patch-Management hilft bei der Umsetzung. Eine besonders perfide Methode ist aber, dass Kriminelle nicht mehr ganze Anwendungen angreifen, sondern ihre Aktivitäten gezielt auf Open-Source-Komponenten fokussieren, die eine Schwachstelle beinhalten.
3. Software-Repositories kontrollieren
Entwickler brauchen für ihre Arbeit zwingend Zugang zu Open-Source-Bibliotheken in nativen Umgebungen. Aus Gründen der Sicherheit ist es allerdings manchmal geboten, den Zugriff auf Repositories zu begrenzen. Das kann etwa in Form eines Cache-Speichers erfolgen, der alle bekannten, geprüften und freigegebenen Software-Komponenten enthält. Eine andere Methode wäre, mittels einer Firewall den Zugriff auf bestimmte unerwünschte Software zu verhindern.
4. Software-Lieferketten überprüfen
Unternehmen haben heute meist neben diverser Standardsoftware auch Programmpakete von Drittanbietern im Gebrauch. Dies führt dazu, dass neben bekannten Sicherheitslücken auch Schwachstellen Einzug ins Firmennetzwerk erhalten, die selbst den Security-Spezialisten nicht bekannt sind. Dem kann man nur mit regelmäßigen Sicherheitstests entgegenhalten. Anwendungen sollten über ihren gesamten Lebenszyklus hinweg aktiv gemanagt und überwacht werden. Hier empfehlen sich Tools für statische Code-Analysen und Werkzeuge für Software Composition Analysis (SCA). Durch Tests zur Anwendungssicherheit erhalten Entwickler- und Sicherheitsteams einen detaillierten Überblick über bestehende Risiken und entsprechende Fehlerbehebung.
5. Sicherheit proaktiv angehen
Vor allem wenn es um die Sicherheit geht, heißt heute Stillstand 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. Sicherheitsabteilungen müssen außerdem die Tools der Entwickler kennen und die beiden Teams müssen eng zusammenarbeiten und sich ständig austauschen. Dieses an Beliebtheit gewinnende Modell wird oft als DevSecOps bezeichnet, da es die Zusammenarbeit von Sicherheits- und Entwicklerteams effizienter gestaltet und Schwachstellen dadurch schneller finden und beheben kann.
www.veracode.com