Software Bill of Materials (SBOM)
Software Bill of Materials (SBOM) je štruktúrovaný, strojovo čitateľný súpis, ktorý uvádza každý softvérový komponent, knižnicu, framework a závislosť zahrnutú v produkte — vrátane čísel verzií, dodávateľov a licenčných informácií. Funguje ako „výživový štítok” pre softvér, umožňujúc organizáciám identifikovať a odstrániť známe zraniteľnosti naprieč celým softvérovým dodávateľským reťazcom.
Kľúčové fakty
| Detail | Informácia |
|---|---|
| Primárne formáty | SPDX (ISO/IEC 5962:2021), CycloneDX (OWASP) |
| Mandátovaný | Zákon o kybernetickej odolnosti EÚ (2024/2847), US Executive Order 14028 |
| Termín CRA | 11. december 2027 (plné povinnosti) |
| Vzťahuje sa na | Všetky produkty s digitálnymi prvkami predávané na trhu EÚ |
| Rozsah | Firmvér, OS, middleware, aplikačný kód, open-source knižnice |
Prečo je SBOM dôležitý pre hardvér?
Vstavané hardvérové produkty — IoT zariadenia, priemyselné kontroléry, systémy založené na FPGA — sa dodávajú s firmvérovými zásobníkmi obsahujúcimi desiatky až stovky softvérových komponentov: jadrá RTOS, sieťové zásobníky, kryptografické knižnice, bootloadery a ovládače. Keď sa v ktoromkoľvek z týchto komponentov objaví zraniteľnosť (napr. kritické CVE v OpenSSL), SBOM umožňuje:
- Okamžité posúdenie dopadu — Určenie počas niekoľkých hodín, ktoré produkty a verzie firmvéru sú postihnuté.
- Cielené záplaty — Vydanie OTA aktualizácií len pre postihnuté zariadenia namiesto plošného preflashovania celých flotíl.
- Regulačné dôkazy — Poskytnutie audítorom a orgánom dohľadu nad trhom zdokumentovaných dôkazov o procesoch správy zraniteľností.
- Transparentnosť pre zákazníkov — Umožnenie podnikovým odberateľom vyhodnotiť riziko dodávateľského reťazca pred obstaraním.
Bez SBOM čelí výrobca, ktorý zistí, že knižnica použitá pred troma verziami firmvéru má kritickú zraniteľnosť, týždňom forenznej analýzy na určenie expozície — čas, ktorý regulátori ani útočníci neposkytujú.
Formáty SBOM
| Formát | Spravovaný | Silné stránky | Ekosystém |
|---|---|---|---|
| SPDX 2.3 | Linux Foundation (ISO štandard) | Komplexné licencovanie, ISO štandardizácia | GitHub, Yocto, Zephyr |
| CycloneDX 1.6 | OWASP | Ľahký, zameraný na zraniteľnosti, podpora VEX | Nástroje OWASP, Dependency-Track |
Oba formáty podporujú serializáciu JSON a XML. Pre vstavaný firmvér je často preferovaný CycloneDX vďaka natívnej podpore deskriptorov hardvérových komponentov a výrazov VEX (Vulnerability Exploitability eXchange).
SBOM v životnom cykle vstavaného firmvéru
1. Fáza zostavenia
├── Toolchain automaticky generuje SBOM z build manifestu
├── Zachytáva: názov komponentu, verzia, hash, licencia, dodávateľ
└── Nástroje: Yocto (create-spdx), Zephyr (west spdx), syft, trivy
2. Fáza vydania
├── SBOM pripojený k artefaktu vydania firmvéru
├── Podpísaný spolu s binárnym súborom firmvéru
└── Uložený v úložisku artefaktov s verzovaním
3. Fáza monitoringu
├── Kontinuálne skenovanie CVE oproti komponentom SBOM
├── Automatické upozornenia pri zhode nových zraniteľností so záznamami SBOM
└── Nástroje: Dependency-Track, Grype, OSV.dev
4. Reakcia na incidenty
├── Vyhľadávanie v SBOM identifikuje všetky postihnuté produkty/verzie
├── Zverejnenie vyhlásenia VEX: postihnutý, nepostihnutý alebo pod vyšetrovaním
└── OTA aktualizácia odoslaná do postihnutej flotily zariadení
Požiadavky CRA na SBOM
Podľa zákona o kybernetickej odolnosti EÚ musia výrobcovia:
- Generovať strojovo čitateľný SBOM pre každý produkt s digitálnymi prvkami.
- Udržiavať SBOM počas celej podporovanej životnosti produktu (minimálne 5 rokov).
- Aktualizovať SBOM s každým vydaním firmvéru.
- Monitorovať uvedené komponenty na novo objavené zraniteľnosti.
- Hlásiť aktívne zneužívané zraniteľnosti agentúre ENISA do 24 hodín.
- Poskytnúť SBOM orgánom dohľadu nad trhom na vyžiadanie.
Bežné chyby
| Chyba | Prečo je dôležitá | Správny prístup |
|---|---|---|
| Manuálna tvorba SBOM | Náchylná na opomenutia, nemožné udržiavať | Automatizácia generovania zo zostavovacieho systému |
| Sledovanie len priamych závislostí | Tranzitívne závislosti obsahujú 60–80 % zraniteľností | Zahrnutie úplného stromu závislostí |
| Jednorazový SBOM pri uvedení produktu | Zastarané počas niekoľkých týždňov s objavovaním nových CVE | Kontinuálny monitoring s automatickými upozorneniami |
| Žiadne vyhlásenia VEX | Nemožnosť komunikovať, či CVE skutočne ovplyvňuje produkt | Publikovanie VEX spolu s SBOM pri každom upozornení |
Súvisiace pojmy
- CRA — Nariadenie EÚ, ktoré mandátuje SBOM pre pripojené produkty.
- Bezpečný boot — Overenie integrity firmvéru, komplementárne k sledovaniu dodávateľského reťazca SBOM.
- IoT — Pripojené zariadenia, ktorých firmvérové zásobníky najviac profitujú z transparentnosti SBOM.