Czym jest SBOM
SBOM wymienia każdy komponent oprogramowania w produkcie: biblioteki open source, system operacyjny, moduły zewnętrznych dostawców i Twoje własne pakiety. Dla każdego komponentu zapisuje:
- nazwę i wersję, na przykład
openssl 3.0.13 - dostawcę
- unikalny identyfikator - adres pakietu (purl) lub CPE
- licencję
- od jakich innych komponentów zależy
Czego wymaga CRA
Załącznik I aktu o cyberodporności zobowiązuje producentów do identyfikowania i dokumentowania podatności i komponentów zawartych w produktach, w tym przez sporządzenie wykazu komponentów oprogramowania w powszechnie stosowanym formacie nadającym się do odczytu maszynowego, obejmującego co najmniej zależności najwyższego poziomu. SBOM jest częścią dokumentacji technicznej; nie musisz go publikować, ale organy nadzoru rynku mogą go zażądać.
CycloneDX i SPDX
Powszechnie stosowane są dwa formaty, oba nadają się do odczytu maszynowego:
- CycloneDX (OWASP) - zaprojektowany z myślą o bezpieczeństwie, z wbudowaną obsługą oceny wykorzystywalności (VEX).
- SPDX (Linux Foundation, ISO/IEC 5962) - pierwotnie do zgodności licencyjnej, obsługiwany przez wiele narzędzi buildowych.
Większość ekosystemów potrafi je generować: na przykład Syft lub cdxgen dla kontenerów i systemów plików, wtyczki CycloneDX dla Maven, Gradle i npm oraz wyjście SPDX projektu Yocto dla wbudowanego Linuksa.
SBOM jest użyteczny tylko wtedy, gdy jest aktualny
SBOM przygotowany raz do deklaracji zgodności traci aktualność przy następnym wydaniu. W praktyce pomaga:
- jeden SBOM dla każdej dostarczonej wersji, generowany w pipeline'ie;
- codzienne sprawdzanie każdego komponentu w nowych danych o podatnościach;
- udokumentowana decyzja dla każdego wyniku - dotyczy, nie dotyczy lub naprawione;
- różnice między wydaniami widoczne od razu.
Jak Kernwatch wykorzystuje Twoje SBOM-y
- Import CycloneDX lub SPDX przez przesłanie pliku lub z CI z kluczem API.
- Porównywanie wydań i sprawdzanie, które komponenty dodano, usunięto lub zmieniono.
- Dopasowanie komponentów z identyfikatorem pakietu (purl) do OSV, listy CISA znanych wykorzystywanych podatności i unijnej bazy podatności: codziennie w planach płatnych, co tydzień w planie Free.
- Eksport ocen jako VEX razem z SBOM, gdy pyta klient lub organ.
- Obejrzyj: Produkty, wydania i SBOM (4 min)
- Obejrzyj: Przesyłanie SBOM z CI kluczem API (2 min)
- Obejrzyj: Ocena, porównanie wydań i eksport SBOM (3 min)