Google hat seine neues System OSS Rebuild vorgestellt, dass die Herkunft von Open-Source-Paketen und ihre Integrität sicherstellt. Damit möchte Google vor allem sogenannte Supply-Chain-Angriffe verhindern und Sicherheitsstandards stärken.
Moderne Open-Source-Software greift auf zahlreiche fertige Bibliotheken und Komponenten zurück. Die holen Build-Tools in der Regel aus passenden Repositories wie dem Python Package Index (PyPI). Kriminelle haben es jedoch immer wieder geschafft, manipulierte Komponenten einzuschleusen. Diese Supply-Chain-Attacken möchte Google mit seinem neuen Projekt OSS Rebuild erschweren.
Funktionsweise
Dieses System erstellt zunächst automatisch eine Build-Definition für eine benötigte Komponente. Bei der Erstellung der Build-Definitionen setzt Google auf die Hilfe von künstlicher Intelligenz und Heuristiken. Sofern sich ein Paket dennoch nicht vollständig reproduzieren lässt, will Google eine manuell erstellte Build-Definition anbieten.
In jedem Fall baut OSS Build die Komponente mit der selbsterstellten Definition neu. Das dabei herausfallende Ergebnis vergleicht OSS Rebuild mit dem Upstream-Artefakt, also dem zugehörigen Paket aus dem ursprünglichen Repository. Den dabei notwendigen bitgenauen Vergleich erschweren allerdings mitunter Komprimierungsverfahren und andere Techniken. OSS Rebuild entfernt daher zunächst alle diese „Instabilitäten“.
Für das reproduzierte Paket erzeugt OSS Rebuild schließlich einen Herkunftsnachweis. Google nutzt dabei die für genau solche Zwecke geschaffene SLSA-Spezifikation. Das Akronym steht für den Zungenbrecher Supply-chain Levels for Software Artifacts und wird „Salsa“ ausgesprochen.
Mehrfacher Nutzen
Mit dem Nachweis lässt sich schnell Code aufdecken, der nicht im ursprünglichen Repository vorhanden ist. OSS Build erstellt zudem minimale Build-Umgebungen, die es überwacht und so verdächtige Aktivitäten während des Build-Prozesses aufspürt. Die eingebauten dynamischen Analysefähigkeiten sollen sogar Hintertüren wie die in XZ aufspüren können. Schließlich können Unternehmen mit den Ergebnissen ihre Software Bills of Materials (SBOM) würzen. Sicherheitsexperten wiederum binden die vom OSS-Build-Projekt bereitgestellten Tools in ihre Workflows ein und werden so frühzeitig bei Problemen gewarnt.
OSS Rebuild unterstützt derzeit PyPI-, NPM- und Crates.io-Pakete. Das System deckt folglich die Sprachen Python, JavaScript, Typescript und Rust ab. Der komplette Quellcode und eine Anleitung finden sich im entsprechenden GitHub-Repository.






