SCA – Software-Kompositionsanalyse CI/CD.

May 02 2023
Was ist Software-Kompositionsanalyse? SCA ist eine Art Analyse, bei der der Code und seine Abhängigkeiten gescannt werden, um verwendete Open-Source-Komponenten oder Komponenten von Drittanbietern zu identifizieren und alle bekannten Schwachstellen oder Probleme bei der Lizenzeinhaltung im Zusammenhang mit diesen Komponenten zu erkennen. Es gibt mehrere Gründe, warum es wichtig ist, SCA während des gesamten sicheren Entwicklungszyklus anzuwenden.

Was ist Software-Kompositionsanalyse?

SCA ist eine Art Analyse, bei der der Code und seine Abhängigkeiten gescannt werden, um verwendete Open-Source-Komponenten oder Komponenten von Drittanbietern zu identifizieren und alle bekannten Schwachstellen oder Probleme bei der Lizenzeinhaltung im Zusammenhang mit diesen Komponenten zu erkennen.

Es gibt mehrere Gründe, warum es wichtig ist, SCA während des gesamten sicheren Entwicklungszyklus anzuwenden.

Sicherheit : Open-Source-Komponenten und Bibliotheken von Drittanbietern enthalten häufig Schwachstellen, die von Angreifern ausgenutzt werden können, um sich unbefugten Zugriff auf eine Anwendung oder ein System zu verschaffen. SCA hilft, diese Schwachstellen frühzeitig im Entwicklungsprozess zu erkennen, sodass Entwickler sie beheben können, bevor sie in der Produktionsumgebung ausgenutzt werden können.

Compliance : Viele Open-Source-Komponenten werden unter bestimmten Bedingungen lizenziert, die bei unsachgemäßer Verwaltung möglicherweise rechtliche Auswirkungen haben. SCA kann dazu beitragen, etwaige Lizenz-Compliance-Probleme frühzeitig im Entwicklungsprozess zu erkennen, sodass Entwickler diese beheben können, bevor sie zu einer rechtlichen Verpflichtung werden.

Effizienz : Open-Source-Komponenten und Bibliotheken von Drittanbietern können eine wertvolle Ressource für Entwickler sein, da sie dazu beitragen können, den Entwicklungsprozess zu beschleunigen und die Notwendigkeit, Code von Grund auf neu zu schreiben, zu reduzieren, wodurch Zeit und Aufwand im Entwicklungsprozess gespart werden.

Wartbarkeit : Wenn sich Software weiterentwickelt und neue Komponenten hinzugefügt oder aktualisiert werden, kann es schwierig werden, den Überblick über alle Abhängigkeiten und die damit verbundenen Schwachstellen oder Compliance-Probleme zu behalten. SCA kann dabei helfen, den Überblick über diese Abhängigkeiten zu behalten und sicherzustellen, dass sie während des gesamten Softwareentwicklungslebenszyklus ordnungsgemäß verwaltet werden.

Es gibt mehrere SCA-Tools (Software Composition Analysis):

  • Sonatype Nexus IQ
  • Schwarze Ente
  • Snyk
  • WhiteSource
  • OWASP-Abhängigkeitsprüfung
  • FOSSA

Im Jahr 2020 wurde der Lieferkettenangriff von SolarWinds entdeckt. Der Angriff betraf mehrere US-Regierungsbehörden sowie zahlreiche Privatunternehmen.

Die Angreifer fügten Malware in Updates eines Softwareprodukts namens Orion ein, das von SolarWinds, einem in Texas ansässigen IT-Unternehmen, entwickelt wird. Anschließend wurden die Updates an SolarWinds-Kunden verteilt, darunter mehrere US-Regierungsbehörden und Fortune-500-Unternehmen.

Um OWASP Dependency-Check mit GitLab CI/CD zu integrieren, können Sie die folgenden allgemeinen Schritte ausführen:

  1. Installieren und konfigurieren Sie das Dependency-Check-Plugin in GitLab. Sie finden das Plugin im GitLab-Marktplatz.
  2. Fügen Sie in Ihrer GitLab CI/CD-Pipeline eine neue Phase für das Abhängigkeitsscannen mit Dependency-Check hinzu. .gitlab-ci.ymlSie könnten Ihrer Datei beispielsweise den folgenden Schritt hinzufügen :

Darüber hinaus ist es wichtig, Ihr SCA-Tool regelmäßig zu aktualisieren und über neue Schwachstellen und Aktualisierungen von Abhängigkeiten von Drittanbietern auf dem Laufenden zu bleiben, um sicherzustellen, dass Ihr Code sicher und konform ist.