Mais 123% CVE comunicadas por dia em 2026 do que no ano passado.

Cibersegurança para eletrónica de consumo

Cada dispositivo inteligente é distribuído com firmware construído a partir de pacotes open source, SDK de fornecedores de chips e ferramentas obtidas durante o build. Um ataque à cadeia de abastecimento só precisa de um deles. O CRACI executa os seus builds de firmware, regista todos os componentes que entram e impede o build de alcançar tudo aquilo de que não precisa.

Porque é que os fabricantes de dispositivos são um alvo na cadeia de abastecimento

A maior parte do código de um dispositivo ligado foi escrita por outros: uma distribuição de Linux embebido, o board support package do fornecedor de chips, uma stack de rede, algumas centenas de bibliotecas open source e os crates Rust por baixo delas. Os mesmos componentes são distribuídos em produtos de muitas marcas, e os dispositivos ficam em casa das pessoas durante anos, muitas vezes muito depois de alguém ter verificado pela última vez o que contêm.

Isso faz com que um único componente fraco valha muito para um atacante. Uma falha numa biblioteca partilhada ou num SDK abre todos os produtos que a distribuem, e uma versão envenenada chega a todos os builds que a obtêm. Estes incidentes mostram o padrão.

Ripple20

Stack TCP/IP Treck · junho de 2020

Dezanove vulnerabilidades, até CVSS 10.0, numa pequena biblioteca TCP/IP que os fabricantes de dispositivos licenciavam há anos, muitas vezes sob outro nome. Estava presente em produtos de muitos fornecedores, e muitos deles tiveram primeiro de apurar se a distribuíam sequer.

Não se pode corrigir um componente que não se sabe que se distribui.

Realtek SDK

CVE-2021-35395 · agosto de 2021

Falhas no SDK de um fornecedor de chips chegaram a cerca de 200 modelos de dispositivos de cerca de 65 fabricantes: routers, câmaras IP, gateways de iluminação inteligente, brinquedos ligados. Uma botnet Mirai procurava-os dois dias depois de os pormenores se tornarem públicos.

O código do fornecedor de chips passa a ser o seu assim que é distribuído no seu dispositivo.

Backdoor do xz utils

CVE-2024-3094 · março de 2024

Foi plantada uma backdoor no próprio projeto xz a montante, nas versões 5.6.0 e 5.6.1. As imagens de Linux embebido incluem por norma bibliotecas de compressão como o xz, em geral sem que ninguém as escolha.

O open source de confiança pode tornar-se hostil numa única versão.

ShadowHammer

ASUS Live Update · 2018 a 2019

Os atacantes usaram os próprios certificados de assinatura da ASUS para assinar uma versão com backdoor do seu utilitário de atualização e distribuíram-na a partir dos servidores oficiais de atualização. A Kaspersky estimou que poderá ter chegado a mais de um milhão de utilizadores.

Uma assinatura válida só prova quem assinou, não o que entrou.

Como melhorar a cibersegurança da eletrónica de consumo

O reforço do dispositivo, como o arranque seguro, a ausência de palavras-passe predefinidas e uma porta de depuração fechada, protege o dispositivo que distribui. Os passos abaixo protegem o que entra nele.

  1. Saiba o que está em cada imagem de firmware. Mantenha uma SBOM para cada build que distribui, incluindo as dependências transitivas, as ferramentas do host e as fontes que o build obteve pelo caminho. Sem ela, cada novo aviso de segurança começa com dias de investigação.
  2. Trate o código dos fornecedores como parte do seu produto. Os board support packages, os SDK dos fornecedores de chips e as stacks licenciadas precisam do mesmo acompanhamento que o seu próprio código. Peça SBOM aos fornecedores e monitorize-as a par dos seus builds.
  3. Continue a vigiar depois de o dispositivo ser distribuído. Os dispositivos ficam em casa das pessoas durante anos. Volte a verificar o que cada versão distribuída contém sempre que são publicadas novas vulnerabilidades, e saiba que produtos e versões estão afetados, e desde quando.
  4. Proteja o build. A máquina de build contém o seu código-fonte, os seus segredos e a própria versão. Execute cada build numa máquina nova e isolada, fixe as actions de CI por commit e permita ligações de saída apenas para as fontes de que o build precisa.
  5. Mantenha de fora as versões problemáticas conhecidas. Assim que uma versão vulnerável ou maliciosa for conhecida, bloqueie qualquer build que a inclua, para que não regresse através de uma atualização de dependências.
  6. Proteja as chaves de assinatura e o canal de atualização. O arranque seguro e as atualizações assinadas só ajudam se as chaves se mantiverem seguras. Guarde as chaves de assinatura num armazenamento baseado em hardware, separado do build, e limite quem e o que as pode usar.
  7. Tenha um processo de tratamento de vulnerabilidades. Decida quem faz a triagem das conclusões, quem é responsável por cada correção e como clientes e autoridades são informados. Na UE, o Cyber Resilience Act torna o reporte de vulnerabilidades um dever legal dos fabricantes a partir de 11 de setembro de 2026.

