/
Příručka k SBOM (Software Bill of Materials)

Příručka k SBOM (Software Bill of Materials)

Dokumenty typu SBOM (Software Bill of Materials) obsahují soupis použitých komponent softwarového produktu - včetně verzí, licencí a vzájemných závislostí komponent. Aplikace SEAL umožňuje pomocí těchto dokumentů sledovat zranitelnosti ve vlastních aplikacích i v aplikacích třetích stran.

Podporovány jsou SBOM dokumenty ve formátu JSON a XML podle specifikace CycloneDX 1.5 (https://cyclonedx.org/).

Jako zdroje informací o zranitelnostech jsou využívány agregátor veřejně dostupných informací o zranitelnostech OSV (https://osv.dev/) a databáze NIST NVD (https://nvd.nist.gov/).

Základní jednotkou organizace dat v SBOM modulu je SBOM projekt který obsahuje jednu nebo více Verzí projektu. Import SBOM dokumentu se provádí pro konkrétní Verzi projektu.

Obsah:

Návod pro založení projektu a analýzu SBOM dokumentu

Založení projektu

Založit projekt je možné pomocí následující volby v nabídce aplikace:

SBOM → SBOM projects → Add

formulář založení nového projektu

Oprávnění: Nový SBOM projekt může založit uživatel s právem Manage organization SBOM projects.

Založení verze projektu

Založit verzi projektu je možné z detailu SBOM projektu pomocí volby Add v sekci Project versions:

založení nové verze projektu
formulář založení nové verze projektu

Volba Suppress in reports způsobí vyřazení verze projektu z e-mailových hlášení (např. u zkušebních nebo zastaralých verzí).

Oprávnění: Novou Verzi projektu může založit uživatel s právem Manage organization SBOM projects nebo právem Manage SBOM project na konkrétním projektu.

Import SBOM dokumentu

Dokument je možné importovat z detailu Verze projektu:

import SBOM dokumentu

Po importu SBOM dokumentu dochází automaticky k vyhodnocení zranitelnosti obsažených komponent. Po dokončení analýzy je v horní části stránky zobrazen souhrn zranitelností komponent:

souhrn zranitelností: 1 medium, 1 high, 2 critical

Pomocí tlačítka Evaluate components je možné spustit okamžitou kontrolu zranitelnosti komponent. Automatická kontrola zranitelnosti komponent probíhá jednou za hodinu.

Volba Adopt analysis umožňuje převzít analýzu z jiné verze projektu (běžně z předchozí).

Oprávnění: SBOM dokument může importovat uživatel s právem Manage organization SBOM projects nebo právem Manage SBOM project na konkrétním projektu.

Analýza zranitelných komponent

V detailu Verze projektu je v sekci Vulnerable components zobrazen seznam zranitelných SBOM komponent:

seznam zranitelných komponent

U každé zranitelné komponenty je nutné provést analýzu dopadu na konkrétní verzi projektu:

Pole pro analýzu jsou založena na CISA dokumentu Minimum Requirements for Vulnerability
Exploitability eXchange (viz. https://www.cisa.gov/sites/default/files/2023-04/minimum-requirements-for-vex-508c.pdf).

Stav analýzy je zobrazen u každé komponenty a u každé Verze projektu pomocí kruhového indikátoru:

Pokud zranitelnost ovlivňuje mnoho verzí projektů příp. pokud se zranitelnost týká více komponent a závěr analýzy se neliší, je možné analýzu aplikovat na více komponent resp. více verzí projektu najednou:

obrazek-20240304-171043.png

Oprávnění: Analýzu SBOM komponent může provádět uživatel s právem Manage organization SBOM projects nebo právem Analyze SBOM project na konkrétním projektu.

Založení SBOM hlášení (reportu)

Založit hlášení je možné pomocí následující volby v nabídce aplikace:

SBOM → Report definitions → Add

založení nového hlášení

V poli SBOM projects se vybírají SBOM projekty které se mají sledovat. V polích Days, Hours a Time zone je volena četnost a čas odesílání hlášení (na obrázku je vidět každodenní hlášení v 8:00 v časové zóně Europe/Prague).

Pomocí volby Generate empty report je možné vynutit odeslání prázdného hlášení (pokud se v daném časovém období neobjevila žádná nová zranitelnost).

Hlášení upozorňuje na všechny neanalyzované komponenty vybraných projektů, tj. buď na nově objevené zranitelnosti nebo existující zranitelnosti u kterých došlo ke změně hodnocení.

Oprávnění: Nové SBOM hlášení (report) může založit uživatel s právem Manage organization SBOM projects.

Oprávnění a role

Pro oblast SBOM projektů existují následující oprávnění:

  1. Manage organization SBOM projects

    1. Umožňuje uživateli spravovat všechny SBOM projekty organizace a definovat hlášení.

  2. Read SBOM project on <SBOM project>

    1. Umožňuje uživatel číst informace konkrétního SBOM projektu.

  3. Analyze SBOM project on <SBOM project>

    1. Umoňuje uživateli upravovat analýzu zranitelných komponent konkrétního SBOM projektu.

  4. Manage SBOM project on <SBOM project>

    1. Umožňuje uživateli spravovat konkrétní SBOM projekt včetně jeho verzí a provádět Import SBOM dokumentu. Toto právo je potřebné pro automatický upload pomocí API.

Oprávnění je potřeba přiřadit konkrétní roli a tuto roli potom přiřadit jednomu nebo více uživatelům.

Založit roli je možné pomocí následující volby v nabídce aplikace:

Users and roles → User roles → Add

založení nové role

V detailu role je pak možné v sekci SBOM projects přiřazovat roli konkrétní práva. Např. pro roli SBOM manager - SEAL by vypadalo nastavení práv takto:

sekce SBOM projects v detailu role

Uživatel s touto rolí by mohl spravovat Verze projektu SEAL a upravovat analýzu zranitelných komponent. Jednu nebo více rolí je možné uživateli přiřadit z detailu uživatele akcí Edit:

formulář úpravy uživatele

Role s právem Analyze SBOM project musí zároveň obsahovat oprávnění Read SBOM project a role s právem Manage SBOM project musí zároveň obsahovat oprávnění Read SBOM project a volitelně Analyze SBOM project.

Oprávnění: Spravovat role a uživatele může uživatel s právem Manage users. Toto právo je součástí standardní role User manager.

Zveřejnění SBOM dokumentů

Pro veřejný přístup k SBOM dokumentům je možné vytvořit vyhrazeného uživatele typu public access account a přiřadit mu roli určující ke kterým SBOM projektům a jejich verzím bude mít přístup.

Podrobný postup je následující:

Vytvoření nové role

Založíme novou roli pomocí následující volby v nabídce aplikace:

Users and roles → User roles → Add

a přidáme k roli právo čtení SBOM projektu. Např. následující nastavení povoluje čtení SBOM projektu SEAL a jeho verzí označených jako stable (takto označené mohou být ruční úpravou vlastností verze projektu anebo z externího API):

obrazek-20240126-122208.png

Založení nového uživatele

Založíme nového uživatele pomocí následující volby v nabídce aplikace:

Users and roles → Users → Add

a přiřadíme mu výše vytvořenou roli a označíme uživatele jako public access account:

obrazek-20240126-122522.png

Po vytvoření uživatele je zobrazen jeho detail včetně vyhrazeného URL pomocí kterého je možné veřejně prohlížet SBOM dokumenty:

obrazek-20240126-122851.png

Externí API pro aplikace třetích stran

Pro přístup k aplikaci SEAL pomocí API je nejprve nutné vytvořit API token a ten svázat s již existujícím uživatelem.

Založit API token je možné pomocí následující volby v nabídce aplikace:

Users and roles → API tokens → Add

založení nového API tokenu

API v současné době umožňuje nahrávání SBOM dokumentů a správu štítků na verzích SBOM projektů, dokumentace k API je dostupná na adrese https://seal.sonpo.cz/api/v1/user/cs/.

Pro nahrávání SBOM dokumentů a správu štítků musí mít uživatel svázaný s API tokenem právo Manage SBOM project on <SBOM project> na daném projektu.

Related content