Sprzętowy wykaz komponentów (HBOM) a zgodność z CRA

SBOM uwzględnia biblioteki i pakiety oprogramowania, ale co z oprogramowaniem układowym wypalonym w chipie Bluetooth lub mikrokontrolerem stanowiącym serce urządzenia? Sprzętowy wykaz komponentów (HBOM) rozszerza inwentaryzację komponentów o fizyczne układy scalone, moduły i uruchomione na nich oprogramowanie układowe. CRA nie używa pojęcia „HBOM”, ale produkty sprzętowe, osobno wprowadzane na rynek komponenty sprzętowe, należyta staranność wobec komponentów zewnętrznych i inwentaryzacja komponentów SBOM prowadzą do tej samej praktycznej potrzeby: wiedzieć, jaki sprzęt i firmware znajdują się w produkcie.

Najważniejsze informacje

  • HBOM to uporządkowany wykaz fizycznych komponentów produktu, w tym oprogramowania układowego przenoszonego przez każdy komponent
  • CRA nie nakłada obowiązku HBOM pod tą nazwą. Traktuj go jako sprzętową część inwentaryzacji komponentów, której i tak potrzebujesz dla produktu z elementami cyfrowymi
  • Firmware jest oprogramowaniem w praktycznej pracy z CRA: to kod komputerowy działający w systemie elektronicznym, więc powinien znaleźć się w SBOM obok wpisów komponentów sprzętowych
  • CycloneDX jest praktycznym formatem ujednoliconym: type: device obejmuje fizyczny sprzęt, type: firmware obejmuje oprogramowanie wbudowane, a oba mogą współistnieć w jednym dokumencie CycloneDX 1.6 lub nowszym
  • BSI TR-03183 nie obejmuje obecnie HBOM jako koncepcji; wszystkie trzy części koncentrują się na wykazach materiałowych oprogramowania i raportach podatności
  • Komisja może jeszcze określić format i elementy SBOM w aktach wykonawczych, ale tekst CRA nie tworzy oddzielnego mandatu dla formatu HBOM
Zakres sprzętu
Zakres CRA
Obejmuje produkty sprzętowe
Obowiązkowe
Należyta staranność
Wszystkie komponenty zewnętrzne
Zalecany format
Typy device + firmware
Grudzień 2027
Pełne egzekwowanie
Wymagane oznakowanie CE

Dlaczego HBOM ma znaczenie w kontekście CRA

Zakres CRA jest szerszy niż same produkty programowe. Produkty sprzętowe, osobno sprzedawane komponenty sprzętowe i firmware wewnątrz tych komponentów należą do problemu inwentaryzacji produktu.

Ma to znaczenie dla producentów, ponieważ należyta staranność wobec komponentów nie kończy się na bibliotekach open source. Procesor na PCB, moduł łączności na płytce rozwojowej albo secure element w bramie IoT mogą zawierać firmware i wersje istotne dla bezpieczeństwa. Bez inwentaryzacji nie da się zarządzać tym ryzykiem.

Obowiązek SBOM jest prawnym miejscem dla tej pracy: wymaga komponentów zawartych w produktach z elementami cyfrowymi. Moduł ESP32 wprowadza więc do rejestru komponentów zarówno fizyczny moduł, jak i jego stos firmware. HBOM jest praktycznym narzędziem do uchwycenia tej inwentaryzacji.

HBOM nie jest osobnym artefaktem prawnym

CRA nie wymaga dokumentu o nazwie HBOM. Traktuj wpisy HBOM jako sprzętową część ujednoliconej inwentaryzacji komponentów prowadzonej dla produktu, szczególnie przy produktach silnie zależnych od sprzętu.

HBOM a SBOM: porównanie

