AlmaLinux stellt eine Software Bill of Materials (SBOM) für seine Releases bereit.
Was ist eine SBOM?
SBOM steht für "Software Bill of Materials" und ist eine Art Liste der Inhaltsstoffe einer Software. Sie hilft dabei, den Inhalt, Lizenzinformationen, Komponenten, Versionen sowie bekannte Schwachstellen von Software inklusive Open-Source-Komponenten und Komponenten Dritter zu identifizieren.
Die SBOM ist die "Liste der Zutaten", der Code sind die Zutaten, und das Buildsystem ist die "Küche" in der aus den Zutaten die Software gebaut wird, die Sie konsumieren.
Warum sind SBOMs wichtig?
Open-Source-Software wird intensiv in Anwendungen benutzt, aber es hat zur Entdeckung vieler großer Hacks und Schwachstellen geführt. SBOMs sollen der Community und Nutzern von Open-Source mehr Transparenz bringen, und sind eine effiziente Methode um (im Falle eines Risikos) einzelne Dateien, Blbliotheken, Abhängigkeiten, oder ähnliches zu identifizieren. Somit tragen sie dazu bei, das Vertrauen in Open-Source-Software zu stärken.
The Linux Foundation stimmt zu…
Die Linux Foundation und Open Source Security Foundation (OpenSSF) haben auch einen Plan erstellt mit dem Namen Source Software Security Mobilization Plan der die Industrie zum Handeln auffordert, Softwarekomponenten-Frameworks, inklusive SBOMs, zu entwickeln, um die Antwort auf Schwachstellen wie Log4j in der Zukunft zu verbessern.
...und der Präsident selbst
Eine SBOM wurde als ein wichtiger Teil der Lösung hervorgehoben, präsentiert von dem Präsidenten in der Executive Order on Improving the Nation’s Cybersecurity.
"the term “Software Bill of Materials” or “SBOM” means a formal record containing the details and supply chain relationships of various components used in building software. Software developers and vendors often create products by assembling existing open source and commercial software components. The SBOM enumerates these components in a product. It is analogous to a list of ingredients on food packaging."
Was AlmaLinux bietet
The AlmaLinux Build System hat aus den oben genannten Gründen SBOM in die Pipeline eingebaut und erlaubt so:
- Vom Abrufen der Quellen aus den CentOS-Git-Repositories bis zur Freigabe eines verifizierten und signierten Pakets im öffentlichen Repository kann der gesamte Prozess nachverfolgt werden
- Dadurch, dass nur vertraute Quellen für den Bau verwendet werden, können Angriffe verhindert und die Build-Pipeline sicherer gemacht werden
- Ursachen für Datenverlust verhindern
Wie machen wir das?
AlmaLinux nutzt Codenotarys open-source immudb um Administratoren die Authentisierung, Verifizierung und Sichtbarkeit der SBOM zu ermöglichen.
- Das Alma Build System speichert SBOM-Daten in immudb, der Open-Source-Standard für unveränderbare Datenbanken, der von einigen der führenden Firmen und Regierungen eingesetzt wird.
- immudb ist gegen Manipulationen geschützt. Alle Bescheinigungsdaten werden von Clients auf Integrität geprüft und kryptografisch verifiziert. Niemand kann diese Daten verändern, weder AlmaLinux noch jemand anders.
- immudb ist auch gegen MITM-Attacken geschützt. Der für die Verschlüsselung verwendete Schlüssel wird auf der Client-Seite vor jeder Kommunikation geprüft.
Erste Schritte
Mehr Informationen finden Sie im AlmaLinux Wiki: https://github.com/AlmaLinux/build-system/wiki/Codenotary-SBOM-integration