Dlaczego SBOM jest ważne?
- Przejrzystość: Dzięki SBOM zespół ma pełny obraz używanych zależności, co ułatwia identyfikację potencjalnych podatności.
- Zgodność regulacyjna: SBOM staje się coraz bardziej wymagane przez przepisy prawa, takie jak Executive Order on Improving the Nation’s Cybersecurity w USA, które nakładają obowiązek dostarczania SBOM przez dostawców oprogramowania.
- Monitorowanie ryzyk: SBOM pozwala szybko reagować na nowe podatności, ponieważ dokładnie wiadomo, które komponenty wymagają uwagi.
Dependency-Track i SBOM
Dependency-Track automatycznie generuje i zarządza SBOM dla każdego projektu. Narzędzie obsługuje formaty standardowe, takie jak:
- CycloneDX – rekomendowany format SBOM rozwijany przez OWASP.
- SPDX (Software Package Data Exchange) – szeroko stosowany w dużych projektach open-source.
Dzięki wbudowanej obsłudze SBOM, Dependency-Track:
- Analizuje wszystkie komponenty wymienione w SBOM pod kątem znanych podatności.
- Monitoruje zmiany w zależnościach na przestrzeni czasu.
- Pozwala na łatwe udostępnianie SBOM interesariuszom i partnerom w celu spełnienia wymagań zgodności.
Praktyczne zastosowanie SBOM
Przykład: Jeśli pojawi się nowa podatność w popularnej bibliotece open-source, Dependency-Track automatycznie porówna SBOM projektu z bazą danych podatności (np. CVE). Jeśli podatna wersja znajduje się w projekcie, zespół natychmiast otrzyma ostrzeżenie wraz z zaleceniem aktualizacji lub usunięcia podatnego komponentu.
1. Java
Java wykorzystuje narzędzia zarządzania zależnościami, takie jak Maven czy Gradle, które są kompatybilne z formatami SBOM, takimi jak CycloneDX.
- Zainstaluj wtyczkę CycloneDX:
- Uruchom wtyczkę:
- Plik SBOM (
bom.xml
) zostanie wygenerowany w katalogu projektu.
bom.xml
) zostanie wygenerowany w katalogu projektu.- Dodaj wtyczkę CycloneDX do
build.gradle
:
- Wygeneruj SBOM:
- Plik SBOM (
bom.xml
lub bom.json
) znajdziesz w katalogu build/reports
.
build.gradle
:bom.xml
lub bom.json
) znajdziesz w katalogu build/reports
.2. C#
W ekosystemie .NET generowanie SBOM można zrealizować za pomocą narzędzia dotnet CLI lub specjalnych bibliotek.
- Zainstaluj narzędzie
dotnet-project-assets
:
- Wygeneruj SBOM:
- Plik
sbom.json
zawierający zależności projektu zostanie utworzony.
dotnet-project-assets
:sbom.json
zawierający zależności projektu zostanie utworzony.- Użycie platformy CycloneDX: istnieją gotowe wtyczki dla .NET pozwalające na generowanie SBOM w formacie CycloneDX.
3. PHP
W projektach PHP zależności są zarządzane przez Composer, który również wspiera generowanie SBOM.
- Dodaj wtyczkę Composer CycloneDX:
- Wygeneruj SBOM:
- Plik SBOM (
bom.json
) zostanie zapisany w katalogu projektu.
bom.json
) zostanie zapisany w katalogu projektu.- Narzędzia takie jak SCA (Software Composition Analysis) mogą również generować SBOM dla projektów PHP.
4. JavaScript (Node.js)
W projektach JavaScript i Node.js używa się narzędzi takich jak npm lub yarn do zarządzania zależnościami.
- Zainstaluj CycloneDX CLI:
- Wygeneruj SBOM:
- Plik
bom.json
zostanie zapisany w katalogu projektu.
bom.json
zostanie zapisany w katalogu projektu.- Zainstaluj wtyczkę CycloneDX:
- Wygeneruj SBOM:
Podsumowanie roli SBOM w Dependency-Track
SBOM jest fundamentem skutecznego zarządzania zależnościami. W kontekście Dependency-Track to nie tylko dokument, ale także narzędzie, które zapewnia bezpieczeństwo, przejrzystość i zgodność oprogramowania. Dzięki automatycznemu generowaniu i monitorowaniu SBOM, zespoły DevOps mogą zyskać pełną kontrolę nad komponentami swoich aplikacji i szybko reagować na pojawiające się zagrożenia.
Brak komentarzy:
Prześlij komentarz