O CRACI cobre o lado do build desta lista: a SBOM de cada build, as SBOM de fornecedores, a monitorização contínua, o isolamento do build, o controlo de egress e os policy gates. A assinatura e o reforço do dispositivo ficam com as suas próprias ferramentas.

Builds de firmware que registam o que entrou

Execute os seus builds de Yocto e de outras distribuições de Linux embebido nos runners de GitHub Actions do CRACI, até 32 vCPU, em x86-64 ou ARM64 nativo. Durante o build, o CRACI regista todos os pacotes e ficheiros que obtém, incluindo pacotes do host, fontes Git, GitHub Actions e descargas que nenhuma receita ou lockfile lista. Num build core-image-sato, a SBOM do CRACI tinha todos os componentes da própria SBOM do Yocto, mais 88 que esta não incluía, com um package URL para cada uma das 653 versões de crates Rust, para que todas possam ser monitorizadas quanto a vulnerabilidades.

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

Um build que só alcança aquilo de que precisa

Cada job é executado na sua própria máquina virtual isolada, sob uma política de egress validada antes de o job arrancar e com falha em modo fechado. Com uma política de negação por predefinição, o build alcança as suas fontes de pacotes e mais nada. Uma dependência comprometida que tente enviar o seu material de assinatura ou os seus tokens para o host de um atacante é bloqueada e gera um alerta, mesmo quando o ataque é novo e ninguém publicou ainda um aviso de segurança sobre ele.

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

Componentes de fornecedores acompanhados a par dos seus

Adicione SBOM dos seus fornecedores de chips e de outros fornecedores, e os componentes adquiridos são monitorizados a par do software que constrói. Quando surgir a próxima vulnerabilidade num SDK, o código do fornecedor está no mesmo registo que o seu.

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

Que dispositivos estão afetados, e desde quando

O CRACI continua a reavaliar as SBOM monitorizadas à medida que são publicadas novas vulnerabilidades. O histórico de builds mostra que builds continham a dependência vulnerável, direta ou transitiva, e a vista de inventário mostra que versões de software estão implementadas em que produtos. As equipas de segurança fazem a triagem de cada conclusão e encaminham-na para a equipa responsável pela correção, e um policy gate pode manter uma CVE específica fora de todos os builds posteriores.

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

Evidências para o Cyber Resilience Act

A marcação CE ao abrigo do Cyber Resilience Act assenta na documentação técnica e numa avaliação da conformidade. O CRACI fornece as evidências da cadeia de abastecimento de que essa documentação precisa: SBOM registadas durante o build e exportadas em CycloneDX ou SPDX, registos de vulnerabilidades e histórico de builds. O CRACI também submete as notificações de vulnerabilidades do CRA em seu nome. A avaliação da conformidade, a declaração UE de conformidade e a marcação CE continuam a seu cargo, enquanto fabricante.

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

O que o CRACI não faz

O CRACI não assina firmware, SBOM nem proveniência, e não deteta novos pacotes maliciosos por comportamento ou reputação: assinala uma versão maliciosa quando existe um aviso de segurança com uma CVE e, até lá, confia na política de egress. Não realiza a sua avaliação da conformidade nem elabora a sua declaração de conformidade. Hoje executa jobs de GitHub Actions em runners Linux; GitLab CI, Jenkins e runners Windows e macOS estão no roadmap.

