Expertenbeitrag

 Nicole Segerer

Nicole Segerer

Vice President, Product Management & Marketing, Revenera / Flexera

Security Das gehört zum Sicherheitsportfolio

Autor Nicole Segerer |

Rund 90 % des Codes in Anwendungen ist Open-Source. In anderen Worten: In jeder Anwendung steckt ein 90-prozentiges Sicherheitsrisiko. Software Composition Analysis wird damit auch für Anbieter von IIoT-Geräten Pflicht.

Anbieter zum Thema

"Kenne Deinen Code!“ - Software Composition Analysis gehört in jede Sicherheits- und Compliancestrategie
"Kenne Deinen Code!“ - Software Composition Analysis gehört in jede Sicherheits- und Compliancestrategie
(Quelle: Flexera)

Software Composition Analysis (kurz SCA) bezeichnet die detaillierte Untersuchung aller Open-Source-und Dritt-Komponenten, die sich in Anwendungen befinden. Die Analyse liefert Sicherheits-, Rechts- und Entwicklerteams verwertbare Daten, um Schwachstellen im Code eines Softwareprodukts zu identifizieren und zu beseitigen. Gleichzeitig lassen sich auch Verstöße gegen Open Source Compliance-Richtlinien aufdecken, denn nur wenn Unternehmen wissen, welche OSS- Komponenten von ihnen genutzt werden, können sie auch Lizenzbestimmungen zuverlässig einhalten und auf Anfrage eine entsprechende Dokumentation vorlegen.

Scannerlösungen ermöglichen Softwareanbietern und Hersteller von IoT-Geräten:

  • eine durchgängige Inventarisierung aller Open-Source-Assets (Software Bill of Materials - BOM)
  • das Managen von Open-Source-Schwachstellen
  • die Sicherstellung von Open-Source-Compliance
  • die Auslieferung ihrer Anwendungen und Geräte unter Angabe der Nutzungsrechte von Dritten (Third Party Disclosures)

Über SCA-Lösungen lassen sich automatisierte Prozesse innerhalb des Schwachstellen- und Compliance-Managements realisieren. Sie decken nicht nur auf, welche Source Libraries von den Entwicklern genutzt werden, sondern auch welche Drittanbieter-Bibliotheken standardmäßig damit verknüpft sind. Dabei lässt sich der genaue Anteil des übernommenen Codes innerhalb des proprietären Quellcodes prozentual bestimmen. Das Sicherheitsteam wird zudem automatisch per Warnmeldung über neu entdeckte Schwachstellen benachrichtigt.   

Das entgeht statischen Analyse-Tools

Viele Unternehmen vertrauen bei der Sicherheit ihrer Anwendungen noch immer zu sehr auf statische Analyse-Tools. Nicht immer reichen diese jedoch aus. Grundsätzlich können Softwareanbieter und Gerätehersteller mit statischen Analyse-Tools ihren eigenen proprietären Source Code analysieren. Entweder wird dazu ein abstrakter Syntaxbaum (AST) oder ein Modell der Anwendung erstellt, das unter anderem Ablaufsteuerung, Datenfluss oder Variablen abbildet. Einmal fertiggestellt, kann der AST nach vordefinierten Regeln abgefragt werden und so Schwachstellen und andere Sicherheitsprobleme aufdecken.

Statische Anwendungssicherheitstests (SAST) sind ohne Frage ein wichtiger Bestandteil des Software Development Life Cycles. Sie haben jedoch Grenzen – vor allem wenn es um die Analyse von Open Source geht. In vielen Fällen können die statischen Tools nicht den schnellen Veränderungen der OSS-Welt nachkommen. So werden in OSS-Paketen beispielsweise Sicherheitsschwachstellen gefunden, die längst von den verantwortlichen Autoren oder der Community beseitigt wurden.

Oft ist der Output der statischen Analyse-Tools auch einfach so umfangreich, dass es für Entwicklerteams extrem schwierig ist, einen klaren Blick auf die Ergebnisse zu erhalten und die Probleme schnell und effektiv zu lösen. Darüber hinaus kommen statische Tests meist erst gegen Ende des Entwicklungsprozesses zum Einsatz, um alle Abhängigkeiten in der vollständigen Anwendung berücksichtigen zu können.

Tests für die Anwendungssicherheit

Blitztest für Open Source Software

Ob statische oder dynamische Analysen, Penetrationstests und Fuzzing – das Managen von Open Source bleibt zentrale Aufgabe der Software Composition Analysis. Wer Software entwickelt oder diese in seine Geräte integriert und sich in Sachen OSS auf der sicheren Seite glaubt, sollte seinem Entwicklerteam oder externen Dienstleister einfach einmal die folgenden Fragen stellen:

  • “Nutzen wir die neueste Version von Apache Struts 2?”

Die Frage nach Apache Struts ist ein guter Test. Das Open-Source-Framework zur Entwicklung und Bereitstellung von Web-Applikationen in Java stand bereits 2017 im Mittelpunkt des spektakulären Equifax-Hacks. Damals konnten Angreifer über eine Sicherheitslücke insgesamt  145,5 Millionen Datensätze des US-amerikanische Finanzdienstleisters Equifax abgreifen. Auch in diesem Jahr wurden neue Schwachstellen bekannt. Gibt es auf die Schnelle keine klaren Informationen darüber, wo und wie Apache Struts 2 genutzt wird, ist davon auszugehen, dass sich das Unternehmen nicht auf dem neuesten Stand befindet.

  • “Was tun wir, wenn ein Kunde Anwendungen oder Geräte, in denen OpenSSL genutzt wird, aus Sicherheitsgründen ablehnt?“

Software-Sicherheitsaudits beinhaltet fast immer eine Überprüfung von Komponenten Dritter. Mit Unterstützung einer SCA-Plattform können Anbieter ihren Kunden einen detaillierten und vollständigen Einblick über die Verwendung von OSS- und Dritt-Komponenten bieten. Um langfristig Sicherheitsbedenken aus dem Weg zu räumen, können Unternehmen zudem auf das kontinuierliche Scannen und Monitoring aller Software-Komponenten verweisen.

  •  „Eine neue Vulnerability macht gerade Schlagzeilen. Sind wir davon betroffen?”

SCA-Lösungen beinhalten in der Regel Dashboards und Reports die das Risikopotential ihrer Anwendungen und die Gefährdung durch spezifische Schwachstellen über das ganze Unternehmen hinweg analysieren und bewerten. Sinnvoll ist hier auch die Integration der SCA-Plattform in den Build-Zyklus, um schnell und proaktiv Sicherheitslücken zu schließen.

Wer die Vorteile von Open Source Software für sich nutzen will, muss sich auch mit den Risiken hinsichtlich Sicherheit und Compliance auseinandersetzen. Die Grundregel lautet: „Kenne Deinen Code!“ Unternehmen, die Software Composition Analysis aktiv in ihre Sicherheits- und Compliancestrategie einbeziehen, schützen sich nicht nur vor Schwachstellen, sondern tragen auch zu einer sicheren Software Supply Chain im IoT bei.