Saltar para o conteúdo
folhas.io
secure by design para produtos ligados· Diário de bordo

Diário de bordo

Anexo · Aerodry contra o Anexo I do CRA, requisito a requisito

O relatório de conformidade completo referido na entrada 002. O mesmo formato que produzimos para fabricantes, aplicado ao nosso próprio protótipo.

Publicado

Este é o relatório que serve de base à entrada 002. É o formato que entregamos a clientes: cada requisito essencial do Anexo I, o estado no protótipo, a evidência concreta que sustenta esse estado, e a natureza da correção. A última coluna costuma ser a que surpreende, porque mostra quantos requisitos não se resolvem mexendo no código.

Estado: não cumpre · cumpre em parte · cumpre · N/A não se aplica.

Parte I, propriedades de segurança do produto

#Requisito (Anexo I, Parte I)EstadoEvidência no protótipoNatureza da correção
1Sem vulnerabilidades exploráveis conhecidas ao ser colocado no mercadoDependências congeladas, sem processo de triagem de CVEProcesso e SBOM
2Configuração segura por definiçãoPalavra-passe de acesso fixa e partilhada; serviços em claro por definiçãoFirmware e fabrico
3Correção de vulnerabilidades por atualizaçãoMecanismo OTA existe, mas sem canal seguroFirmware e infraestrutura
4Proteção contra acessos não autorizadosEndereço de atualização e servidor sem autenticaçãoFirmware e infraestrutura
5Confidencialidade dos dados, incluindo cifra em repouso e em trânsitoHTTP em claro; Wi-Fi da casa guardado sem cifraFirmware
6Integridade de dados, comandos, configuração e firmwareFirmware sem assinatura; comandos sem verificaçãoFirmware e infraestrutura
7Recolher apenas os dados necessáriosSó temperatura, humidade e estado do reléManter no desenho
8Disponibilidade das funções essenciaisCortes de segurança existem; sem proteção de rede contra negação de serviçoFirmware
9Não prejudicar outros aparelhos nem a redeSuperfície reduzida, sem efeito de amplificaçãoManter no desenho
10Minimizar a superfície de ataquePoucos serviços, mas o OTA em HTTP está sempre ativoFirmware
11Reduzir o impacto de um incidenteSem separação entre a função de controlo e a interface de redeFirmware
12Registar a atividade relevante para a segurançaHá registos operacionais, mas não de eventos de segurançaFirmware
13Permitir apagar dados e definições no fim de vidaSem reposição segura; as credenciais persistem na revendaFirmware e documentação

Parte II, tratamento de vulnerabilidades

#Requisito (Anexo I, Parte II)EstadoEvidência no protótipoNatureza da correção
1Inventário de componentes (SBOM legível por máquina)Dependências copiadas para o repositório, sem SBOMDocumentação e build
2Corrigir vulnerabilidades sem demoraO mecanismo existe; o processo de resposta nãoFirmware e processo
3Testes de segurança regularesSem ciclo de teste definidoProcesso
4Divulgar as vulnerabilidades corrigidasSem canal nem histórico de segurança do produtoProcesso e organização
5Política de divulgação coordenadaO security.txt do site é um embrião; falta PGP e política do produtoOrganização
6Facilitar o reporte de vulnerabilidadesHá contacto genérico; falta contacto de segurança dedicadoOrganização
7Distribuir atualizações de forma seguraOTA sem assinatura e sem canal cifradoFirmware e infraestrutura
8Atualizações de segurança disponíveis sem demora e gratuitasTecnicamente possível; sem período de suporte assumidoProcesso e infraestrutura

Contagem

São 21 requisitos aplicáveis, 13 na Parte I e 8 na Parte II. Cumprem-se 2, cumprem-se em parte 8, e falham 11.

A entrada 002 descreve nove falhas: são as que têm consequência direta para quem usa o produto, e repartem-se pelas duas partes. Este anexo mostra o quadro completo, incluindo o que a entrada não desenvolve, como as lacunas de processo da Parte II, menos visíveis mas igualmente exigidas.

A leitura por natureza da correção

Se olharmos para as correções pela sua natureza, em vez de requisito a requisito, o firmware aparece em cerca de onze requisitos, mas quase nunca sozinho. A infraestrutura aparece em cerca de seis, o processo em cerca de sete, a documentação em cerca de quatro, e a organização em cerca de quatro. O fabrico aparece só num, o da palavra-passe por unidade, mas é de correção obrigatória e não se resolve em código.

Gráfico de barras: o firmware aparece em cerca de onze requisitos, o processo em sete, a infraestrutura em seis, a documentação e a organização em quatro cada, e o fabrico num único requisito, de correção obrigatória e fora do código.
As naturezas da correção contadas sobre o quadro: o firmware quase nunca chega sozinho.

A soma passa dos 21 porque a maioria dos requisitos precisa de mais do que uma natureza de correção ao mesmo tempo. É essa sobreposição que torna a sequência do trabalho, o tema da entrada 003, o verdadeiro valor do serviço, e não a lista em si.