Segurança da eletrónica de consumo explicada

Perguntas comuns sobre a proteção de dispositivos ligados e da sua cadeia de abastecimento de software

O que é um ataque à cadeia de abastecimento na eletrónica de consumo?

É um ataque que chega a um dispositivo através de algo de que o fabricante depende, e não através do próprio dispositivo: uma biblioteca open source vulnerável, o SDK de um fornecedor de chips, uma versão de pacote envenenada, uma ferramenta de build comprometida ou um canal de atualização sequestrado. Como o mesmo componente é distribuído em muitos produtos, uma única falha pode chegar de uma só vez a milhões de dispositivos de muitas marcas.

Como melhorar a cibersegurança da eletrónica de consumo?

Comece pelo que distribui: mantenha uma SBOM para cada build de firmware, acompanhe os componentes dos fornecedores e continue a verificar as versões distribuídas à medida que surgem novas vulnerabilidades. Proteja o próprio build, mantenha de fora as versões problemáticas conhecidas com policy gates, proteja as suas chaves de assinatura e tenha um processo de triagem, correção e divulgação. O reforço do dispositivo, como o arranque seguro e a desativação das palavras-passe predefinidas, também importa, mas não ajuda se o firmware já trouxer um componente vulnerável.

Como proteger a cadeia de abastecimento de firmware?

Conheça todos os componentes que entram na imagem, incluindo o que o build obtém fora das suas receitas e lockfiles, e guarde esse registo por versão. Faça o build num ambiente isolado que só alcance as fontes de que precisa, para que uma dependência maliciosa não consiga enviar os seus segredos para lado nenhum. Monitorize os componentes registados e as SBOM dos seus fornecedores face a novas vulnerabilidades enquanto os dispositivos tiverem suporte.

O CRACI funciona com o Yocto?

Sim. Os builds de Yocto e BitBake são executados em runners do CRACI, e o CRACI regista a SBOM do job durante o build. O resultado SPDX do próprio Yocto continua a incluir metadados das receitas que o CRACI não regista, como os patches aplicados e as CVE que uma receita marca como corrigidas, por isso mantenha o create-spdx ativo se depender deles.

O CRACI consegue acompanhar vulnerabilidades em SDK de fornecedores de chips?

Sim, quando tem uma SBOM deles. Pode adicionar SBOM de fornecedores ao CRACI, e esses componentes são monitorizados a par do software que constrói. Tudo o que o seu build descarregar de um fornecedor durante o build é também registado na SBOM do job.

O CRACI deteta malware em firmware?

Não por comportamento ou reputação. Uma versão maliciosa conhecida que tenha uma CVE publicada, como a backdoor do xz, é assinalada como qualquer outra vulnerabilidade, e um policy gate pode bloquear os builds que a contenham. Contra ataques novos, a proteção do CRACI é a política de egress de negação por predefinição, que impede o build de alcançar hosts de que não precisa.

O CRACI assina firmware ou proveniência?

Não. O CRACI não assina firmware, SBOM nem proveniência. Continue a usar o seu próprio processo de assinatura e armazenamento de chaves baseado em hardware para as versões e atualizações.

O Cyber Resilience Act aplica-se à eletrónica de consumo?

O Cyber Resilience Act abrange os produtos com elementos digitais colocados no mercado da UE, o que inclui a maioria dos dispositivos de consumo ligados. As obrigações de reporte aplicam-se a partir de 11 de setembro de 2026 e o regulamento aplica-se na íntegra a partir de 11 de dezembro de 2027. O CRACI automatiza uma parte significativa da visibilidade da cadeia de abastecimento e das evidências de que o processo do CRA precisa; o cumprimento do regulamento continua a ser um processo do fabricante.

Que sistemas de CI e máquinas de build suporta o CRACI?

O CRACI executa jobs de GitHub Actions em runners Linux, x86-64 e ARM64, de 1 a 32 vCPU. Outros sistemas de CI, como o GitLab CI e o Jenkins, estão no roadmap, tal como os runners Windows e macOS.

Veja o que entra no seu firmware

Marque uma demo e mostraremos todos os componentes que os builds dos seus dispositivos obtêm, e quais deles são vulneráveis

Marcar demo