PLB-SBOM Of: Hoe een SBOM te samenstellen voor een groep producten
1 feb 2024
Ingenieurswetenschappen
Software Bill of Materials (SBOM) wordt essentieel voor de meeste CI/CD-pijplijnen.
SBOM legt een inventaris vast van componenten die het specifieke project samen met de bijbehorende metadata vormen.
Echter, de meeste complexe applicaties in de echte wereld worden gebouwd als een verzameling of een verzameling van applicaties — soms meer dan een paar lagen diep.
Bijvoorbeeld, een smartphone is een verzameling van onafhankelijk gebouwde apps bovenop een besturingssysteem — vermoedelijk gebouwd als een integratie van projecten. De apps van derden kunnen functionaliteiten van de apps van de eerste partij aanroepen, die op hun beurt afhankelijk kunnen zijn van externe diensten.
Er zijn veel keuzes als het gaat om het bouwen van een SBOM voor een complex meerlaag systeem.
Om richtlijnen voor beste praktijken over het onderwerp vast te stellen, heeft de SBOM Tooling and Implementation Working Group van CISA zojuist gepubliceerd — Richtlijnen voor het Samenstellen van een Groep Producten”. De richtlijnen van twee pagina’s — een must-read — scheiden VERPLICHTE en AANGEROEPE richtlijnen en bevatten een voorbeeld van zo'n assemblage.
PLB-SBOM
Gegeven dat de samenstelling van onafhankelijke componenten een softwareproductlijn wordt genoemd, heeft CISA de SBOM Product Line Build SBOM of PLB-SBOM genoemd.
PLB-SBOM geeft al zijn componenten weer en verwijst naar de individuele SBOM voor elke component met behulp van het referentiemechanisme dat van toepassing is op de specificatie ( SPDXRef- voor SPDX en bom-ref voor CycloneDX).
VEREISTe Informatie
De richtlijnen richten zich op het bewaren van de SBOM voor elk componentafbeelding en deze gebruiken als referentie om de uiteindelijke PLB-SBOM te bouwen.
Een PLB-SBOM moet omvatten:
Alle componenten met hun versienummer
Een verwijzing naar de build SBOM die elke componentafbeelding heeft gegenereerd
AANBEVOLEN Informatie
Bovendien wordt aanbevolen de volgende informatie op te nemen in de uiteindelijke PLB-SBOM
De hash van het artifact dat is gekoppeld aan elke componentafbeelding
Beschikbare productidentificator voor de component (PURL, CPE, SWID)
Auteur van de PLB-SBOM: de entiteit die de productlijn uitbrengt
Hash wordt aanbevolen om kruiscontrole mogelijk te maken en kan een gemeenschappelijk hash-schema tussen componenten omvatten.
Uitdagingen

Voorbeeld van een grafische weergave van een PLB-SBOM voor “Alpha System 1.0”, Bron: CISA-richtlijnen
De PLB-SBOM van CISA is een redelijke start voor SBOM voor samengestelde software.
Eerst, het behoud en de verwijzing naar SBOM in plaats van ze direct in te voegen, maakt het mogelijk om validerende informatie zoals ingesloten handtekeningen te bewaren.
Natuurlijk is het behouden van component SBOMs in plaats van deze in te voegen, per definitie verliesvrij.
Er zijn echter bekende uitdagingen bij het behouden, verwijzen en distribueren.
Het opnemen van SBOM bij verwijzing impliceert dat de verzameling van SBOMs die het product moeten vormen, als een eenheid moet worden beheerd. Hun mogelijkheden zullen echter variëren als de component SBOM in verschillende specificaties komt of verschillende versies van de specificatie heeft.
In dezelfde geest zullen samengestelde SBOM-units verbeteringen in de hulpmiddelen vereisen om de SBOM-verwijzingen te doorlopen voor dagelijkse SBOM-acties, zoals kwetsbaarheid of checksum opzoekingen.
Tot slot, om de hulpmiddelen te laten werken, vereisen SBOM-verwijzingen de distributie van alle SBOMs samen en creëren de noodzaak voor een programmatische beschrijving van assemblage en distributie. Vandaag de dag bestaat er niets.
sbomasm
sbomasm — Interlynk’s open-source tooling voor SBOM-assemblage gericht op het embedden van SBOM-inhoud om de bovenstaande uitdagingen te vermijden. Het zal echter binnenkort de mogelijkheid toevoegen om PLB-SBOM met referenties op te bouwen.
Interlynk’s commerciële platform is gebouwd met beide gebruikssituaties in gedachten en kan een PLB-SBOM produceren met referenties en het automatisch genereren van SBOM bij wijzigingen starten.
Een complexe build-pijplijn beheren zonder aandacht voor automatisering kan foutgevoelig zijn en als een karwei aanvoelen. Met een doordachte opzet kan zelfs de meest complexe software-buildpijplijn echter eenvoudig worden geautomatiseerd voor SBOM en de bijbehorende compliancebehoeften.
Interlynk vereenvoudigt beveiligingsontwikkeling, maakt het eenvoudig en automatiseert het proces. Neem gerust contact met ons op via hello@interlynk.io
