O 123% więcej zgłoszonych CVE dziennie w 2026 niż przed rokiem.

Cyberbezpieczeństwo elektroniki użytkowej

Każde inteligentne urządzenie zawiera firmware zbudowany z pakietów open source, SDK dostawców układów i narzędzi pobieranych podczas buildu. Atakowi na łańcuch dostaw wystarczy jeden z nich. CRACI uruchamia Państwa buildy firmware'u, rejestruje każdy trafiający do nich komponent i nie pozwala buildowi łączyć się z niczym, czego nie potrzebuje.

Dlaczego producenci urządzeń są celem ataków na łańcuch dostaw

Większość kodu w połączonym urządzeniu napisał ktoś inny: dystrybucja embedded Linux, pakiet wsparcia płyty od dostawcy układów, stos sieciowy, kilkaset bibliotek open source i crate'y Rust pod nimi. Te same komponenty trafiają do produktów wielu marek, a urządzenia zostają w domach na lata, często długo po tym, jak ktoś ostatnio sprawdzał, co zawierają.

To sprawia, że jeden słaby komponent jest dla napastnika wiele wart. Błąd we wspólnej bibliotece lub SDK otwiera drogę do każdego produktu, który je zawiera, a zatrute wydanie dociera do każdego buildu, który je pobiera. Te incydenty pokazują ten schemat.

Ripple20

Stos TCP/IP Treck · czerwiec 2020

Dziewiętnaście podatności, do CVSS 10.0, w małej bibliotece TCP/IP, którą producenci urządzeń licencjonowali od lat, często pod inną nazwą. Znajdowała się w produktach wielu dostawców, a wielu z nich musiało najpierw ustalić, czy w ogóle ją dostarcza.

Nie można załatać komponentu, o którego dostarczaniu się nie wie.

Realtek SDK

CVE-2021-35395 · sierpień 2021

Błędy w SDK dostawcy układów dotarły do około 200 modeli urządzeń od mniej więcej 65 producentów: routerów, kamer IP, bramek inteligentnego oświetlenia i połączonych zabawek. Dwa dni po upublicznieniu szczegółów botnet Mirai już ich szukał.

Kod dostawcy układów staje się Państwa kodem, gdy trafia do Państwa urządzenia.

Tylna furtka w xz utils

CVE-2024-3094 · marzec 2024

Tylną furtkę umieszczono w samym projekcie upstream xz, w wersjach 5.6.0 i 5.6.1. Obrazy embedded Linux standardowo zawierają biblioteki kompresji takie jak xz, zwykle bez niczyjego świadomego wyboru.

Zaufane open source może stać się wrogie w jednym wydaniu.

ShadowHammer

ASUS Live Update · 2018 do 2019

Napastnicy użyli certyfikatów podpisujących należących do samej firmy ASUS, aby podpisać wersję jej narzędzia aktualizacyjnego z tylną furtką, i dostarczyli ją z oficjalnych serwerów aktualizacji. Kaspersky oszacował, że mogła dotrzeć do ponad miliona użytkowników.

Ważny podpis dowodzi tylko tego, kto podpisał, a nie tego, co trafiło do środka.

Jak poprawić cyberbezpieczeństwo elektroniki użytkowej