Wymiar SBOM HBOM
Zakres podstawowy Biblioteki, pakiety i frameworki programowe Komponenty fizyczne: układy scalone, moduły, bezpieczne elementy
Pokrycie oprogramowania układowego Może zawierać wpisy type: firmware Oprogramowanie układowe wymienione obok nadrzędnego komponentu sprzętowego
Rola zgodności Wyraźny wymóg inwentaryzacji komponentów Praktyczne rozszerzenie tej samej inwentaryzacji dla produktów sprzętowych
Pokrycie przez BSI TR-03183 Tak, TR-03183-2 (v2.1.0, 2025) Nie, żadna z trzech części TR-03183 nie obejmuje HBOM
Wsparcie CycloneDX Wszystkie wersje type: device od v1.1; type: firmware od v1.2 (maj 2020)
Typowe narzędzie do generowania Syft, Trivy, cdxgen Ręcznie lub na podstawie kart katalogowych dostawców sprzętu; brak dojrzałych narzędzi do automatycznego generowania
Miejsce w dokumentacji technicznej Dokumentacja techniczna, sekcja inwentaryzacji komponentów Ta sama lokalizacja, jako część ujednoliconej inwentaryzacji komponentów

Pełny opis obowiązku dotyczącego SBOM: Wymogi CRA dotyczące SBOM. Porównanie formatów: CycloneDX vs SPDX.

Co uwzględnić w HBOM

Poniższe kategorie odzwierciedlają praktyczną ocenę inżynierską, a nie ustawowy katalog. CRA nie wymienia kategorii komponentów sprzętowych. Uwzględnij każdy fizyczny komponent, który przetwarza, przechowuje lub przesyła dane cyfrowe, ponieważ takie komponenty mogą wpływać na cyberbezpieczeństwo.

Komponenty przetwarzające i łączności

Wpisy o najwyższym priorytecie, ponieważ ich oprogramowanie układowe jest najprawdopodobniej wektorem podatności:

  • Główny procesor aplikacyjny lub SoC (nazwa, producent, wersja/stepping, wersja oprogramowania układowego)
  • Moduły bezprzewodowe: Wi-Fi, Bluetooth, Zigbee, LoRa, komórkowe (każdy z wersją oprogramowania układowego)
  • Dodatkowe mikrokontrolery obsługujące określone podsystemy

Komponenty zabezpieczające

Sprzęt zabezpieczający wymaga osobnych wpisów, ponieważ podatności w tej warstwie niosą największe konsekwencje:

  • Układy TPM (Trusted Platform Module)
  • Bezpieczne elementy i sprzętowe moduły bezpieczeństwa
  • Akceleratory kryptograficzne
  • Każdy komponent przechowujący klucze, certyfikaty lub poświadczenia w stanie spoczynku

Komponenty pamięciowe

Pamięć ma znaczenie, gdy przechowuje kod, konfigurację lub dane wrażliwe:

  • Pamięć flash przechowująca bootloader lub oprogramowanie układowe
  • Moduły eMMC lub SD, jeśli służą do trwałego przechowywania danych
  • EEPROM przechowujące konfigurację urządzenia

Dla każdego wpisu należy odnotować co najmniej: nazwę komponentu, producenta, wersję sprzętową lub stepping oraz wersję oprogramowania układowego (jeśli dotyczy). Każdy wpis sprzętowy należy powiązać z odpowiednim wpisem oprogramowania układowego za pomocą relacji zależności CycloneDX.

Przestarzałe oprogramowanie układowe to najczęstsza podatność sprzętowa

Znaczna część podatności urządzeń IoT dotyczy oprogramowania układowego, które nigdy nie jest aktualizowane po wysyłce. Dokumentowanie wersji oprogramowania układowego w HBOM jest warunkiem wstępnym monitorowania i usuwania podatności. Nie można śledzić tego, czego się nie wylistowało. Szerszy kontekst: typowe błędy w SBOM.

Jak oprogramowanie układowe wpisuje się w definicję oprogramowania z CRA

Oprogramowanie układowe bywa traktowane jako osobna kategoria, inna niż sprzęt i oprogramowanie. W pracy z CRA traktuj firmware jako oprogramowanie, ponieważ jest kodem komputerowym działającym w elektronicznym systemie informacyjnym.

