Vad en SBOM är
En SBOM listar varje programvarukomponent i en produkt: bibliotek med öppen källkod, operativsystemet, moduler från tredje part och era egna paket. För varje komponent anges:
- namn och version, till exempel
openssl 3.0.13 - leverantör
- en unik identifierare - en paket-URL (purl) eller CPE
- licens
- vilka andra komponenter den är beroende av
Vad CRA kräver
Bilaga I till cyberresiliensförordningen kräver att tillverkare identifierar och dokumenterar sårbarheter och komponenter i sina produkter, bland annat genom att upprätta en programvaruförteckning i ett allmänt använt och maskinläsbart format som åtminstone omfattar de översta beroendena. SBOM:en ingår i er tekniska dokumentation; ni behöver inte publicera den, men marknadskontrollmyndigheter kan begära in den.
CycloneDX och SPDX
Två format används i stor utsträckning, och båda är maskinläsbara:
- CycloneDX (OWASP) - utformat för säkerhetsändamål, med inbyggt stöd för bedömning av utnyttjandebarhet (VEX).
- SPDX (Linux Foundation, ISO/IEC 5962) - ursprungligen för licensefterlevnad, brett stöd i byggverktyg.
De flesta byggmiljöer kan generera dem: till exempel Syft eller cdxgen för containrar och filsystem, CycloneDX-insticksprogrammen för Maven, Gradle och npm samt SPDX-utdata från Yocto Project för inbyggd Linux.
En SBOM är bara användbar om den hålls aktuell
En SBOM som tas fram en gång för EU-försäkran om överensstämmelse är inaktuell vid nästa release. Det här hjälper i praktiken:
- en SBOM per levererad version, genererad i byggpipelinen;
- varje komponent kontrollerad mot nya sårbarhetsdata varje dag;
- ett dokumenterat beslut för varje fynd - berörd, inte berörd eller åtgärdad;
- skillnaderna mellan releaser synliga med en blick.
Så använder Kernwatch era SBOM:er
- Importera CycloneDX eller SPDX via uppladdning eller från CI med en API-nyckel.
- Jämför releaser och se vilka komponenter som har lagts till, tagits bort eller ändrats.
- Matchning av komponenter med paketidentifierare (purl) mot OSV, CISA:s lista över kända utnyttjade sårbarheter och EU:s sårbarhetsdatabas: dagligen i betalplaner, varje vecka i Free.
- Bedömningar exporteras som VEX tillsammans med SBOM:en när en kund eller myndighet frågar.
- Titta: Produkter, releaser och SBOM:er (4 min)
- Titta: Ladda upp SBOM:er från CI med en API-nyckel (2 min)
- Titta: Bedömning, jämförelse av releaser och SBOM-export (3 min)