Drastische Sicherheitsrisiken durch Open-Source-Komponenten

IT-Sicherheit (Bild: Shutterstock/Andrea Danti)

Der Einsatz von Open-Source-Technologien und -Komponenten in Unternehmen nimmt ständig weiter zu. Dadurch potenzieren sich aber auch Sicherheitsrisiken, so zumindest das Ergebnis der von Veracode vorgelegten Studie “State of Software Security”.

97 Prozent aller Java-Anwendungen enthalten unsicheren Komponenten. Zu diesem Ergebnis kommt der Sicherheitsanbieter Veracode in der Studie “State of Software Security“. Da bei Open-Source-Programmen bestimmte Komponenten wiederverwendet werden, ergeben sich hohe systemische Risiken. In einer Analyse kann der Anbieter zeigen, dass sich eine einzige populäre Komponente mit einer kritischen Sicherheitslücke auf mehr als 80.000 andere Software-Komponenten auswirkte. Diese kommen dann bei der Entwicklung von Millionen weiteren Software-Programmen zum Einsatz.

Bei Java-Anwendungen führe das dazu, dass rund 97 Prozent aller Java-Anwendungen wenigstens eine Komponente mit einer bekannten Sicherheitslücke enthalten. Das ist sicherlich ein Extrembeispiel, illustriert aber, wie schnell sich ein Sicherheitslücke über die gesamte Softwarelandschaft ausbreiten kann. Die Daten hat Veracode in den zurückliegenden 18 Monaten in über 300.000 automatisierten Assesments erhoben.

Nur ein kleiner Teil aller Anwendungen entspricht Sicherheitsstandards wie OWASP. (Bild: Veracode)
Nur ein kleiner Teil aller Anwendungen entspricht Sicherheitsstandards wie OWASP. (Bild: Veracode)

Die gleiche Untersuchung zeige aber auch, dass Unternehmensanwender sich zunehmend dieser Bedrohung bewusst werden. Vor allem durch die Integration von DevOps und DevSecOps lassen sich Risiken auf Anwendungsebene reduzieren. Und Immer mehr Unternehmen nutzen diese Methoden, um bereits bei der Entwicklung von Anwendungen Sicherheitsrisiken zu minimieren.

Einige Anwender sind bei der App-Sicherheit besonders pinngelig und das zahlt sich in einer optimierten Sicherheit aus. (Bild: Veracode)
Einige Anwender sind bei der App-Sicherheit besonders pinngelig und das zahlt sich in einer optimierten Sicherheit aus. (Bild: Veracode)

“Die weit verbreitete Nutzung von Open-Source-Komponenten in der Software-Entwicklung ist verantwortlich für unkontrollierbare systemische Risiken in Unternehmen und Branchen”, so Julian Totzek-Hallhuber, Solutions Architect bei Veracode.

“Heute kann sich ein Cyberkrimineller auf eine einzige Schwachstelle in einer Komponente konzentrieren, um Millionen von Anwendungen zu schädigen. Alle Branchen und Software sind in hohem Maß von Anwendungen abhängig.”

Deserialization-Bug für ein Viertel der verwundbaren Anwendungen verantwortlich

Ein konkretes Beispiel aus dem Januar 2015: Damals wurde ein Exploit-Framework für die so genannte “Deserialization”-Programmier-Praxis verbreitet. Damit kann man ein Objekt von der Festplatte lesen und es wie eine Anwendung behandeln. Durch einen Fehler konnte ein Angreifer diesen Prozess für sich ausnutzen und damit beliebigen Code auf dem angegriffenen System ausführen.

Java-Komponenten sind weit verbreitet. Diese Komponenten weisen bekannte Sicherheitslecks auf, und stecken in einer Vielzahl von Anwendungen. (Bild: Veracode)
Java-Komponenten sind weit verbreitet. Diese Komponenten weisen bekannte Sicherheitslecks auf, und stecken in einer Vielzahl von Anwendungen. (Bild: Veracode)

Im November 2015 wurden praktisch ausnutzbare Exploits für JBoss, IBM WebSphere, Jenkins, OpenNMS und den Oracle WebLogic bekannt, die allesamt auf dem Fehler in der Apache Commons Collections basierten. Apache hat natürlich das Leck inzwischen geschlossen. Dennoch ist dieses Leck nach wie vor das häufigste Sicherheheitsleck in den Analysen von Veracode: Die Komponente in der Apache Commons Collections v. 3.2.1 kommt immerhin in einem Viertel aller Java-Anwendungen zum Einsatz. In einigen Branchen machte alleine dieses Leck 67 Prozent aller verwundbaren Java-Anwendungen aus.

Ein weiteres Detail: 60 Prozent der Anwendungen zeigen bereits beim ersten Scan, dass grundlegende Sicherheitsanforderungen nicht erfüllt werden. Demgegenüber zeigt der Bericht dass Unternehmen, die Best Practices einsetzen und Programme mit konsequenten Strategien und Praktiken für eine sichere Entwicklung implementieren, bei der Bekämpfung von Schwachstellen deutlich effektiver sind, als der Durchschnitt. Das oberste Viertel der Unternehmen könne um rund 70 Prozent mehr Schwachstellen beheben als der Durchschnitt.

Der Anbieter legt diese Studie zum sieben Mal auf. Im Rückblick, so die Autoren, zeige sich aber, dass die Zahl der verwundbaren Anwendungen in den vergangenen Jahren relativ konstant geblieben ist. Daraus schließen die Autoren, dass der Großteilt der Anwender bei der Entwicklung neuer Anwendungen nach wie vor zu wenig auf die Sicherheit achtet. Andere wiederum legten diese Sicherheitsrichtlinien nur bei einem kleinen Teil des Portfolios an.

Veracode empfiehlt darüber hinaus Best Practices wie Remediation Coaching und E-Learning. Dadurch lasse sich die Fix Rate um den Faktor sechs verbessern. Anwendungen, die mit einer Developer Sandbox getestet wurden, können die richtlinienbasierten Fix Rate knapp verdoppeln. “Kontinuierliche Entwicklungs- und Implementierungsmodelle, wie in den DevOps-Umgebungen, können mit regelmäßigen Anwendungstests zur sicheren Entwicklung beitragen”, so Nabil Bousselham, Solutions Architect bei Veracode.

Eine Analyse der Plattform-Daten ergebe, dass immer mehr Unternehmen Anwendungen während der Entwicklung mehrfach testen. Im Schnitt werde eine App sieben Mal getestet. Einige Anwendungen sollen in einem Zeitraum von 18 Monaten sogar zwischen 700 und 800 Mal gescannt worden sein.

Anwendungen, die von externen Entwicklern stammen, entsprechen im Schnitt seltener Sicherheitsstandards als intern entwickelte Apps. Unternehmen sollten von den Anbietern also mehr Sorgfalt bei der Entwicklung einfordern. (Bild: Veracode)
Anwendungen, die von externen Entwicklern stammen, entsprechen im Schnitt seltener Sicherheitsstandards als intern entwickelte Apps. Unternehmen sollten von den Anbietern also mehr Sorgfalt bei der Entwicklung einfordern. (Bild: Veracode)

Ein erstaunliches Detail der Untersuchung zeigt, dass Apps, die von den Anwendern selbst entwickelt wurden, häufiger Sicherheitsstandars wie OWASP oder CWE/SANS entsprechen, als diejenigen, die von einem externen Dienstleister entwickelt wurden. Auch das, so die Autoren der Studie, sei aber auch schon in den zurückliegenden Jahren bereits der Fall gewesen.