janeiro 02, 2018

[Segurança] Princípios de segurança para carros inteligentes

Há alguns meses atrás o governo britânico divulgou uma série de diretrizes que visam incentivar as montadoras a priorizar a segurança cibernética dos carros, devido a crescente automatização deles. O guia, chamado de "Princípios fundamentais da segurança cibernética para veículos conectados e automáticos" ("The key principles of vehicle cyber security for connected and automated vehicles") (disponível em HTML e PDF), fornece um conjunto de diretrizes de segurança para todas as partes envolvidas na cadeia de produção de um veículo, divididos em oito princípios básicos.


Eu achei que o guia é bem objetivo e aborda as principais recomendações de segurança, de alto nível, para a indústria de veículos autônomos (CAV) e transporte inteligente (ITS). Por serem princípios que podem ser facilmente generalizados para qualquer outra indústria, eu acredito que esses princípios poderiam ser aplicáveis para qualquer fabricante de produtos relacionados a Internet das Coisas (IoT). Assim, decidi transcrever abaixo quais são os principais itens desses princípios de segurança indicados no guia.

Princípio 1 - A segurança organizacional é de propriedade, governada e promovida pela alta administração
1.1. Existe um programa de segurança alinhado com a missão e os objetivos mais amplos da organização.
1.2. A responsabilidade pessoal pela segurança dos produtos e dos sistemas (física, pessoal e ciber) é da alta administração, sendo delegada de forma adequada e clara para toda a organização.
1.3. A conscientização e o treinamento são implementados para incorporar uma "cultura de segurança" para garantir que os indivíduos compreendam seu papel e responsabilidade na segurança dos sistemas de veículos autônomos e transporte inteligente.
1.4. Todos os novos projetos abrangem a segurança por design. Os princípios de design seguro são seguidos no desenvolvimento de um sistema seguro e todos os aspectos da segurança (física, pessoal e ciber) são integrados no processo de desenvolvimento de produtos e serviços.
Princípio 2 - Os riscos de segurança são avaliados e gerenciados de forma adequada e proporcional, incluindo aqueles específicos da cadeia de suprimentos
2.1. As organizações devem exigir conhecimento e compreensão das ameaças atuais e relevantes e das práticas de engenharia para mitigá-las, dentro das suas atribuições de engenharia.
2.2. As organizações colaboram e se envolvem com terceiros que sejam apropriados para aumentar a conscientização de ameaças e um planejamento de resposta.
2.3. Os procedimentos de avaliação e gerenciamento de riscos de segurança devem estar em vigor dentro da organização. São desenvolvidos processos apropriados para identificação, categorização, priorização e tratamento de riscos de segurança, inclusive aqueles de ciber [segurança].
2.4. Os riscos de segurança específicos e/ou abrangendo as cadeias de suprimentos, subcontratados e prestadores de serviços são identificados e gerenciados através de práticas de design, especificação e contratação.
Princípio 3 - As organizações precisam de cuidados pós-atendimento e resposta a incidentes para garantir que os sistemas estejam seguros ao longo da vida
3.1. As organizações planejam como manter a segurança ao longo da vida de seus sistemas, incluindo quaisquer serviços de suporte pós-venda que sejam necessários.
3.2. Os planos de resposta a incidentes estão em vigor. As organizações planejam como responder ao potencial comprometimento de ativos críticos de segurança, ativos críticos não relacionados a segurança e falhas no sistema, e como retornar os sistemas afetados a um estado seguro.
3.3. Existe um programa ativo para identificar vulnerabilidades críticas e sistemas adequados para mitigá-los de forma adequada.
3.4. As organizações asseguram que seus sistemas sejam capazes de suportar a criação de dados forenses e a recuperação de dados forenses que sejam robustos e de identificação única. Isso pode ser usado para identificar a causa de qualquer incidente, ciber ou não.
Princípio 4 - Todas as organizações, incluindo subcontratados, fornecedores e potenciais terceiros, trabalham em conjunto para melhorar a segurança do sistema
4.1. As organizações, incluindo fornecedores e terceiros, devem ser capazes de fornecer garantia, tal como validação ou certificação independente, de seus processos e produtos de segurança (física, pessoal e ciber).
4.2. É possível verificar e validar a autenticidade e origem de todos os fornecedores dentro da cadeia de formecimento.
4.3. As organizações planejam em conjunto como os sistemas interagirão de forma segura com dispositivos externos, conexões (incluindo o ecossistema), serviços (incluindo manutenção), operações ou centros de controle. Isso pode incluir a adoção de padrões e requisitos de dados.
4.4. As organizações identificam e gerenciam dependências externas. Onde a precisão ou disponibilidade de dados sensores ou externos é fundamental para funções automatizadas, também devem ser utilizadas medições secundárias.
Princípio 5 - Os sistemas são projetados usando uma abordagem de defesa em profundidade
5.1. A segurança do sistema não depende de pontos únicos de falha, segurança por obscuridade ou qualquer coisa que não possa ser imediatamente alterada, caso seja comprometida.
5.2. A arquitetura de segurança aplica técnicas de defesa em profundidade e segmentaçãp, buscando mitigar riscos com controles complementares, tais como monitoramento, alerta, segregação, redução de superfícies de ataque (como portas Internet abertas), camadas/limites de confiança e outros protocolos de segurança.
5.3. Controles de design para mediar transações entre limites de confiança, devem estar aplicados em todo o sistema. Eles incluem o princípio do menor acesso, controles de dados unidirecionais, criptografia completa de disco e minimizando o armazenamento compartilhado de dados.
5.4. Os sistemas remotos e back-end que podem fornecer acesso a um sistema, incluindo servidores baseados em nuvem, possuem níveis adequados de proteção e monitoramento aplicados para impedir o acesso não autorizado.
Princípio 6 - A segurança de todo o software é gerenciada ao longo de sua vida útil
6.1. As organizações adotam práticas de programação segura para gerenciar proporcionalmente riscos de vulnerabilidades conhecidas e desconhecidas em software, incluindo as bibliotecas de códigos existentes. Deve haver sistemas de gerenciamento, auditoria e teste de código.
6.2. Deve ser possível verificar o status de todos os softwares, firmware e suas configurações, incluindo a versão, a revisão e os dados de configuração de todos os componentes do software.
6.3. É possível atualizar o software de forma segura e devolvê-lo a um bom estado conhecido se ficar corrompido.
6.4. O software adota práticas abertas de design e revisão de código por pares é usado sempre que possível. O código-fonte pode ser compartilhado quando apropriado.
Princípio 7 - O armazenamento e a transmissão de dados são seguros e podem ser controlados
7.1. Os dados devem ser suficientemente seguros (confidencialidade e integridade) quando armazenados e transmitidos, de modo que somente o destinatário ou as funções do sistema possam receber e/ou acessá-lo. As comunicações recebidas são tratadas como não seguras até serem validadas.
7.2. Os dados pessoais identificáveis ​​devem ser gerenciados adequadamente.
Isso inclui:
  • O que é armazenado (tanto dentro como fora do sistema ITS / CAV)
  • O que é transmitido
  • Como é usado
  • O controle que o proprietário dos dados tem sobre esses processos