Praktyczna konsekwencja jest prosta. Firmware działający na chipie w produkcie jest komponentem programowym produktu z elementami cyfrowymi. Musi znaleźć się w inwentaryzacji komponentów. Jeśli zawiera podatność, ta podatność przechodzi przez ten sam proces obsługi i zgłaszania co każda inna podatność oprogramowania.

CycloneDX jako ujednolicony format SBOM i HBOM

CycloneDX obsługuje komponenty sprzętowe i programowe w jednym dokumencie. Odrębny format pliku dla HBOM nie jest potrzebny.

Historia typów komponentów (istotna dla sprzętu)

Wersja CycloneDX Data wydania Istotna zmiana
1.1 lub wcześniejsza 2018 Wprowadzenie type: device
1.2 2020-05-26 Dodanie type: firmware
1.5 2023-06-26 Dodanie type: device-driver
1.6 2024 Aktualne zalecenie zgodności z CRA
1.7 Październik 2025 Najnowsze stabilne wydanie

W żadnej wersji CycloneDX nie istnieje typ type: hardware. Właściwy typ dla fizycznego układu scalonego lub modułu to type: device.

Wskazówki ze specyfikacji CycloneDX v1.2 dotyczące modelowania sprzętu z oprogramowaniem układowym:

"A hardware device such as a processor, or chip-set. A hardware device containing firmware SHOULD include a component for the physical hardware itself, and another component of type 'firmware' or 'operating-system' (whichever is relevant), describing information about the software running on the device."

Te wskazówki bezpośrednio odpowiadają podejściu CRA: fizyczne urządzenie i jego oprogramowanie układowe to powiązane, lecz odrębne komponenty, każdy z własną tożsamością i wersją.

Dla nowych prac nad HBOM należy wybrać CycloneDX 1.6. BSI TR-03183-2 v2.1.0 (2025-08-20) podniósł minimalny wymóg CycloneDX do wersji 1.6. Wyrównanie do 1.6 pozwala utrzymać SBOM i HBOM w jednym dokumencie oraz spełnia wymogi TR-03183.

Przykład: urządzenie ESP32 ze stosem oprogramowania układowego

Poniższy przykład przedstawia realistyczny komponent sprzętowy (ESP32-WROOM-32E), jego oprogramowanie układowe (ESP-IDF) i bibliotekę w tym oprogramowaniu (mbedtls), wszystkie w jednym dokumencie CycloneDX 1.6 lub nowszym z relacjami zależności:

{
  "bomFormat": "CycloneDX",
  "specVersion": "1.6",
  "components": [
    {
      "type": "device",
      "name": "ESP32-WROOM-32E",
      "version": "Rev 3",
      "manufacturer": { "name": "Espressif Systems" },
      "description": "WiFi+BT SoC Module",
      "properties": [
        { "name": "firmware-version", "value": "4.4.1" },
        { "name": "secure-boot", "value": "supported" }
      ]
    },
    {
      "type": "firmware",
      "name": "ESP-IDF",
      "version": "4.4.1",
      "description": "Firmware on ESP32"
    },
    {
      "type": "library",
      "name": "mbedtls",
      "version": "2.28.0",
      "description": "TLS library in firmware"
    }
  ],
  "dependencies": [
    { "ref": "ESP32-WROOM-32E", "dependsOn": ["ESP-IDF"] },
    { "ref": "ESP-IDF", "dependsOn": ["mbedtls"] }
  ]
}

Tablica dependencies jawnie określa relację między sprzętem a oprogramowaniem układowym. Gdy mbedtls opublikuje poprawkę dla CVE, można prześledzić, które urządzenie jest zagrożone i którą wersję oprogramowania układowego zaktualizować.

Porównanie formatów i wybór narzędzi: CycloneDX vs SPDX.

Najczęściej zadawane pytania

Czy CRA wprost wymaga sporządzenia HBOM?

