Português

Selecione o idioma

EnglishDeutschFrançaisрусский한국의ItaliaNederlandespañolPortuguêsMagyarországDanskΕλλάδαpolskiPilipinoČeštinaTiếng ViệtMelayuMaoriSvenskaSuomiУкраїнаromânescSlovenija
Casa > Informações > Qualificação da ferramenta do compilador para segurança funcional e segurança cibernética

Qualificação da ferramenta do compilador para segurança funcional e segurança cibernética

Em 2020, a Comissão Econômica das Nações Unidas para a Europa divulgou o regulamento sobre disposições uniformes sobre a aprovação de veículos com relação ao sistema de gerenciamento de segurança cibernética e cibersegurança, também conhecida como WP.29.

Na UE, Japão, Coréia e Reino Unido, este regulamento está sendo incorporado à legislação para aprovação do tipo de veículo, tornando a conformidade com a segurança cibernética como não negociável para garantir o acesso ao mercado.

Embora o WP.29 não mencione o padrão de engenharia da ISO/SAE 21434: 2021 veículos rodoviários -CyberSecurity, entende -se que, se um OEM e sua cadeia de suprimentos podem demonstrar conformidade com esse padrão, então a conformidade pode ser usada para demonstrar conformidade com o Regulamentação WP.29. Demonstrar conformidade com o padrão de segurança cibernética ISO deve proteger os OEMs e seus fornecedores da responsabilidade.




Qualificação do compilador

O padrão ISO 26262 dedica um capítulo a critérios para determinar o nível de confiança necessário em uma ferramenta de software e fornece métodos para qualificar a ferramenta para criar evidências de que é adequado ser usado para o desenvolvimento funcional de software relacionado à segurança.

Quatro métodos qualificam uma ferramenta de software: aumento da confiança do uso; avaliação do processo de desenvolvimento; validação da ferramenta de software; e desenvolvimento de acordo com um padrão de segurança.

Para níveis mais altos de integridade de segurança automotiva (ASIL), apenas os dois últimos métodos são adequados. A validação da ferramenta significa usar medidas para provar que a ferramenta de software atende aos requisitos especificados para sua finalidade.

Duas abordagens diferentes estão sendo usadas para atender aos requisitos de validação da ferramenta ISO 26262. Alguns fornecedores do compilador executam a validação da ferramenta internamente e convidam um órgão de avaliação de conformidade para certificar que a ferramenta e sua documentação de segurança são adequados para o objetivo. O cliente recebe um conjunto de ferramentas certificado do compilador e precisa apenas aplicar as diretrizes do manual de segurança para mostrar que o caso de uso é compatível com um caso de uso qualificado. Outros fornecedores oferecem um conjunto de ferramentas de compilador certificável (versus certificado), além de uma metodologia de qualificação para ferramentas com ferramentas e documentação de suporte.

A metodologia da ferramenta é geralmente certificada e o cliente deve executar a qualificação da ferramenta, que pode ser resumida como:

* Especificando o caso de uso para definir os requisitos a serem satisfeitos pela ferramenta
* Selecionando os testes apropriados para verificar esses requisitos
* Executar os testes e analisar os resultados do teste
* Gerando a documentação de segurança e aplicando a orientação dos documentos de segurança.
Existem custos ocultos com essa abordagem, como aprender a metodologia de qualificação e ferramentas associadas, licenciar os conjuntos de testes necessários, executar o processo de validação de ferramentas, interagir com o certificador e, finalmente, o que fazer se os testes falharem.

Qualificação do compilador

Um compilador pode modificar (otimizar) o comportamento de um programa de maneiras que o programador não previa. A intenção estrutural do desenvolvedor de software pode não ser retratada com precisão na representação final do programa de origem e o compilador pode afetar a segurança do software.

Diferentemente do padrão de segurança funcional do ISO (FUSA), o padrão ISO CyberScurity Standard (ISO 21434 Seção 5.4.7 Gerenciamento de ferramentas) não especifica os requisitos de qualificação da ferramenta. Os critérios para determinar o nível de confiança exigidos em um conjunto de ferramentas do compilador para o desenvolvimento de software relacionado à segurança cibernética são desconhecidos e nenhum método é especificado para demonstrar que os critérios relacionados à segurança cibernética foram atendidos.

O padrão ISO contém referências ao padrão de segurança funcional ISO. O método comprovado de validação de ferramentas do padrão ISO 26262 é adequado para qualificar um conjunto de ferramentas do compilador usado no desenvolvimento de um software compatível com regulamentação de segurança cibernética. Para aplicar esse método, os critérios de validação da ferramenta para o desenvolvimento do software relacionado à segurança cibernética precisam ser estabelecidos.

Validação da ferramenta

Análogo aos critérios de validação da ferramenta para segurança funcional, os critérios de validação da ferramenta para segurança cibernética podem ser especificados como medidas para fornecer evidências de que a ferramenta de software está em conformidade com os requisitos de segurança cibernética especificados.

Os riscos de segurança cibernética que podem ser introduzidos pela ferramenta de software e seus comportamentos correspondentes devem ser analisados ​​com informações sobre possíveis consequências e medidas para evitá -las ou detectá -las.

A reação da ferramenta de software às condições operacionais anômalos também deve ser examinada.

O processo de engenharia de garantia da missão (MAE) desenvolvido pelo FFRDC nacional de segurança cibernética pode ser usado para especificar os requisitos de segurança cibernética do conjunto de ferramentas do compilador. Esse processo é compatível com os métodos de análise de ameaças ISO 21434 Capítulo 15 e avaliação de risco. Se o processo MAE for realizado pelo fornecedor da ferramenta e os resultados forem descritos na documentação de segurança e segurança cibernética, isso elimina a necessidade do usuário da ferramenta para executar uma validação de ferramentas.

