Definition „Composition Analysis“ Was ist Software Composition Analysis?

Autor / Redakteur: Gedeon Rauch / Stephan Augsten

Open-Source-Software hat ohne Frage ihre Vorteile. Software Composition Analysis schafft es dabei, eine automatisierte Lösung für die Erkennung von quelloffenen Komponenten bereitzustellen.

Firma zum Thema

Aus Gründen der Software-Inventarisierung und des Schwachstellenschutzes ist es sinnvoll, Open-Source-Komponenten im Code zu identifizieren.
Aus Gründen der Software-Inventarisierung und des Schwachstellenschutzes ist es sinnvoll, Open-Source-Komponenten im Code zu identifizieren.
(© Andrea Danti - stock.adobe.com)

Die Software Composition Analysis (kurz SCA) ist Teil eines umfangreichen Application-Security-Tests und erkennt und verwaltet den Einsatz von Open Source-Komponenten. Für moderne Software-Entwicklerinnen und -Entwickler ist dies umso wichtiger geworden, da die Ansprüche der Industrie an Developer sich in den letzten Jahren verändert haben.

Schnelle und zuverlässige Applikationen können unter den veränderten zeitlichen Anforderungen nur noch dann bedient werden, wenn der Code nicht mehr komplett neu generiert werden muss. Libraries haben diesen Vorgang vereinfacht und schätzungsweise 60 bis 80 Prozent aller Applikationen setzen zu unterschiedlichen Teilen auf Open Source-Komponenten.

Dieser Einsatz muss jedoch auch entsprechend überwacht und verwaltet werden, um die Funktionalität und Sicherheit auf der einen Seite sowie die Einhaltung von Lizenzbestimmungen auf der anderen Seite zu gewährleisten. Je nach Umfang der OS-Komponenten in einer Applikation kann eine manuelle Verwaltung zu zeitaufwendig sein; automatisierte Methoden sind in diesem Falle deutlich effizienter.

Eine Software Composition Analysis schafft genau dies und protokolliert, verfolgt und und integriert Open-Source-Komponenten in den Code einer Applikation.

Vorteile der Software Composition Analysis

Die Bestandsaufnahme

  • Bill of Materials: Die Bill of Materials (BoM) ist eine angelegte Software-Stückliste, die alle Komponenten beinhaltet, deren Versionsnummern und die Lizenzarten für jede Komponente. Als solche ist sie die Grundlage, um eine bessere Einschätzung zum Status einer Software und möglichen Sicherheitsrisiken zu ermöglichen.
  • Open Source Tracking: Im nächsten Schritt verfolgt Software Composition Analysis alle Open Source-Komponenten in Containern, im Code, in den Subkomponenten, den Abhängigkeiten und in ihren modifizierten Varianten.

Die weitergehenden Möglichkeiten von SCA:

Korrekte Lizenzierung: Die License Compliance sammelt zu jedem Open-Source-Bestandteil wichtige Informationen zur Lizenz und Verwendung. So kann in der Praxis sichergestellt werden, dass Entwickler*innen Programmbestandteile entsprechend ihrer freigegebenen Lizenz verwenden und Attributionsrechte der Software-Autor*innen beachtet werden.

Schwachstellen in der Sicherheit: Die Hauptfunktion von Software Composition Analysis ist das Ausfindigmachen von bekannten Sicherheitslücken in verwendeten Open Source-Komponenten. Je nach Umfang der gewählten SCA-Lösung können Developer Schwachstellen und kritische Lücken nicht nur identifizieren, sondern auch definieren, ob der eigene Code die entsprechende Schwachstelle nutzt und ob Fixes zur Verfügung stehen. Dies gilt auch für Libraries und Komponenten, die Updates oder Patches benötigen, um vollständige Funktionalität zu gewährleisten.

Proaktives Monitoring: Für die meisten Einsatzszenarien ist die Wahl einer Software Composition Analysis von Vorteil, deren Einsatz proaktives und kontinuierliches Monitoring erlaubt. Dadurch können Updates und Patches schnell integriert werden und neu entdeckte Sicherheitslücken ausgemerzt.

Software Composition Analysis – inzwischen eine Notwendigkeit in der IT

Aufgrund der weiten Verbreitung von Open Source-Bestandteilen in nahezu allen Programmen müssen Entwickler*innen einfache Lösungen finden, um Sicherheit und Funktionalität zu gewährleisten und Unternehmen und deren User zu schützen.

Moderne Software Composition Analysis-Software ist auf den vermehrten Einsatz von Open Source auch an kritischen Stellen ausgerichtet und liefert nicht nur Bestandsaufnahme, Management und Monitoring, sondern in vielen Fällen auch eine automatische Berichtigung aller Schwachstellen. Schließlich geht es längst nicht mehr nur um das Aufspüren von Schwachstellen und Lizenzfehlern, sondern auch um die Priorisierung und die automatische Bereinigung. Zu den bekanntesten SCA-Lösungen zählen beispielsweise Black Duck by Synopsys, Veracode, Checkmarx, CAST Highlight oder FOSSA.

(ID:47146790)