# SBOM ja kyberkestävyysasetus

Ohjelmistoluettelo (software bill of materials, SBOM) on tuotteesi ohjelmiston ainesosaluettelo. CRA:n mukaan se on pakollinen - ja ainoa käytännöllinen tapa vastata kysymykseen "koskeeko tämä meitä?", kun seuraava haavoittuvuus julkaistaan.

Source: https://kernwatch.com/fi/sbom-vaatimukset · Päivitetty viimeksi: 2026-10-17

## Keskeiset tiedot

- CRA:n liite I edellyttää ohjelmistoluetteloa (SBOM) yleisesti käytetyssä, koneluettavassa muodossa, joka kattaa vähintään ylimmän tason riippuvuudet.
- CycloneDX (OWASP) ja SPDX (ISO/IEC 5962) ovat kaksi laajasti käytettyä SBOM-muotoa.
- SBOM on osa teknistä dokumentaatiota: sitä ei tarvitse julkaista, mutta markkinavalvontaviranomaiset voivat pyytää sen.
- Hyvä käytäntö: yksi SBOM jokaista tuettua julkaisua kohden, luotuna käännösputkessa ja tarkistettuna päivittäin haavoittuvuustietoja vasten.

## Mikä SBOM on

SBOM luettelee tuotteen jokaisen ohjelmistokomponentin: avoimen lähdekoodin kirjastot, käyttöjärjestelmän, kolmansien osapuolten moduulit ja omat pakettisi. Jokaisesta komponentista se kirjaa:

- nimen ja version, esimerkiksi `openssl 3.0.13`

- toimittajan

- yksilöivän tunnisteen - package URL (purl) tai CPE

- lisenssin

- mistä muista komponenteista se riippuu

## Mitä CRA edellyttää

Kyberkestävyysasetuksen liite I velvoittaa valmistajat tunnistamaan ja dokumentoimaan tuotteidensa sisältämät haavoittuvuudet ja komponentit, **myös laatimalla ohjelmistoluettelon yleisesti käytetyssä ja koneluettavassa muodossa, joka kattaa vähintään tuotteen ylimmän tason riippuvuudet**. SBOM on osa teknistä dokumentaatiotasi; sitä ei tarvitse julkaista, mutta markkinavalvontaviranomaiset voivat pyytää sen.

## CycloneDX ja SPDX

Kaksi muotoa on laajasti käytössä, ja molemmat ovat koneluettavia:

- **CycloneDX** (OWASP) - suunniteltu tietoturvakäyttöön, sisäänrakennettu tuki haavoittuvuuksien hyödynnettävyyden ilmaisemiselle (VEX).

- **SPDX** (Linux Foundation, ISO/IEC 5962) - alun perin lisenssien vaatimustenmukaisuuteen, laajasti käännöstyökalujen tukema.

Useimmat käännösympäristöt osaavat tuottaa ne: esimerkiksi Syft tai cdxgen konteille ja tiedostojärjestelmille, CycloneDX-liitännäiset Mavenille, Gradlelle ja npm:lle sekä Yocto Projectin SPDX-tuloste sulautetulle Linuxille.

## SBOM on hyödyllinen vain, jos se pysyy ajan tasalla

Kerran vaatimustenmukaisuusvakuutusta varten laadittu SBOM vanhenee seuraavassa julkaisussa. Käytännössä auttaa:

- yksi SBOM jokaista julkaistua versiota kohden, luotuna käännösputkessa;

- jokainen komponentti tarkistettuna päivittäin uusia haavoittuvuustietoja vasten;

- kirjattu päätös jokaisesta löydöksestä - altis, ei altis tai korjattu;

- julkaisujen väliset erot yhdellä silmäyksellä.

## Miten Kernwatch käyttää SBOMejasi

- Tuo CycloneDX tai SPDX lataamalla tai CI:stä API-avaimella.

- Vertaa julkaisuja ja näe, mitkä komponentit on lisätty, poistettu tai muutettu.

- Pakettitunnisteellisten (purl) komponenttien vertailu OSV:hen, CISA:n tunnettujen hyödynnettyjen haavoittuvuuksien luetteloon ja EU:n haavoittuvuustietokantaan: maksullisissa paketeissa päivittäin, Free-paketissa viikoittain.

- Arviointipäätökset viedään VEX-muodossa yhdessä SBOMin kanssa, kun asiakas tai viranomainen pyytää.

## Viralliset lähteet

- [Asetus (EU) 2024/2847, liite I, EUR-Lex](https://eur-lex.europa.eu/eli/reg/2024/2847/oj)
- [CycloneDX-määrittely](https://cyclonedx.org/)
- [SPDX-määrittely](https://spdx.dev/)
- [OSV-haavoittuvuustietokanta](https://osv.dev/)
- [CISA:n luettelo tunnetuista hyödynnetyistä haavoittuvuuksista](https://www.cisa.gov/known-exploited-vulnerabilities-catalog)
