88 % mehr Schwachstellen in Anwendungsbibliotheken innerhalb von zwei Jahren
26. Februar 2019
0 Min. LesezeitWillkommen beim jährlichen Bericht von Snyk zum Stand der Open-Source-Sicherheit 2019. Dieser Bericht ist in mehrere Beiträge unterteilt:
Pakete in Maven Central verdoppelt; eine Viertelmillion neue Pakete in npm indexiert
88 % mehr Schwachstellen in Anwendungsbibliotheken innerhalb von zwei Jahren
Open-Source-Maintainer möchten für Sicherheit sorgen, aber 70 % fehlen die nötigen Kenntnisse
Die zehn beliebtesten Docker-Images enthalten jeweils mindestens 30 Schwachstellen
ReDoS-Schwachstellen in npm steigen um 143 %, XSS nimmt weiter zu
78 % der Schwachstellen finden sich in indirekten Abhängigkeiten, was ihre Behebung erschwert
Oder laden Sie unseren liebevoll gestalteten PDF-Bericht herunter, der all diese Informationen und noch mehr an einem Ort enthält.
Bericht „State of Open Source Security 2019“ herunterladen
Eine Schwachstelle ist eine Schwachstelle – unabhängig davon, ob sie bekannt ist oder nicht. Der entscheidende Unterschied liegt darin, wie wahrscheinlich es ist, dass Angreifer von ihr wissen und versuchen, sie auszunutzen. Je bekannter die Schwachstelle ist, desto dringender muss sie daher behoben werden.
Eine bekannte Schwachstelle kann im Rahmen einer verantwortungsvollen Offenlegung mit einer CVE-ID versehen sein. Sie kann aber auch einfach im Internet veröffentlicht oder in öffentlichen Datenbanken gespeichert sein. All diese Arten bekannter Schwachstellen sollten Sie vorrangig beheben, da bei ihnen die Wahrscheinlichkeit eines Angriffs in der Produktionsumgebung höher ist. Danach sollten Sie Schwachstellen berücksichtigen, die in geschlossenen Schwachstellendatenbanken erfasst oder sogar im Darknet geteilt werden.
Schwachstellen werden immer schneller entdeckt – ihre Zahl hat sich in den letzten zwei Jahren nahezu verdoppelt
Bekannte Schwachstellen in Anwendungsbibliotheken
Heute beobachten wir eine Zunahme der gemeldeten Schwachstellen in vielen von uns erfassten Ökosystemen, darunter PHP Packagist, Maven Central Repository, Golang, npm, NuGet, RubyGems und PyPI.
2017 stieg die Zahl der über alle Registries hinweg gemeldeten Schwachstellen um 43 %, 2018 nahm sie um weitere 33 % zu.
Betrachten wir die fünf Ökosysteme PHP, Java, JavaScript, Python und Go, zeigt sich seit 2014 in allen ein Aufwärtstrend bei der Zahl der offengelegten Schwachstellen.
Die Zahlen für 2018 könnten noch weiter steigen, da Schwachstellen, die noch nicht offengelegt wurden, erst später in diesem Jahr veröffentlicht werden. Damit würde sich dieser Trend weiter verstärken.
2018 stieg die Zahl neuer Meldungen für npm um 47 % und für Maven Central um 27 %

2018 stieg die Zahl der offengelegten Schwachstellen in PHP Packagist um bemerkenswerte 56 %, in Maven Central nahm sie um 27 % zu. Obwohl das Golang-Ökosystem kleiner ist, wächst dort die Sicherheitsforschung: 2018 wurden 52 % mehr neue Schwachstellen als 2017 gemeldet.
Ein Blick auf die Daten seit 2014 in der Schwachstellendatenbank von Snyk zeigt einen starken allgemeinen Anstieg der Schwachstellenzahlen.
Heute erfassen wir 1766 Schwachstellen im Maven Central Repository, 1268 in npm, 746 in PHP Packagist, 807 in PyPI und 94 in Golang.
Seit 2014 ist die Zahl der Schwachstellen in der Snyk-Datenbank um erstaunliche 371 % gestiegen. Bei npm-Schwachstellen betrug der Anstieg unglaubliche 954 %, bei Schwachstellen in Maven Central 346 %.
Seit 2014 stieg die Zahl der Schwachstellen in der Snyk-Datenbank für npm um 954 % und für Maven Central um 346 %
Trends beim Schweregrad
Betrachten wir den Schweregrad der in den letzten drei Jahren in allen Sprachökosystemen offengelegten Schwachstellen in Anwendungsbibliotheken, zeigt sich für 2018 eine geringere Zahl schwerwiegender Schwachstellen als im Vorjahr.
Interessant ist jedoch, dass es sowohl 2017 als auch 2018 mehr schwerwiegende Schwachstellen gab als Schwachstellen mittleren oder niedrigen Schweregrads – anders als 2016.

