Software Bill of Materials (SBOM)
Softvérový kusovník (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ť obsiahnutú vo výrobku — vrátane čísel verzií, dodávateľov a licenčných informácií. Funguje ako „etiketa s výživovými údajmi“ pre softvér a umožňuje organizáciám identifikovať a odstraňovať známe zraniteľnosti v celom ich softvérovom dodávateľskom reťazci.
Kľúčové fakty
| Údaj | Informácia |
|---|---|
| Hlavné formáty | SPDX (verzia 2.2.1 vydaná ako ISO/IEC 5962:2021), CycloneDX (OWASP, ECMA-424) |
| Vyžaduje ho | EU Cyber Resilience Act (2024/2847), americký Executive Order 14028 |
| Termín CRA | 11. decembra 2027 (povinnosti v plnom rozsahu) |
| Vzťahuje sa na | Všetky výrobky s digitálnymi prvkami predávané na trhu EÚ |
| Rozsah | Firmvér, operačný systém, middleware, aplikačný kód, knižnice s otvoreným zdrojovým kódom (open source) |
Prečo je SBOM dôležitý pre hardvér?
Embedded hardvérové výrobky — zariadenia IoT, priemyselné riadiace jednotky, systémy na báze FPGA — sa dodávajú s firmvérovými zásobníkmi (stackmi), ktoré obsahujú 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 — V priebehu niekoľkých hodín určiť, ktoré výrobky a verzie firmvéru sú dotknuté.
- Cielené záplatovanie — Vydať aktualizácie OTA len pre dotknuté zariadenia namiesto plošného preprogramovania celých flotíl.
- Dôkazy pre regulačné orgány — Poskytnúť audítorom a orgánom dohľadu nad trhom zdokumentovaný dôkaz o procesoch správy zraniteľností.
- Transparentnosť voči zákazníkom — Umožniť firemným odberateľom vyhodnotiť riziko dodávateľského reťazca ešte pred obstaraním.
Bez SBOM čakajú výrobcu, ktorý zistí, že knižnica použitá pred tromi vydaniami firmvéru má kritickú zraniteľnosť, týždne forenznej analýzy, kým určí mieru svojho vystavenia — čas, ktorý mu regulačné orgány ani útočníci nedoprajú.
Formáty SBOM
| Formát | Správca | Silné stránky | Ekosystém |
|---|---|---|---|
| SPDX (aktuálna verzia: 3.0; verzia 2.2.1 je ISO/IEC 5962:2021) | Linux Foundation | Podrobné licenčné údaje, základ štandardizovaný normou ISO | GitHub, Yocto, Zephyr |
| CycloneDX (aktuálna verzia: 1.7; ECMA-424) | OWASP / Ecma | Odľahčený, zameraný na zraniteľnosti, podpora VEX | Nástroje OWASP, Dependency-Track |
Oba formáty podporujú serializáciu do JSON a XML. Pri embedded firmvéri sa často uprednostňuje CycloneDX, pretože natívne podporuje deskriptory hardvérových komponentov a vyhlásenia VEX (Vulnerability Exploitability eXchange).
SBOM v životnom cykle embedded firmvéru
1. Fáza zostavenia
+-- Toolchain automaticky generuje SBOM z manifestu zostavenia
+-- Zachytáva: názov komponentu, verziu, hash, licenciu, dodávateľa
+-- 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 repozitári artefaktov so správou verzií
3. Fáza monitorovania
+-- Priebežné skenovanie CVE voči komponentom SBOM
+-- Automatické upozornenia, keď nové zraniteľnosti zodpovedajú položkám SBOM
+-- Nástroje: Dependency-Track, Grype, OSV.dev
4. Reakcia na incident
+-- Vyhľadanie v SBOM identifikuje všetky dotknuté výrobky/verzie
+-- Zverejnené vyhlásenie VEX: dotknutý, nedotknutý alebo v štádiu preverovania
+-- Aktualizácia OTA odoslaná dotknutej flotile zariadení
Požiadavky CRA na SBOM
Podľa nariadenia EU Cyber Resilience Act musia výrobcovia:
- Vytvárať strojovo čitateľný SBOM pre každý výrobok s digitálnymi prvkami.
- Udržiavať SBOM počas celého obdobia podpory (najmenej 5 rokov, ak sa neočakáva, že sa výrobok bude používať kratšie).
- Aktualizovať SBOM pri každom vydaní firmvéru.
- Monitorovať uvedené komponenty z hľadiska novoobjavených zraniteľností.
- Oznamovať aktívne zneužívané zraniteľnosti prostredníctvom jednotnej oznamovacej platformy — jednotke CSIRT určenej za koordinátora a agentúre ENISA — s včasným varovaním do 24 hodín.
- Poskytovať SBOM orgánom dohľadu nad trhom na požiadanie.
Časté chyby
| Chyba | Prečo na tom záleží | Správny postup |
|---|---|---|
| Ručná tvorba SBOM | Náchylná na vynechané položky, nedá sa udržiavať | Automatizovať generovanie zo zostavovacieho systému |
| Sledovanie iba priamych závislostí | Tranzitívne závislosti obsahujú 60–80 % zraniteľností | Zahrnúť tranzitívne závislosti (minimum podľa CRA sú iba závislosti najvyššej úrovne) |
| Jednorazový SBOM pri uvedení výrobku na trh | Do niekoľkých týždňov zastará, lebo pribúdajú nové CVE | Priebežné monitorovanie s automatickými upozorneniami |
| Žiadne vyhlásenia VEX | Nedá sa oznámiť, či dané CVE výrobok skutočne ovplyvňuje | Ku každému bezpečnostnému oznámeniu (advisory) poskytnúť VEX spolu s kusovníkom SBOM |
Súvisiace pojmy
- CRA — Nariadenie EÚ, ktoré vyžaduje SBOM pre pripojené výrobky.
- Secure Boot — Overovanie integrity firmvéru, ktoré dopĺňa sledovanie dodávateľského reťazca pomocou SBOM.
- IoT — Pripojené zariadenia, ktorých firmvérové zásobníky najviac ťažia z transparentnosti SBOM.
- CVE — Identifikátory zraniteľností, s ktorými monitorovanie SBOM porovnáva komponenty.
Naša služba monitorovania SBOM a zraniteľností automatizuje celý životný cyklus SBOM — od generovania pri zostavovaní cez priebežné skenovanie CVE až po vopred naformátované oznámenia pre jednotnú oznamovaciu platformu agentúry ENISA — aby váš embedded firmvér zostal v súlade s predpismi bez ručnej práce.
Oficiálne referencie
- Nariadenie (EÚ) 2024/2847 (CRA) — príloha I časť II bod 1, článok 13 ods. 24 a 25 a príloha VII o SBOM — EUR-Lex (vyžaduje vypracovať SBOM a uchovávať ho v technickej dokumentácii; zverejnenie sa nevyžaduje)
- SPDX — špecifikácia ISO/IEC 5962:2021 — Linux Foundation (hlavná norma formátu SBOM)