Google: Neues Tool für sichere Open-Source-Codes

Male Data Scientist Coding on Desktop Computer
Sheila Zabeu -

Dezember 22, 2022

Google hat im Dezember ein kostenloses Tool für Open-Source-Entwickler veröffentlicht: den OSV-Scanner. Damit sollen sich Informationen über Sicherheitslücken leicht finden lassen. Der Scanner bietet eine Schnittstelle zur OSV-Datenbank, die die Abhängigkeitsliste eines Projekts mit Sicherheitslücken verbindet, die das Projekt möglicherweise betreffen.

Es handelt sich um eine Weiterentwicklung von zwei anderen Google-Projekten, die darauf abzielen, die Suche nach Sicherheitslücken für Entwickler und Nutzer von Open-Source-Software zu verbessern. Eine davon war die Veröffentlichung des Open-Source-Vulnerability-Schemas (OSV): eine Datenbank, die Tausende von Sicherheitslücken aus 16 Ökosystemen zusammenfasst – darunter OSS-Fuzz, Go, Rust, Python und DWF. Die andere Initiative war der Start des OSV.dev-Dienstes, der es verschiedenen Open-Source-Ökosystemen und Vulnerability-Datenbanken ermöglicht, Informationen in einem einfachen, genauen sowie maschinenlesbaren Format zu veröffentlichen und zu nutzen.

Im Allgemeinen bestehen bei Softwareprojekten zahlreiche Abhängigkeiten. Dabei werden externe Bibliotheken eingebunden, um Funktionen hinzuzufügen, ohne diese von Grund auf neu entwickeln zu müssen. Diese Dependencies können Schwachstellen enthalten, die vorher bekannt waren oder erst nach der Entwicklung der Software entdeckt wurden. Die manuelle Kontrolle all dieser Abhängigkeiten, ihrer Versionen und ihrer Schwachstellen ist eine fehleranfällige sowie ineffiziente Aufgabe, die einen automatisierten Ablauf benötigt.

An dieser Stelle können Scanner helfen: Sie verfügen über automatisierte Funktionen, die den Code und seine Dependencies mit Listen von Sicherheitslücken abgleichen. Gleichzeitig informieren sie bei Bedarf den Nutzer über Patches oder Updates. Wie groß die Relevanz dieses Systems ist, hat sich inzwischen bestätigt: Die Executive Order for Cybersecurity 2021 der Vereinigten Staaten hat diese Art von Automatisierung als eine Anforderung in die nationalen Standards für sichere Softwareentwicklung aufgenommen.

Laut Google bringt der OSV-Scanner mehrere Vorteile mit sich: Im Gegensatz zu Closed Source Advisory Bases und -Scannern ist die für die Abfrage verwendete OSV.dev-Datenbank quelloffen und dezentralisiert. So stammt zum Beispiel jeder Hinweis auf eine Sicherheitslücke aus einer offenen und zuverlässigen Quelle. Jeder kann Verbesserungen zu den Hinweisen vorschlagen und so dazu beitragen, eine qualitativ hochwertige Datenbank zu erhalten. Darüber hinaus ist das OSV-Format maschinenlesbar.

Der OSV-Scanner findet zunächst die Abhängigkeiten der fraglichen Software und verbindet dann diese Informationen mit der OSV-Datenbank, um relevante Schwachstellen im Projekt anzuzeigen. Da das Tool in die OpenSSF Scorecard integriert ist, werden bei der Analyse auch die Schwachstellen der 1,2 Millionen Projekte berücksichtigt, die Scorecard regelmäßig bewertet.

Insgesamt vereint der OSV.dev-Dienst, die Arbeitsgrundlage des OSV-Scanner-Tools, 16 Ökosysteme: Die wichtigsten darunter sind Linux-Sprachen, -Systeme und -Distributionen. Damit ist OSV.dev laut Google die bedeutendste Open-Source-Vulnerability-Datenbank mit insgesamt mehr als 38.000 Warnmeldungen.

Wie sehen die weiteren Planungen aus?

Google plant, OSV-Scanner nicht nur als einfachen Scanner anzubieten: Der Konzern möchte ein führendes Tool zur Verwaltung von Sicherheitslücken zu entwickeln, das auch dazu beitragen wird, die Belastung durch die Behebung bekannter Fehler zu minimieren.

In der ersten Phase soll das Tool in die Arbeitsabläufe von Entwicklern integriert werden und eine einfache Konfiguration sowie Zeitplanung ermöglichen, um das Auftreten von Schwachstellen zu verfolgen.

Darüber hinaus steht die Verbesserung der Kompatibilität mit den C/C++-Sprachen auf der Agenda, die nach Ansicht von Google eines der schwierigsten Ökosysteme für das Schwachstellenmanagement darstellen – schließlich gäbe es keinen kanonischen Paketmanager zur Identifizierung von C/C++-Code.

Google möchte dem OSV-Scanner auch einzigartige Funktionen hinzufügen. Dazu gehört die Fähigkeit, Informationen über Sicherheitslücken auf Funktionsebene durch die Analyse von Aufrufdiagrammen zu nutzen. Außerdem sollen anhand minimaler Änderungen Sicherheitslücken möglicherweise automatisch behoben werden.

OSV-Scanner lässt sich bei osv.dev herunterladen. Eine weitere Möglichkeit besteht darin, das Tool automatisch mit dem GitHub-Projekt unter Verwendung von Scorecard auszuführen.