Sempre que possível, os dados que são enviados para outros sistemas são sanitizados.
7.3. Os usuários podem ser capazes de excluir dados confidenciais mantidos em sistemas e em sistemas conectados.
Princípio 8 - O sistema foi projetado para ser resiliente aos ataques e responder adequadamente quando suas defesas ou sensores falharem
8.1. O sistema deve ser capaz de receber dados ou comandos corrompidos, inválidos ou maliciosos através de suas interfaces externas e internas enquanto permanece disponível para o uso primário. Isso inclui o bloqueio ou falsificação da comunicação dos sensores.
8.2. Os sistemas são resistentes e a prova de falhas se as funções críticas de segurança estiverem comprometidas ou deixarem de funcionar. O mecanismo é proporcional ao risco. Os sistemas são capazes de responder adequadamente se as funções críticas que não sejam de segurança falham.

A principal dificuldade, na tradução acima, é que a segurança de sistemas embarcados envolve os conceitos de "safety" e "security", que são conceitos parecidos, mas diferentes, mas que no Português tem uma única tradução, "segurança". Em um sistema industrial ou sistema embarcado, "safety" normalmente se aplica a capacidade de um sistema atuar de forma segura, sem erros.

Para saber mais:

Nenhum comentário:

Creative Commons License
Disclaimer: The views expressed on this blog are my own and do not necessarily reflect the views of my employee.