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 ist eine Schlüsselkomponente in dem Ansatz, der vom Präsidenten vorgestellt wurde 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:
- Von den Sourcen, die aus den Git-Repositorys von CentOS heruntergeladen wurden, zur Veröffentlichung eines geprüften, signierten Pakets in den öffentlichen Repositorys 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 Community Attestation Service (CAS) um Administratoren die Authentisierung, Verifizierung und Sichtbarkeit der SBOM zu ermöglichen.
- CAS speichert alle Signaturen in immudb, der Open-Source-Standard für unveränderbare Datenbanken, der von einigen der führenden Firmen und Regierungen eingesetzt wird.
- CAS ist vor Manipulation geschützt. Die Integrität aller Attestierungsdaten wird durch den CAS-Client geprüft und die Daten kryptographisch verifiziert. Niemand kann diese Daten verändern, weder AlmaLinux noch jemand anders.
- CAS ist auch vor MITM-Angriffen 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