Im Fokus: Zip Slip
2018 legte das Snyk-Sicherheitsteam verantwortungsvoll zahlreiche Fälle einer als Zip Slip bezeichneten Schwachstelle offen – einer weit verbreiteten kritischen Sicherheitslücke, die das beliebige Überschreiben von Dateien ermöglicht. Sie lässt sich mithilfe eines speziell präparierten Archivs ausnutzen, das Dateinamen mit Verzeichnispfadmanipulation enthält. Dies führt in der Regel zur Ausführung von Befehlen aus der Ferne.
Das Snyk-Sicherheitsteam entdeckte die Schwachstelle und legte sie verantwortungsvoll vor ihrer öffentlichen Bekanntgabe am 5. Juni 2018 offen. Sie betrifft Tausende von Projekten, darunter Projekte von HP, Amazon, Apache und Pivotal sowie vielen anderen.
Die Forschung über verschiedene Ökosysteme hinweg deckte Dutzende Schwachstellen in Bibliotheken wie Apache Ant, adm-zip, SharpCompress und anderen auf, die Tausende von Projekten für Java, npm, NuGet, Go, .NET, Ruby, Python und C++ verwenden. Fast die Hälfte davon wurde als schwerwiegend eingestuft.
„Als wir das erste Mal eine Zip-Slip-Sicherheitslücke in einem großen Projekt entdeckten, war das sehr aufregend. Das war unser Heureka-Moment. Doch als wir feststellten, dass jede andere Anwendung eine anfällige Implementierung hatte, waren wir äußerst überrascht. Uns wurde klar, dass diese Sicherheitslücke nicht nur einige wenige Apps betraf, sondern zahlreiche Projekte in verschiedenen Ökosystemen.“

Danny Grander
Founder / Chief Security Officer, Snyk
Im Fokus: Schwachstellen ohne CVEs
Sicherheitsteams verfolgen häufig neue Schwachstellen, die über die National Vulnerabilities Database (NVD) oder andere öffentliche CVE-Repositories offengelegt werden, und reagieren darauf.
Viele Sicherheitslücken werden jedoch über nicht offizielle Kanäle entdeckt und behoben, etwa durch den informellen Austausch zwischen Maintainerinnen und Maintainer und den Nutzenden in einem Issue-Tracker.
Die Snyk-Datenbank wird von einem internen Team aus Sicherheitsanalystinnen und -analysten sorgfältig kuratiert. Sie erfasst Schwachstellen, die in offiziellen Quellen fehlen, aber an öffentlich zugänglichen Stellen wie Foren oder Versionshinweisen erwähnt werden. Die Snyk-Datenbank als Maßstab zeigt: Sie deckt 67 % mehr Schwachstellen auf als öffentliche Datenbanken.
Neben ihrer geringeren Abdeckung nehmen CVEs und öffentliche Datenbanken Schwachstellen oft nur mit Verzögerung auf. Am Beispiel npm zeigt sich: Schwachstellen tauchen im Durchschnitt erst 92 Tage nach ihrer Erfassung in der Snyk-Datenbank in npm audit auf. In 72 % der Fälle erfolgt die Meldung später.
Diese Lücken zeigen, dass das CVE-System und öffentliche Open-Source-Datenbanken mit dem Tempo und Umfang von Schwachstellen in Open-Source-Software derzeit nicht Schritt halten. Diese Mechanismen sollten neu bewertet werden. Sicherheitsbewusste Unternehmen sollten kommerzielle Datenbanken nutzen, um zeitnah eine umfassende Abdeckung zu erhalten.Weiterlesen:
Pakete in Maven Central verdoppelt; eine Viertelmillion neue Pakete in npm indexiert
88 % mehr Schwachstellen in Anwendungsbibliotheken innerhalb von zwei Jahren
Open-Source-Maintainer möchten für Sicherheit sorgen, aber 70 % fehlen die nötigen Kenntnisse
Die zehn beliebtesten Docker-Images enthalten jeweils mindestens 30 Schwachstellen
ReDoS-Schwachstellen in npm steigen um 143 %, XSS nimmt weiter zu
78 % der Schwachstellen finden sich in indirekten Abhängigkeiten, was ihre Behebung erschwert
Starten Sie mit Capture-the-Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Challenges lösen.