Utwardzanie urządzeń, takie jak secure boot, brak domyślnych haseł i zamknięty port debugowania, chroni dostarczane urządzenie. Poniższe kroki chronią to, co do niego trafia.

  1. Wiedzieć, co jest w każdym obrazie firmware'u. Należy prowadzić SBOM dla każdego dostarczanego buildu, łącznie z zależnościami przechodnimi, narzędziami hosta i źródłami pobranymi przez build po drodze. Bez tego każdy nowy biuletyn zaczyna się od kilku dni poszukiwań.
  2. Traktować kod dostawców jak część produktu. Pakiety wsparcia płyt (BSP), SDK dostawców układów i licencjonowane stosy wymagają takiego samego śledzenia jak własny kod. Warto prosić dostawców o SBOM-y i monitorować je obok własnych buildów.
  3. Obserwować dalej po dostarczeniu urządzenia. Urządzenia zostają w domach na lata. Należy ponownie sprawdzać zawartość każdej dostarczonej wersji przy każdej publikacji nowych podatności i wiedzieć, których produktów i wersji to dotyczy i od kiedy.
  4. Zabezpieczyć build. Maszyna buildu przechowuje kod źródłowy, sekrety i samo wydanie. Każdy build należy uruchamiać na nowej, izolowanej maszynie, przypinać akcje CI do commitu i zezwalać na połączenia wychodzące tylko do źródeł potrzebnych buildowi.
  5. Nie dopuszczać znanych złych wersji. Gdy podatne lub złośliwe wydanie jest już znane, należy zablokować każdy build, który by je zawierał, aby nie wróciło przez aktualizację zależności.
  6. Chronić klucze podpisujące i kanał aktualizacji. Secure boot i podpisane aktualizacje pomagają tylko wtedy, gdy klucze pozostają bezpieczne. Klucze podpisujące należy przechowywać w magazynie sprzętowym, oddzielonym od buildu, i ograniczać, kto i co może z nich korzystać.
  7. Mieć proces obsługi podatności. Należy ustalić, kto przeprowadza triaż znalezisk, kto odpowiada za każdą poprawkę i jak dowiadują się o niej klienci i organy. W UE Cyber Resilience Act czyni zgłaszanie podatności obowiązkiem prawnym producentów od 11 września 2026.

CRACI obejmuje część tej listy dotyczącą buildu: SBOM każdego buildu, SBOM-y dostawców, ciągłe monitorowanie, izolację buildów, kontrolę ruchu wychodzącego i bramki polityk. Podpisywanie i utwardzanie urządzeń pozostają przy Państwa własnych narzędziach.

Buildy firmware'u, które rejestrują, co trafia do środka

Buildy Yocto i innych systemów embedded Linux można uruchamiać na runnerach GitHub Actions CRACI, do 32 vCPU, na x86-64 lub natywnym ARM64. Podczas działania buildu CRACI rejestruje każdy pobrany pakiet i plik, łącznie z pakietami hosta, źródłami Git, GitHub Actions i pobraniami, których nie wymienia żadna receptura ani lockfile. W buildzie core-image-sato SBOM CRACI zawierał każdy komponent z własnego SBOM Yocto oraz 88, które on pominął, z package URL dla każdej z 653 wersji crate'ów Rust, więc wszystkie można monitorować pod kątem podatności.

Embedded builds on CRACI runners Yocto and BitBake builds such as core-image-sato run on CRACI runners at size 32. Like every CRACI job, the build runs under an egress policy, records what it fetched and its provenance data. Embedded build bitbake core-image-sato Yocto and BitBake; pi-gen for Raspberry Pi OS CRACI runner, size 32 32 vCPU in an isolated virtual machine Egress policy Fetches recorded Provenance Firmware image SBOM recorded during the build

Build, który dociera tylko tam, gdzie musi

Każde zadanie działa we własnej izolowanej maszynie wirtualnej w ramach polityki ruchu wychodzącego, która jest walidowana przed startem zadania i blokuje w razie błędu. Przy polityce domyślnego blokowania build dociera do Państwa źródeł pakietów i nigdzie indziej. Przejęta zależność, która próbuje wysłać materiały do podpisywania lub tokeny na host napastnika, zostaje zablokowana i wywołuje alert, nawet gdy atak jest nowy i nikt nie opublikował jeszcze biuletynu na jego temat.

An egress policy on the build network A build job connects to hosts in its egress policy, such as package registries and Git, and a connection to a host outside the policy is blocked. The policy is validated before the job starts and fails closed, and a violation sends an alert. Egress policy Default deny Validated before the job starts Fails closed · 24 source presets Build job on a CRACI runner npm registry allowed PyPI allowed Git over HTTPS allowed Unapproved host blocked Alert on policy violation Connections are recorded in the job's network trace

Komponenty dostawców śledzone obok własnych

Po dodaniu SBOM-ów od dostawców układów i innych dostawców kupowane komponenty są monitorowane razem z budowanym przez Państwa oprogramowaniem. Gdy pojawi się kolejna podatność w SDK, kod dostawcy będzie w tym samym zapisie co Państwa.

