GitHub-Report: Schwachstellen in Open Source bleiben jahrelang unentdeckt

Bis zu vier Jahren bleiben Lücken in Open-Source-Software laut Octoverse Report 2020 ungepatcht – auch in unternehmenskritischen Anwendungen.

In Pocket speichern vorlesen Druckansicht 55 Kommentare lesen

(Bild: GitHub)

Lesezeit: 3 Min.
Von
  • Matthias Parbel

Während Open-Source-Komponenten mittlerweile in nahezu jeder Anwendung zum Einsatz kommen – auch in unternehmenskritischer Software – drohen Nutzern zum Teil jahrelang Gefahren durch unentdeckte Schwachstellen. Zu diesem Ergebnis kommt GitHub im Rahmen seines Octoverse Report 2020. Die Sicherheitsanalyse der Abhängigkeiten (Dependencies) von rund 45.000 Repositories aus den Paketmanagern Composer, Maven, npm, NuGet, PyPI und RubyGems habe gezeigt, dass Schwachstellen in Open Source häufig bis zu vier Jahre oder länger ungepatcht bleiben.

Die gute Nachricht dazu lautet: Es dauert in der Regel nur gut vier Wochen bis Package-Maintainer und die Security-Community einen Fix bereitstellen, sobald die Schwachstelle entdeckt wurde. Repositories, die zudem automatisch eine Dependabot-Pull-Request erzeugen, wurden laut Report sogar im Durchschnitt 13 Tage früher gepatcht.

Dennoch stellen GitHub zufolge Sicherheitslücken in Open-Source-Komponenten eine ernsthafte Gefahr dar, denn sie betreffen den Großteil der untersuchten Pakete. Entwicklerinnen und Entwickler nutzen Dependencies zu Open Source in nahezu allen Programmiersprachen in großem Ausmaß – allen voran JavaScript (94 %), Ruby (90 %) und .NET (90 %). Im Durchschnitt waren knapp zwei Drittel (59 %) aller aktiven Repositories im Untersuchungszeitraum von Oktober 2019 bis Ende September 2020 von mindestens einer Sicherheitswarnung betroffen.

Prozentsatz der aktiven Repositories, die Dependabot-Warnungen erhalten haben.

(Bild: GitHub Octoverse Report 2020)

Zu den in den vergangenen zwölf Monaten relevanten ernstzunehmenden Schwachstellen zählen zweifellos die CVEs (Common Vulnerabilities and Exposures) CVE-2020-0601 (aka Curveball), CVE-2020-0796 (aka SMBGhost) und CVE-2020-1472 (aka Zerologon), aber auch CVE-2020-8203 (Prototype Pollution in lodash) – letztere vor allem, weil lodash zu den am häufigsten verwendeten npm-Packages gehört. GitHubs Untersuchung bestätigt unterdessen, dass der Großteil der Schwachstellen auf unbeabsichtigte Programmierfehler zurückgeht, während gezielte Angriffe beispielsweise über Backdoors deutlich seltener vorkommen. Solche schwerwiegenden Schwachstellen machten in den betrachteten Paketmanagersystemen nur 17 Prozent aus, bei den tatsächlich ausgelösten Warnmeldung lag ihr Anteil sogar nur bei 0,2 Prozent, da sich die meisten von ihnen in selten genutzten Paketen "versteckten".

GitHub nimmt die Ergebnisse des Octoverse Report 2020 zum Anlass, Entwicklerinnen und Entwickler für Sicherheitsvorkehrungen zu sensibilisieren und fordert dazu auf, Dependencies regelmäßig auf neue Schwachstellen zu prüfen – und auch für private Repositories Alarmmeldungen zu aktivieren. Tools zum Automatisieren von Alerts und Patches helfen zudem, das Risiko weiter zu senken. Weitergehende Informationen und Details zu den Erkenntnissen aus der Untersuchung finden sich im frei zugänglichen Octoverse Report 2020 auf der GitHub-Website zum Download.

(map)