Nie. CRA nie używa pojęcia „HBOM”. Potrzeba inwentaryzacji sprzętu jest pośrednia: produkty sprzętowe są objęte zakresem, producenci muszą zachować należytą staranność wobec komponentów, a inwentaryzacja komponentów produktu musi obejmować to, co produkt zawiera. HBOM jest praktycznym podejściem dla produktów sprzętowych, nie nazwanym artefaktem regulacyjnym.

Czy oprogramowanie układowe w chipie Bluetooth jest oprogramowaniem w rozumieniu CRA?

Tak. Firmware składa się z kodu komputerowego działającego w elektronicznym systemie informacyjnym, więc dla celów inwentaryzacji komponentów CRA traktuj je jako oprogramowanie. Każde oprogramowanie układowe działające na komponencie produktu musi znaleźć się w inwentaryzacji komponentów.

Czy BSI TR-03183 obejmuje HBOM?

Nie. BSI TR-03183 składa się z trzech części: Część 1 (Wymagania ogólne), Część 2 (SBOM) i Część 3 (Zgłoszenia podatności). Żadna z nich nie obejmuje HBOM jako strukturalnej koncepcji. TR-03183-2 wspomina oprogramowanie układowe wyłącznie jako typ pliku komponentu w ramach wykazu komponentów oprogramowania, korzystając z pola software_additionalPurpose: firmware. Jeśli dokumentowanie komponentów sprzętowych dla celów zgodności z CRA jest konieczne, producent musi posłużyć się własną oceną inżynierską i natywnymi typami sprzętowymi CycloneDX, nie zaś wytycznymi TR-03183 w tej części inwentaryzacji.

Która wersja CycloneDX obsługuje zarówno komponenty programowe, jak i sprzętowe?

type: device jest dostępny w CycloneDX od wersji v1.1 (2018 lub wcześniej). type: firmware dodano w v1.2, wydanej w maju 2020 r. Oba typy są zatem dostępne w każdej nowszej wersji CycloneDX. W pracach związanych z CRA należy wybrać v1.6 lub nowszą: BSI TR-03183-2 v2.1.0 (sierpień 2025 r.) podniósł minimalny wymóg CycloneDX do 1.6, a najnowsze stabilne wydanie to 1.7 (październik 2025 r.). W żadnej wersji CycloneDX nie istnieje type: hardware; dla komponentów fizycznych należy używać type: device.

Co zrobić dalej

  1. Zinwentaryzuj komponenty sprzętowe w podziale na trzy powyższe kategorie: przetwarzające i łączności, zabezpieczające oraz pamięciowe. Zbierz nazwy producentów, wersje sprzętowe lub steppings oraz aktualne wersje oprogramowania układowego dla każdego z nich.
  2. Sporządź dokument CycloneDX 1.6 lub nowszy z jednym wpisem type: device na komponent sprzętowy i jednym wpisem type: firmware na obraz oprogramowania układowego. Połącz je relacjami dependencies.
  3. Dodaj wpisy HBOM do istniejącego SBOM zamiast tworzyć osobny plik. CycloneDX obsługuje mieszane typy komponentów w jednym dokumencie. Pełny opis obowiązków dotyczących ujednoliconej inwentaryzacji komponentów i dokumentacji technicznej znajdziesz w wymogach CRA dotyczących SBOM.
  4. Sprawdź opublikowane przez dostawców sprzętu poradniki bezpieczeństwa oraz bazy CVE dla każdego komponentu. Staranność komponentów wymaga znajomości statusu podatności zewnętrznych komponentów, które integrujesz, w tym sprzętowych.
  5. Umieść ujednolicony SBOM, w tym wpisy sprzętowe, w dokumentacji technicznej, gdzie musi być gotowy do udostępnienia organom nadzoru rynku na żądanie. Jeśli ręczne zarządzanie SBOM i danymi HBOM w kolejnych wersjach produktów jest niecelowe, CRA Evidence obsługuje intake CycloneDX i śledzenie komponentów w całym portfolio produktów.