Vendor SBOMs tracked next to your own SBOMs from your own builds and SBOMs added from your vendors are monitored in the same place, so bought-in components are re-evaluated against new vulnerabilities alongside your own dependencies. Your builds api-service SBOM web-app SBOM firmware SBOM Your vendors Payment SDK SBOM Camera module SBOM RTOS SBOM Monitored in one place Every SBOM re-evaluated as new vulnerabilities are published Third-party code tracked like your own dependencies Findings triaged and routed to the team that owns the fix

Których urządzeń to dotyczy i od kiedy

CRACI stale ponownie ocenia monitorowane SBOM-y, w miarę publikowania nowych podatności. Historia buildów pokazuje, które buildy zawierały podatną zależność, bezpośrednią lub przechodnią, a widok inwentarza pokazuje, które wersje oprogramowania są wdrożone w których produktach. Zespoły bezpieczeństwa przeprowadzają triaż każdego znaleziska i kierują je do zespołu odpowiedzialnego za poprawkę, a bramka polityk może nie dopuścić konkretnego CVE do żadnego późniejszego buildu.

Vulnerabilities across everything you have deployed When a new vulnerability is published, CRACI re-evaluates the monitored SBOMs of your releases and vendor SBOMs, finds the affected version, and the inventory view shows which products that version is deployed to. The finding is triaged and routed to the team that owns the fix. New advisory published Long after the release shipped Monitored SBOMs re-evaluated Your release builds and your vendors' SBOMs Affected: Gateway firmware v1.8.4 Inventory: where v1.8.4 is deployed Product Deployed version Gateway Pro v1.8.4 Gateway Mini v1.8.4 Route the fix

Dowody dla Cyber Resilience Act

Oznakowanie CE na podstawie Cyber Resilience Act opiera się na dokumentacji technicznej i ocenie zgodności. CRACI dostarcza dowody dotyczące łańcucha dostaw potrzebne w tej dokumentacji: SBOM-y z buildu eksportowane jako CycloneDX lub SPDX, rejestry podatności i historię buildów. CRACI składa też w Państwa imieniu zgłoszenia podatności CRA. Ocena zgodności, deklaracja zgodności UE i oznakowanie CE pozostają po Państwa stronie jako producenta.

Evidence for the conformity assessment CRACI supplies technical evidence: build-time SBOMs, vulnerability and remediation records, provenance and network traces, with SBOMs exported as CycloneDX or SPDX and the rest returned by the API. The manufacturer uses it in the technical documentation, runs the conformity assessment, by self-assessment or with a notified body, draws up the EU declaration of conformity and applies the CE marking. CRACI supplies the evidence Build-time SBOMs Vulnerability records Provenance Network traces The manufacturer's process Technical documentation Conformity assessment: self-assessment or notified body EU declaration of conformity CE marking CRACI does not assess, certify or manage the assessment

Czego CRACI nie robi

CRACI nie podpisuje firmware'u, SBOM-ów ani danych o pochodzeniu i nie wykrywa nowych złośliwych pakietów na podstawie zachowania ani reputacji: oznacza złośliwe wydanie, gdy istnieje już biuletyn z CVE, a do tego czasu polega na polityce ruchu wychodzącego. Nie przeprowadza oceny zgodności ani nie sporządza deklaracji zgodności. Dziś uruchamia zadania GitHub Actions na runnerach Linux; GitLab CI, Jenkins oraz runnery Windows i macOS są w planach rozwoju.

Bezpieczeństwo elektroniki użytkowej w pytaniach i odpowiedziach

Częste pytania o zabezpieczanie połączonych urządzeń i ich łańcucha dostaw oprogramowania

Czym jest atak na łańcuch dostaw elektroniki użytkowej?

To atak, który dociera do urządzenia przez coś, na czym polega jego producent, a nie przez samo urządzenie: podatną bibliotekę open source, SDK dostawcy układów, zatrute wydanie pakietu, przejęte narzędzie buildu lub przejęty kanał aktualizacji. Ponieważ ten sam komponent trafia do wielu produktów, jedna słabość może naraz dotknąć milionów urządzeń wielu marek.

