Google führt ein einheitliches Sicherheitsschwachstellenschema für Open-Source-Software ein

0
196

Steven J. Vaughan-Nichols

Von Steven J. Vaughan-Nichols für Linux und Open Source | 24. Juni 2021 — 19:30 GMT (20:30 BST) | Thema: Sicherheit

Der Wirtschaftsautor und Experte H. James Harrington sagte einmal: „Wenn man etwas nicht messen kann, kann man es nicht verstehen. Wenn man es nicht versteht, kann man es nicht kontrollieren es, du kannst es nicht verbessern.” Er hatte recht. Und Google folgt diesem Rat, indem es einen neuen Weg zur Stärkung der Open-Source-Sicherheit einführt, indem ein Schema zum Austausch von Schwachstellen zur Beschreibung von Schwachstellen in Open-Source-Ökosystemen eingeführt wird.

Das ist sehr wichtig. Ein untergeordnetes Problem besteht darin, dass es viele Datenbanken für Sicherheitslücken gibt und es kein Standardaustauschformat gibt. Wenn Sie Informationen aus mehreren Datenbanken aggregieren möchten, müssen Sie jede einzelne vollständig separat behandeln. Das ist eine echte Zeit- und Energieverschwendung. Zumindest müssen Sie Parser für jedes Datenbankformat erstellen, um deren Daten zusammenzuführen. All dies macht die systematische Verfolgung von Abhängigkeiten und die Zusammenarbeit zwischen Schwachstellendatenbanken viel schwieriger als es sein sollte.

Google baute also auf der bereits geleisteten Arbeit an der Open Source Vulnerabilities (OSV)-Datenbank und dem OSS-Fuzz-Dataset der Sicherheitslücken auf. Das Google Open Source Security-Team, das Go-Team und die breitere Open-Source-Community haben alle dazu beigetragen, dieses einfache Austauschschema für Sicherheitslücken zu erstellen. Während der Arbeit am Schema konnten sie genaue Schwachstellendaten für Hunderte von kritischen Open-Source-Projekten übermitteln.

Jetzt wurden das OSV und das Schema auf mehrere neue wichtige Open-Source-Ökosysteme erweitert: Go, Rust, Python und DWF. Diese Erweiterung vereint und aggregiert ihre Schwachstellendatenbanken. Dies gibt Entwicklern eine bessere Möglichkeit, ihre Sicherheitsprobleme zu verfolgen und zu beheben.

Dieses neue Schwachstellenschema zielt darauf ab, einige Hauptprobleme bei der Verwaltung von Open-Source-Schwachstellen zu beheben. Es: 

Erzwingt Versionsspezifikationen, die genau den Benennungs- und Versionierungsschemata entsprechen, die in tatsächlichen Open-Source-Paket-Ökosystemen verwendet werden. Das Abgleichen einer Sicherheitslücke wie einer CVE mit einem Paketnamen und einer Reihe von Versionen in einem Paketmanager ist beispielsweise mithilfe vorhandener Mechanismen wie CPEs auf automatisierte Weise schwierig. Kann Schwachstellen in jedem Open-Source-Ökosystem beschreiben, erfordert jedoch keine ökosystemabhängige Logik, um sie zu verarbeiten. Ist sowohl von automatisierten Systemen als auch von Menschen einfach zu bedienen.

Kurz gesagt, wie Abhishek Arya, der Google Open Source Security Team Manager, in einer Anmerkung zum Spezifikationsmanuskript schrieb: eine geringe Belastung für das ressourcenbeschränkte Open-Source-Ökosystem.”

Die Hoffnung ist, dass Entwickler mit diesem Schema ein Format definieren können, das alle Schwachstellendatenbanken exportieren können. Ein solches einheitliches Format würde bedeuten, dass Programmierer und Sicherheitsforscher Tooling- und Schwachstellendaten problemlos über alle Open-Source-Projekte hinweg austauschen können.

Die Spezifikation des Schwachstellenschemas hat mehrere Iterationen durchlaufen, ist aber noch nicht abgeschlossen. Google und Freunde bitten um weiteres Feedback, da die Fertigstellung näher rückt. Eine Reihe öffentlicher Schwachstellendatenbanken exportieren heute bereits dieses Format, weitere sind in Vorbereitung:

Go-Schwachstellendatenbank für Go-Pakete

Rost-Beratungsdatenbank für Cargo-Pakete

< p>Python-Advisory-Datenbank für PyPI-Pakete

DWF-Datenbank für Schwachstellen im Linux-Kernel und anderer beliebter Software

OSS-Fuzz-Datenbank für Schwachstellen in C/C++-Software, die von OSS-Fuzz gefunden wurden

Der OSV-Dienst hat auch alle diese Schwachstellendatenbanken aggregiert, die auf der Web-Benutzeroberfläche des Projekts angezeigt werden können. Die Datenbanken können auch mit einem einzigen Befehl über die vorhandenen APIs abgefragt werden.

Zusätzlich zur bestehenden Automatisierung von OSV hat Google weitere Automatisierungstools für die Wartung von Sicherheitslückendatenbanken entwickelt und diese Tools verwendet, um die Python-Beratungsdatenbank der Community zu booten. Diese Automatisierung verwendet vorhandene Feeds, ordnet sie genau Paketen zu und generiert Einträge mit genauen, validierten Versionsbereichen mit minimalem menschlichen Eingriff. Google plant, dieses Tool auf andere Ökosysteme auszudehnen, für die es keine vorhandene Schwachstellendatenbank oder wenig Unterstützung für die laufende Datenbankwartung gibt.

Diese Bemühungen stehen auch im Einklang mit der jüngsten US-Executive Order on Improving the Nation's Cybersecurity, in der die Notwendigkeit betont wurde, Hindernisse für den Austausch von Bedrohungsinformationen zu beseitigen, um die nationale Infrastruktur zu stärken. Diese erweiterte gemeinsame Schwachstellendatenbank ist ein wichtiger Schritt zur Schaffung einer sichereren Open-Source-Umgebung für alle Benutzer.

Möchtest du mitmachen? Du solltest. Dies verspricht, Open-Source-Software unabhängig von Ihrem Projekt viel einfacher zu sichern.

Verwandte Geschichten:

Open-Source-Sicherheit: Google hat einen neuen Plan, um Angriffe auf die Software-Lieferkette zu stoppenCloudLinux veröffentlicht UChecker-Sicherheitstool für Linux-ServerNasty Linux systemd root level security bug enthüllt und gepatcht

Verwandte Themen:

Unternehmenssoftware Sicherheit TV-Datenverwaltung CXO-Rechenzentren Steven J. Vaughan-Nichols

Von Steven J. Vaughan-Nichols für Linux und Open Source | 24. Juni 2021 — 19:30 GMT (20:30 BST) | Thema: Sicherheit