npm, PyPI und Co.: Framework soll Security der Paket-Repositories verbessern
Mit den "Principles for Package Repository Security" veröffentlicht die OpenSSF Regeln, um die Security von Paket-Repositories zu messen und zu verbessern.
Die Open Source Security Foundation (OpenSSF) hat in Zusammenarbeit mit der US-amerikanischen Cybersecurity-Behörde CISA die "Principles for Package Repository Security" (Richtlinien für die Sicherheit von Paketverwaltungsdiensten) veröffentlicht. Das Regelwerk soll dabei helfen, die Sicherheit von Paket-Registries zu ermitteln und zu verbessern.
Viele Unternehmen verwenden in ihren Softwareprojekten externe Open-Source-Pakete aus Plattformen wie npm für JavaScript oder PyPI für Python. Und immer wieder findet sich Code mit Schwachstellen unter den Paketen, teils durch Bugs, aber häufig durch bewusst eingeschleusten Schadcode.
MaĂźband fĂĽr Security
Das neue Framework enthält Vorgaben für vier Bereiche, um den Security-Reifegrad der Plattformen zu bemessen: für die Authentifizierung, die Autorisierung, allgemeine Eigenschaften und das Tooling für die Kommandozeile.
FĂĽr jede Kategorie vergibt sie vier Reifegrade von Level 0 (sehr geringe Security) ĂĽber Level 1 (grundlegende Sicherheit) und Level 2 (moderate Security) bis zu Level 3 (erweiterte Security).
Dieses Jahr gibt es die heise devSec gleich zweimal. Vor der traditionellen Konferenz im Herbst findet im März zusätzlich die Frühjahrsausgabe in Hannover statt. Sie widmet sich an zwei Tagen brisanten Themen rund um sichere Softwareentwicklung.
Am 6. März steht auf der von iX und dpunkt.verlag ausgerichteten Konferenz die Software-Supply-Chain-Security im Fokus, und am 7. März geht es um den sicheren Einsatz von KI in der Softwareentwicklung.
Ein wichtiges Kriterium ist die Multi-Faktor-Authentifizierung (MFA): Für Level 1 müssen Registries sie ermöglichen, Level 2 bedeutet, dass sie für kritische Pakete gefordert sein muss, und Level 3, dass alle Maintainer sich über MFA anmelden müssen.
Mit oder ohne Accounts
Die Richtlinien unterscheiden bei der individuellen Bewertung zum einen danach, ob die Paket-Registries User-Accounts verwalten und ob sie fertige Pakete akzeptieren, den Build-Prozess vom Sourcecode ĂĽbernehmen oder lediglich den Sourcecode verwalten.
Abhängig davon treffen unterschiedliche Kategorien auf die Dienste zu, da beispielsweise Authentifizierung nur für Dienste mit User-Accounts anfällt. Zu den für alle Registries geltenden allgemeinen Sicherheitsrichtlinien gehört unter anderem, wie einfach es ist, Schwachstellen zu melden, ob externe Sicherheitsforscher Zugriff erhalten und ob die Dienste regelmäßige Security-Reviews durchführen (lassen).
Derzeit trägt das Dokument zu den Principles for Package Security die Versionsnummer 0.1. Ein Pull Request im GitHub-Repository der Arbeitsgruppe dient dazu, Feedback für den Schritt zu Version 0.2 zu sammeln.
Die Linux Foundation hat die OpenSSF 2020 ins Leben gerufen, um die Sicherheit von Open-Source-Software zu verbessern. Die Organisation veröffentlicht zum einen Tools und Richtlinien, die vor allem den sicheren Einsatz von Open-Source-Paketen in der Software Supply Chain gewährleisten sollen. Unter anderem sucht das Tool Package Analysis nach verdächtigen Paketen auf Registries wie npm oder PyPI.
Die Stiftung hat im September 2023 einen Leitfaden mit Tools und Best Practices veröffentlicht, der dabei helfen soll, Code auf Versionsverwaltungsplattformen wie GitHub und GitLab abzusichern.
Daneben unterstützt die Open Source Security Foundation Projekte finanziell im Rahmen des Alpha-Omega-Projekts. Die erste Förderung erhielt die JavaScript-Laufzeitumgebung Node.js im April 2022. Zwei Monate später folgten mit der Python Software Foundation (PSF) und der Eclipse Foundation zwei weitere große Open-Source-Stiftungen. Im September 2022 kündigte die OpenSSF die finanzielle Unterstützung der Rust Foundation an, die sie im November 2023 fortführte.
Weitere Details lassen sich dem Blogbeitrag der OpenSSF zum Start des Frameworks entnehmen.
(rme)