Jak poprawić cyberbezpieczeństwo elektroniki użytkowej?

Należy zacząć od tego, co jest dostarczane: prowadzić SBOM dla każdego buildu firmware'u, śledzić komponenty dostawców i stale sprawdzać dostarczone wersje, gdy pojawiają się nowe podatności. Trzeba też zabezpieczyć sam build, blokować znane złe wersje bramkami polityk, chronić klucze podpisujące i mieć proces triażu, naprawy i ujawniania. Utwardzanie urządzeń, takie jak secure boot i wyłączenie domyślnych haseł, też ma znaczenie, ale nie pomoże, jeśli firmware już zawiera podatny komponent.

Jak zabezpieczyć łańcuch dostaw firmware'u?

Trzeba znać każdy komponent trafiający do obrazu, łącznie z tym, co build pobiera poza recepturami i lockfile'ami, i prowadzić ten zapis dla każdego wydania. Build powinien działać w izolowanym środowisku, które dociera tylko do potrzebnych źródeł, aby złośliwa zależność nie mogła nigdzie wysłać sekretów. Zarejestrowane komponenty i SBOM-y dostawców należy monitorować pod kątem nowych podatności tak długo, jak urządzenia są wspierane.

Czy CRACI działa z Yocto?

Tak. Buildy Yocto i BitBake działają na runnerach CRACI, a CRACI rejestruje SBOM zadania podczas działania buildu. Własny wynik SPDX Yocto nadal zawiera metadane receptur, których CRACI nie rejestruje, takie jak zastosowane łatki i CVE oznaczone w recepturze jako naprawione, więc jeśli Państwo na nich polegają, warto pozostawić włączone create-spdx.

Czy CRACI może śledzić podatności w SDK dostawców układów?

Tak, jeśli mają Państwo ich SBOM. Do CRACI można dodawać SBOM-y dostawców, a te komponenty są monitorowane razem z budowanym przez Państwa oprogramowaniem. Wszystko, co build pobiera od dostawcy w trakcie działania, także trafia do SBOM zadania.

Czy CRACI wykrywa złośliwe oprogramowanie w firmware?

Nie na podstawie zachowania ani reputacji. Znane złośliwe wydanie z opublikowanym CVE, takie jak tylna furtka w xz, jest oznaczane jak każda inna podatność, a bramka polityk może blokować zawierające je buildy. Przed nowymi atakami CRACI chroni polityka domyślnego blokowania ruchu wychodzącego, która nie pozwala buildowi łączyć się z niepotrzebnymi hostami.

Czy CRACI podpisuje firmware lub dane o pochodzeniu?

Nie. CRACI nie podpisuje firmware'u, SBOM-ów ani danych o pochodzeniu. Do wydań i aktualizacji należy nadal używać własnego procesu podpisywania i sprzętowego przechowywania kluczy.

Czy Cyber Resilience Act dotyczy elektroniki użytkowej?

Cyber Resilience Act obejmuje produkty z elementami cyfrowymi wprowadzane na rynek UE, co dotyczy większości połączonych urządzeń konsumenckich. Obowiązki zgłaszania obowiązują od 11 września 2026, a rozporządzenie będzie stosowane w pełni od 11 grudnia 2027. CRACI automatyzuje znaczną część widoczności łańcucha dostaw i dowodów potrzebnych w procesie CRA; spełnianie wymogów rozporządzenia pozostaje procesem producenta.

Jakie systemy CI i maszyny buildu obsługuje CRACI?

CRACI uruchamia zadania GitHub Actions na runnerach Linux, x86-64 i ARM64, od 1 do 32 vCPU. Inne systemy CI, takie jak GitLab CI i Jenkins, są w planach rozwoju, podobnie jak runnery Windows i macOS.

Co naprawdę trafia do Państwa firmware'u

Proszę umówić demo, a pokażemy każdy komponent pobierany przez buildy Państwa urządzeń i które z nich są podatne

Umów demo