O usuário da ferramenta deve avaliar o risco residual associado ao caso de uso específico que permanece após a aplicação das diretrizes.

O fornecedor da ferramenta deve analisar a reação da ferramenta de software às condições operacionais anômalas usando o processo MAE. As descobertas são traduzidas em diretrizes e incluídas no manual de segurança e segurança cibernética das ferramentas. O usuário da ferramenta deve implementar as diretrizes fornecidas e avaliar o risco residual de um caso de uso.

O processo MAE (Figura 1) fornece uma abordagem analítica para identificar os ativos cibernéticos mais críticos para a realização da missão, entender as ameaças cibernéticas e os riscos associados a esses ativos e selecionar medidas de mitigação para prevenir e/ou lutar por ataques.

Um modo de falha e análise de efeitos (FMEA) e uma avaliação de ameaças e análise de correção (TARA) garantem a integridade do software do usuário da ferramenta, em vez da integridade do conjunto de ferramentas do compilador, de acordo com o objetivo da ISO 21434 para abordar a segurança cibernética em elétrica e elétrica e Os sistemas eletrônicos dentro de veículos rodoviários onde sistemas externos ao veículo não estão dentro do escopo da ISO 21434. A integridade do conjunto de ferramentas do compilador e os arquivos operados é regida por outros padrões, como a ISO/IEC 27001 (Gerenciamento de segurança da informação). É importante que o fornecedor de ferramentas e o usuário também cumpram um padrão de segurança de TI.

O FMEA é usado para identificar os riscos potenciais de segurança cibernética que o conjunto de ferramentas do compilador pode introduzir no software do usuário. O objetivo da ferramenta do compilador é o comportamento do software que está sendo compilado para atender às intenções do usuário em condições normais e sob condições de ataque de segurança cibernética. A especificação ISO C e C ++ Language permite que os engenheiros do compilador apliquem transformações no software correto com base em uma interpretação legalista dos padrões ISO C e C ++, mas que surpreenderiam muitos programadores de software. Portanto, é benéfico se o FMEA for executado por uma equipe de engenheiros que têm um entendimento profundo dos requisitos, arquitetura, design e implementação dos compiladores. Para cada modo de falha identificado, uma ou mais medidas de mitigação para reduzir o risco devem ser fornecidas.

A metodologia Tara identifica e avalia as vulnerabilidades cibernéticas e seleciona contramedidas para mitigar essas vulnerabilidades. A metodologia é compatível com os requisitos da ISO 21434.

O fluxo de trabalho TARA (Figura 2) usa detalhes técnicos do sistema para construir um modelo cibernético da arquitetura do sistema. Isso fornece uma base para pesquisar no catálogo por vetores de ataque plausíveis. As enumerações e classificações do padrão de ataque comum podem ser usadas e a lista de vetores de ataque é filtrada e classificada de acordo com o risco avaliado. A lista de vulnerabilidades é combinada com os dados de mapeamento de mitigação do catálogo para identificar uma lista inicial de contramedidas, que é filtrada e classificada com base na utilidade e custo do ciclo de vida avaliados, produzindo uma tabela de mapeamento de mitigação.

As contramedidas são selecionadas com base no custo e no nível de tolerância ao risco para criar uma tabela de eficácia da solução que lista contramedidas/mitigações recomendadas e fornece detalhes sobre a eficácia de cada contramedida em relação à gama de vulnerabilidades avaliadas. Informações de outros bancos de dados, como o CWE (tipos de fraqueza de software e hardware) e CVE (vulnerabilidades de segurança cibernética divulgadas) também podem ser usadas.

A natureza dinâmica da segurança cibernética significa repetição regular das análises acima.

O resultado de FMEA e Tara

As vulnerabilidades induzidas pelo compilador podem ser classificadas como relacionadas a classes de vulnerabilidade padrão, ataques de canal lateral, comportamento indefinido e violações persistentes do Estado. As mitigações associadas são requisitos relacionados à segurança cibernética que devem ser implementados pelo fornecedor da ferramenta. Isso inclui proteção contra ataques de tração de pilha por meio do compilador colocado em canários de pilha, medidas para detectar o fluxo de buffer-overflow ou provisões para apoiar a randomização do layout da memória.

O usuário da ferramenta é necessário para atender às diretrizes e diretrizes genéricas de codificação específicas para o conjunto de ferramentas do compilador específico que está sendo usado. A conformidade da Associação de Confiabilidade do Software da Indústria Motor (MISRA) é considerada um mínimo, e a adesão às diretrizes de codificação do SEI Cert C/C ++ fornece uma prevenção mais abrangente. As diretrizes para um conjunto de ferramentas de compilador específico dependem amplamente da otimização pelo fornecedor do compilador.

Alguns fornecedores afirmam que os requisitos de FUSA e segurança cibernética inibem todas as otimizações aplicadas pelo compilador, enquanto alguns desenvolvedores do compilador aplicam uma interpretação muito legalista do padrão ISO C e consideram os riscos de segurança cibernética induzidos pelo compilador como um efeito colateral do entendimento insuficiente do usuário da linguagem de programação .

O meio termo é mantido por aqueles que acreditam que as otimizações não precisam introduzir riscos de FUSA e segurança cibernética se, e somente se o compilador fornecer informações de diagnóstico suficientes sobre as otimizações aplicadas para tornar o usuário da ferramenta consciente das possíveis consequências.

Sobre o autor

Gerard Vink é um especialista do setor, definição de produto, em Tasking