Avaliando Conexões de Segurança em Produtos de Critérios Comuns
Um estudo sobre as conexões entre produtos de TI certificados e suas implicações de segurança.
― 11 min ler
Índice
Com o aumento dos certificados de Segurança para Produtos e sistemas de TI, os Critérios Comuns para Avaliação de Segurança da Informação (CC) criaram uma teia complexa de relacionamentos entre os produtos certificados. No entanto, as conexões e Dependências entre esses produtos não foram exploradas em detalhes. Este estudo tem como objetivo desenvolver um novo método para entender essas conexões, estabelecendo uma estrutura de referência para avaliar com que frequência essas conexões realmente indicam dependências entre produtos certificados.
A estrutura de referência resultante revela um pequeno número de componentes certificados que são fundamentais para uma parte significativa do ecossistema. Isso torna esses componentes alvos atraentes para atores maliciosos. O impacto de comprometer esses produtos essenciais é avaliado em relação a referências potencialmente arriscadas a produtos desatualizados ou arquivados.
Projetar e orçar sistemas seguros seria bem diferente se as avaliações de segurança e certificações não existissem. Os Critérios Comuns têm sido cruciais no setor de avaliação e certificação de segurança por mais de vinte e cinco anos. Muitos produtos já passaram com sucesso pelo processo de certificação do CC, muitas vezes custando centenas de milhares de euros para avaliação.
O grande número de produtos certificados cria uma rede complicada de itens interconectados. No entanto, ainda não está claro se as referências entre esses produtos indicam dependências reais. Estudos anteriores analisaram dependências entre pacotes de software em várias linguagens de programação. Essa pesquisa destacou a confiança depositada em bibliotecas de software populares e sua influência sobre outros. Ao examinar o impacto dessas bibliotecas, a comunidade pode identificar quais pacotes têm um alcance significativo, marcando-os como potenciais alvos para atores maliciosos. Esse entendimento permite um monitoramento mais próximo dessas partes críticas e incentiva os desenvolvedores a avaliar e minimizar as dependências, equilibrando a reutilização de código com a evitação de problemas complexos de dependência.
Esta pesquisa examina os riscos de segurança de dependência dentro do ecossistema do CC, analisando as referências entre produtos certificados. Para isso, utilizamos uma ferramenta existente para criar um gráfico de referência direcionado e propomos um método para rotular essas conexões com base em seus significados. Essa representação mostra com que frequência produtos certificados dependem das funções de segurança de outros dispositivos, identificando alvos de alto valor tanto para atacantes quanto para defensores - aqueles produtos que são referenciados por muitos outros. Além disso, uma análise empírica é realizada para determinar o impacto de comprometer um dispositivo altamente referenciado e para identificar referências que podem apresentar riscos devido a associações com produtos desatualizados.
Nosso trabalho tem implicações notáveis. Primeiro, se uma vulnerabilidade for encontrada em um produto certificado, os analistas de segurança podem rapidamente identificar outros produtos que fazem referência a ele, levando em conta os contextos dessas referências. Em segundo lugar, produtos que têm um alcance significativo podem exigir um exame mais atento, respaldado pela nossa análise. Em terceiro lugar, os designers de novos produtos podem avaliar a confiança em usar produtos certificados como subcomponentes, levando a escolhas melhores em relação às dependências.
Contexto sobre os Critérios Comuns
Os Critérios Comuns (CC) são um padrão internacional para avaliar e certificar a segurança de produtos de TI. Ele fornece uma estrutura para a interoperabilidade entre vários esquemas nacionais de certificação, promovendo confiança em soluções que foram certificadas sob o Acordo de Reconhecimento dos Critérios Comuns (CCRA). Qualquer produto relacionado à segurança pode ser certificado sob o padrão CC, enfatizando que a qualidade do processo de desenvolvimento é um bom indicativo da segurança do produto.
O processo de certificação começa quando um candidato submete um Target de Segurança (ST), detalhando as especificações e objetivos de segurança para o produto. Os candidatos escolhem entre Perfis de Proteção (PPs) pré-definidos, que descrevem casos de uso específicos. Um avaliador independente verifica se o produto atende aos requisitos descritos no ST. O produto recebe então um nível de certificação, variando de Níveis de Garantia de Avaliação (EAL) 1 a 7, onde níveis mais altos indicam mais garantia em segurança, mas também custos mais elevados.
Existem várias categorias de produtos certificados pelo CC, que vão de circuitos integrados a bancos de dados. Uma parte significativa do portfólio do CC foca em cartões inteligentes. A maioria dos certificados ativos se enquadra em níveis considerados seguros, com muitos sendo certificados em EAL4 ou superior. Dentro desse segmento seguro, os cartões inteligentes compreendem uma grande maioria das certificações em altos níveis de garantia.
O esquema dos Critérios Comuns é diverso, apresentando várias relações entre certificados. As avaliações compostas permitem que múltiplos produtos de segurança, incluindo hardware e software, sejam avaliados juntos. Esse processo exige que cada componente seja avaliado dentro de um escopo bem definido. Alguns órgãos de certificação exigem reavaliações regulares do certificado mais antigo em uma cadeia composta para aumentar a segurança.
Trabalhos Relacionados
Pesquisas anteriores realizaram análises quantitativas das práticas de certificação do CC. Um estudo processou todos os materiais de certificação do CC em documentos legíveis por máquina e vinculou produtos certificados a vulnerabilidades. Esse trabalho forneceu uma base para medir a relação entre requisitos de segurança e vulnerabilidades, mas deixou aspectos chave inexplorados.
Embora alguns artigos tenham fornecido insights sobre o ecossistema do CC, estudos abrangentes focando em referências inter-certificadas estão em falta. Em contraste, dependências entre pacotes de software em várias linguagens de programação foram minuciosamente analisadas. Essa pesquisa mostra o tratamento diferenciado de dependências de pacotes, cada uma com suas implicações de segurança.
Em nosso trabalho, introduzimos o conceito de um gráfico de referência do CC. Esse gráfico consiste em produtos certificados onde cada referência indica uma relação entre produtos com base em seus documentos de certificação.
Construindo o Gráfico de Referência
Para construir esse gráfico de referência, usamos artefatos públicos do CC, geralmente disponíveis em formato PDF. Esses documentos incluem uma variedade de componentes, como alvos de segurança, metadados, relatórios de certificação, relatórios de manutenção e perfis de proteção.
Usando uma ferramenta previamente desenvolvida, coletamos artefatos de certificação e características para produtos certificados, o que nos permite construir o gráfico de referência. Uma aresta é adicionada ao gráfico se um relatório de certificação ou alvo de segurança menciona explicitamente o ID de certificado de outro produto.
Para categorizar os significados das referências, criamos uma função de rotulagem de arestas que mapeia cada aresta a um código categórico. Exploramos os artefatos de certificação para desenvolver códigos iniciais que signifiquem os significados das referências. Um coautor coleta diferentes arestas e analisa os documentos para criar um livro de códigos que descreve as categorias de referência.
As principais razões para uma referência entre produtos são:
- Reutilização de Componente (C): O produto que faz a referência usa o produto referenciado como um todo.
- Predecessor (P): O produto referenciado é um predecessor do produto que faz a referência.
Essa taxonomia pode ser refinada ainda mais para capturar contextos mais específicos, embora isso traga complexidade adicional. Coletamos amostras de arestas do gráfico de referência e as anotamos manualmente com códigos.
Aprendendo a Função de Rotulagem de Arestas
Para aprender o contexto de referência de cada aresta, extraímos sentenças dos documentos de certificação que cercam os identificadores de referência. Após extrair as características, treinamos um classificador de aprendizado de máquina para mapear essas características para categorias. Essa abordagem envolve várias etapas, incluindo extração de segmentos, incorporações vetoriais, extração de características, treinamento de classificador e avaliação.
Avaliaremos o desempenho do classificador comparando-o com vários modelos, determinando que o uso de transformadores de sentença gera os melhores resultados. O classificador pode mapear com precisão os significados das referências, fornecendo uma base confiável para futuras classificações.
Analisando o Gráfico de Referência
Com o gráfico de referência construído, podemos investigar várias questões de pesquisa.
Cultura de Referência
De todos os produtos certificados, um certo número tem pelo menos uma referência. Os cartões inteligentes se destacam, pois costumam referenciar outros produtos. A maioria dos cartões inteligentes referencia outros produtos certificados, seja por reutilização de componente ou como predecessores. Em contraste, dispositivos não relacionados a cartões inteligentes raramente utilizam referências.
Também observamos como os hábitos de referência evoluíram ao longo do tempo. O número médio de referências entre cartões inteligentes aumentou constantemente, indicando uma crescente dependência das funções de outros produtos certificados.
Os principais achados sobre a cultura de referência incluem:
- As principais motivações para a referência cruzada entre certificados do CC são a reutilização de componentes e relações de predecessor.
- Os cartões inteligentes exibem uma forte tendência de referenciar outros produtos, com seu alcance médio crescendo consistentemente ao longo do tempo.
Produtos Certificados com Alto Alcance
Dentro do gráfico de referência criado a partir de arestas de reutilização de componentes, identificamos produtos com o maior alcance. Um cartão inteligente foi referenciado por muitos outros produtos, indicando sua influência. Os dez principais produtos em termos de alcance impactam significativamente uma grande parte do ecossistema de cartões inteligentes, tornando-os alvos primários para atacantes.
Nossa análise revela que produtos com alto alcance também tendem a ter Níveis de Garantia de Avaliação mais altos, o que significa que geralmente são mais confiáveis. Medimos a potencial propagação de vulnerabilidades originárias nesses dispositivos de alto alcance, descobrindo que muitos dos produtos que os referenciam podem estar em risco se uma falha crítica ocorrer.
Envelhecimento de Produtos Referenciados
Os certificados do CC têm um período de validade definido, e alguns esquemas exigem reavaliações regulares de produtos referenciados. Nosso estudo investiga se certificados arquivados ainda estão sendo referenciados e examina a conformidade com as políticas de reavaliação.
Identificamos um pequeno número de produtos que referenciam componentes arquivados no momento de sua emissão. Além disso, analisamos a idade dos produtos referenciados para ver com que rapidez seu alcance diminui após se tornarem arquivados. Nossas descobertas indicam que muitos produtos ativos ainda referenciam certificados mais antigos e que a transição para zero alcance pode levar mais de um ano, em média.
Conclusão
Este estudo fornece insights sobre as conexões entre produtos certificados pelos Critérios Comuns, revelando vários padrões de referência e dependência. Nossa análise destaca a importância de entender essas conexões para avaliar os riscos de segurança dentro do ecossistema do CC.
Ao analisar o gráfico de referência e suas conexões, demonstramos como vulnerabilidades podem se propagar entre produtos certificados. Encorajamos os interessados a considerar essas descobertas para tomar decisões informadas sobre dependências de produtos e tomar as medidas de segurança necessárias para componentes com amplo alcance.
Os resultados de nossa pesquisa podem ajudar a moldar futuras melhorias na forma como os documentos de certificação são criados e processados, visando métodos mais eficazes assistidos por computador para indexação e produção de metadados. Essa evolução pode levar a uma melhor transparência e segurança dentro do quadro dos Critérios Comuns, beneficiando tanto consumidores quanto produtores de produtos de TI certificados.
Título: Chain of trust: Unraveling references among Common Criteria certified products
Resumo: With 5394 security certificates of IT products and systems, the Common Criteria for Information Technology Security Evaluation have bred an ecosystem entangled with various kind of relations between the certified products. Yet, the prevalence and nature of dependencies among Common Criteria certified products remains largely unexplored. This study devises a novel method for building the graph of references among the Common Criteria certified products, determining the different contexts of references with a supervised machine-learning algorithm, and measuring how often the references constitute actual dependencies between the certified products. With the help of the resulting reference graph, this work identifies just a dozen of certified components that are relied on by at least 10% of the whole ecosystem -- making them a prime target for malicious actors. The impact of their compromise is assessed and potentially problematic references to archived products are discussed.
Autores: Adam Janovsky, Łukasz Chmielewski, Petr Svenda, Jan Jancar, Vashek Matyas
Última atualização: 2024-08-19 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2404.14246
Fonte PDF: https://arxiv.org/pdf/2404.14246
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.