Wie und warum Sie Open-Source-Sicherheitsscans durchführen sollten?
Open-Source-Software ist in vielerlei Hinsicht fantastisch. Sie ist in der Regel kostenlos, lässt sich leicht anpassen oder erweitern und das Nutzen von Open-Source-Code kann die Entwicklungszeit für eine Anwendung deutlich verkürzen.
Andererseits bringt die Verwendung von Open-Source-Software auch eine große Herausforderung mit sich: das Thema Sicherheit. Wenn auch Open Source aus Sicherheitsperspektive nicht mehr (oder weniger) riskant ist als Closed-Source-Software, so besteht doch immer das Risiko, dass durch Open-Source-Software Schwachstellen in Ihrem Unternehmen kommen.
Genau deshalb sind Open Source-Sicherheitsscans für jedes Unternehmen, das Open Source verwendet, von wesentlicher Bedeutung. Hier finden Sie eine Übersicht über die Funktionsweise von Open-Source-Sicherheitsscans, warum sie wichtig sind und wie Sie sie in Ihre Sicherheitsstrategie integrieren können.
Warum sollte man Open Source Komponenten scannen?
In Open-Source-Code kann sich eine Vielzahl von Sicherheitslücken einschleichen. Er könnte z.B. Funktionen enthalten, die Eingaben nicht richtig validieren, was Angreifer ausnutzen könnten, um unbefugten Zugriff auf sensible Daten zu erhalten. Oder aber Programmierfehler innerhalb von Open-Source-Bibliotheken oder -Modulen ermöglichen die Ausführung beliebigen Codes, so dass Angreifer die Kontrolle über eine Applikation oder das System, auf dem sie läuft, übernehmen können.
Diese Art von Schwachstellen können auch in proprietärer Software vorhanden sein. Das Problem bei Open Source ist aber, dass Entwickler von Drittanbietern Open-Source-Code leicht weiterverwenden können; bei proprietärem Code ist das in der Regel nicht der Fall. Das heißt, dass Unternehmen, die sich auf Open-Source-Software verlassen, welche von Dritten geschrieben wurde, unter Umständen Sicherheitslücken in ihre Codebasis importieren – oft ohne es zu merken.
Vergessen Sie dabei nicht, dass Open-Source-Sicherheitsrisiken in praktisch jeder Art von Open-Source-Projekt vorkommen können. Große, bekannte Open-Source-Projekte wie Linux und Kubernetes, die gut verwaltet werden, weisen in der Regel zwar weniger Sicherheitslücken auf als kleine, obskure Projekte, die Sie vielleicht auf GitHub finden. Aber so oder so besteht immer das Risiko, dass Open-Source-Code Sicherheitslücken enthält, ganz gleich, woher er stammt.
Ein weiterer Punkt beim Scannen von Open-Source-Code ist die Einhaltung von Lizenzbestimmungen. In manchen Fällen verwenden Entwickler Open-Source-Code versehentlich in einer Weise, die gegen die für den Code geltende Lizenz verstößt. Es kann sogar vorkommen, dass sie Schnipsel von Open-Source-Code in ihre eigenen Anwendungen einfügen, ohne den Ursprung dieses Codes im Blick zu behalten, was im weiteren Verlauf zu möglichen Lizenzverstößen führt.
Open Source Security Scanning schützt Sie vor beiderlei Risiken. Es hilft Ihnen, unsicheren Code in Open-Source-Funktionen, -Bibliotheken oder -Modulen zu entdecken, die Sie selbst einsetzen. Außerdem werden Sie auf potenzielle Lizenzprobleme im Zusammenhang mit Open-Source-Code aufmerksam gemacht, auf den Ihr Unternehmen angewiesen ist.
SCA- Scans zur Absicherung von Open Source Software
Es ist prinzipiell möglich, Open-Source-Code manuell zu scannen. Ihre Entwickler könnten ihn von Hand überprüfen, um nach Programmierfehlern zu suchen, die zu Schwachstellen führen könnten.
Dieser Ansatz ist jedoch in größerem Umfang schwer durchführbar. Eine bessere Lösung ist daher der Einsatz von automatisierten Software Composition Analysis (SCA) Tools. Diese Tools analysieren automatisch Open-Source-Code und vergleichen ihn dann mit Datenbanken mit bekannten Schwachstellen, um so festzustellen, ob der Code Risiken mit sich bringt. Einige SCA-Tools können auch Code evaluieren, um schlechte Programmierung- bzw. Implementierungsmethoden zu identifizieren, die zu Schwachstellen führen können, selbst wenn diese Schwachstellen noch nicht offengelegt wurden. Darüber hinaus können diese Tools Sie auf Code in Ihrer Codebasis aufmerksam machen, von dem bekannt ist, dass er bestimmten Open-Source-Lizenzen unterliegt, und somit dazu beitragen, potenzielle Lizenzierungsprobleme im Zusammenhang mit der Verwendung von Open Source in Ihrem Unternehmen zu erkennen.
Moderne SCA-Tools wie JFrog Xray können auch Binärdateien scannen, z.B. Container-Images und ausführbare Dateien von Anwendungen. Das bedeutet, dass sie auch dann Risiken aufspüren können, wenn Sie Open-Source-Software über einen Binärdistributionskanal (z.B. eine öffentliche Container-Registry) beziehen. So können Sie sie auf Schwachstellen überprüfen, bevor Sie sie in Ihrer Umgebung einsetzen.
So richten Sie Open Source Security Scans ein
Der Einrichtungsprozess für SCA-Tools variiert zwar von Tool zu Tool, aber im Allgemeinen lässt er sich auf folgende Schritte zusammenfassen:
- Erwerben Sie das Tool, eine entsprechende Lizenz oder laden Sie das Tool herunter
- Richten Sie das Tool ein, wenn Sie es lokal hosten möchten. Wenn es sich um eine SaaS-Lösung handelt (eine von Xray unterstützte Bereitstellungsoption), können Sie es auch direkt nutzen, ohne es selbst einzurichten zu müssen.
- Binden Sie das Tool in Ihre Software Delivery Pipeline ein, so dass Scans immer dann durchgeführt werden, wenn Open Source in eine Codebasis übernommen wird. Idealerweise führen Sie Scans sowohl für den Quellcode als auch für die Binärdateien durch, um Ihre Chancen zu maximieren, Sicherheits- oder Lizenzierungsprobleme zu erkennen.
Einzelheiten zur Einrichtung von JFrog Xray als Lösung zum Scannen von Open-Source-Schwachstellen finden Sie in dieser Dokumentation.