Wer auf Open Source setzt, sollte genau hinschauen

2017 Software Supply Chain Report: Wie man Open-Source-Software-Komponenten umsichtig verwendet

Ann-Cathrin Klose

Open Source gilt als sicher, weil viele Mitwirkende einen Blick auf den Code werfen. Dennoch zeigen Studien, dass durch den unbedachten Einsatz von OSS-Komponenten häufig auch Schwachstellen in Anwendungen eingeschleust werden. Mit einem guten Software Supply Chain Management kann das verhindert werden, sagt der neue Software Supply Chain Report 2017 von Sonatype.

Wer heute eine neue Anwendung auf den Markt bringt, muss schnell handeln und innovativ sein um Erfolg zu haben. Das zeigen nicht zuletzt Produkte wie Uber und Netflix. So erläutert der neue 2017 Software Supply Chain Report von Sonatype die Gründe für den hohen Bedarf an Open Source Software (OSS) in der Anwendungsentwicklung. Im Jahr 2016 wurden 1096 neue OSS-Komponenten veröffentlicht; 10.000 Updates für bereits vorhandene Lösungen kamen heraus. Die Zahl der Downloads von OSS-Komponenten lag 2015 noch bei 22 Milliarden und stieg im Jahr 2016 um 262 Prozent auf 59 Milliarden.

Bis zu 90 Prozent Open Source

Für einzelne Anwendungen gibt die Studie an, dass der Anteil von OSS-Komponenten am Code bei durchschnittlich 80 bis 90 Prozent liege. Dies entspräche etwa 190 Stücken Open Source-Software pro Anwendung. Der Report erläutert außerdem, dass viele Unternehmen nicht mehr mit Sicherheit sagen können, welche OSS-Komponenten in ihren Anwendungen verwendet werden und in welcher Version.

Geschlossene Sicherheitslücken in OSS-Projekten. Quelle: Sonatype, https://www.sonatype.com/ssc2017

Dies kann jedoch ein Sicherheitsrisiko darstellen. Zwar wird häufig der Ausspruch zitiert, dass Open Source Software sicher sei, weil viele Mitwirkende daran arbeiten, die Bugs entdecken und somit schneller fixen können als dies bei propriäterer Software der Fall ist. Dies gilt aber nicht für jedes Open Source Projekt gleichermaßen. Von 122.802 Projekten, die Sonatype untersucht hat, wurden Sicherheitslücken nur in 15,8 Prozent der Projekte überhaupt geschlossen. Durchschnittlich dauerte dies 233 Tage; 1.529 Projekte lösten das Problem in weniger als einer Woche. Ganze 44 Projekte hingegen schafften es auch binnen mehr als sieben Jahren nicht, eine Lösung anzubieten. Wie viele Projekte davon noch aktiv gepflegt werden wird nicht benannt.

Junge OSS-Versionen, wenig Sicherheitslücken

Sonatype rät aus diesem Grund zur Vorsicht bei der Auswahl von Open Source Software, auch wenn die Zahl der der Projekte mit Sicherheitslücken insgesamt nur um die sechs Prozent bei Java- und JS-Komponenten und knapp über drei Prozent für Python liegt. Der Anteil der Downloads defekter OSS-Projekte aus dem Central Repository von Java lag im vergangenen Jahr bei 5,5 Prozent und damit leicht unter dem Vorjahreswert (6,1 Prozent). Das entspricht aber noch immer einem von 18 Downloads.

Download von Java-Komponenten mit Sicherheitslücke. Quelle: Sonatype, https://www.sonatype.com/ssc2017

Hier kommt es jedoch auch auf die verwendete Version an: Junge OSS-Komponenten und aktuelle Versionen enthielten signifikant weniger Sicherheitslücken als solche, die bereits einige Jahre alt sind. Komponenten, deren neuste Version jünger als drei Jahre ist, machen einen Anteil von 38 Prozent an der Verwendung aus; hier ist die Quote an Sicherheitslücken besonders gering. Problematisch sind hingegen solche Softwarebestandteile, die lange nicht aktualisiert wurden. OSS-Komponenten, die bereits 8 bis 11 Jahre alt sind, wiesen in beinahe 15 Prozent der untersuchten Fälle Sicherheitslücken auf; für 23 Prozent davon wurde in diesem Zeitraum kein Update veröffentlicht.

Automatisierte Sicherheitschecks

Insofern sollten Unternehmen einerseits darauf achten, einen Überblick über die verwendeten Komponenten zu behalten, so der Report von Sonatype, andererseits aber auch vor Einsatz prüfen, ob es sich um ein geeignetes Open Source Projekt für den Einsatz im eigenen Code handelt. Hierzu führt der Report an, dass im Rahmen einer Fallstudie bei einem Finanzdienstleister in einem Zeitraum von drei Monaten 27.000 Komponenten aus öffentlichen Repositories heruntergeladen worden seien. Die manuelle Prüfung der Software habe sieben bis 21 Tage in Anspruch genommen; durch den Einsatz einer OSS-Firewall in der Software Supply Chain, die anhand vordefinierter Kriterien zur Auswahl von OSS-Komponenten eingesetzt wurde, konnten binnen 90 tagen 34.000 Stunden an Arbeitszeit eingespart werden.

Der Einsatz solcher automatisierter Prozesse bindet die Sicherheitsfrage früh in den Entwicklungsprozess. Das kann zu einer Reduktion der Anzahl defekter Komponenten in Anwendungen um bis zu 63 Prozent führen. Der Report berichtet, außerdem von einer Steigerung der Codequalität durch eine solche automatisierte Review von OSS-Komponenten vor ihrem Einsatz um 48 Prozent, wenn dieses Vorgehen in Kombination mit agilen Methoden und DevOps eingesetzt wird. Auch wird angeführt, dass Entwickler dadurch um 28 Prozent produktiver werden und die Gesamtkosten der Softwareentwicklung um 30 Prozent gesenkt werden können.

Mehr zum Thema:

DevOps Tools: Vier Tool-Tipps von führenden DevOps-Experten

 

Geschrieben von
Ann-Cathrin Klose
Ann-Cathrin Klose
Ann-Cathrin Klose studiert allgemeine Sprachwissenschaft, Geschichte und Philosophie an der Johannes Gutenberg-Universität Mainz. Seit Februar 2015 verstärkt sie als redaktionelle Mitarbeiterin die Redaktion bei Software & Support Media. Zuvor war sie als freie Autorin tätig und hat erste redaktionelle Erfahrungen bei einer Tageszeitung gesammelt.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.