Google lançou o código-fonte do Paranoid, o projeto para detectar vulnerabilidades em artefatos criptográficos

paranóia

Paranoid um projeto para detectar fraquezas em artefatos criptográficos

Os membros da equipe de segurança do Google, lançado através de uma postagem no blog tomaram a decisão de liberar o código fonte da biblioteca “Paranoid”, projetado para detectar fraquezas conhecidas em um grande número de artefatos criptográficos não confiáveis, como chaves públicas e assinaturas digitais criadas em sistemas de hardware e software vulneráveis ​​(HSM).

O projeto pode ser útil para avaliação indireta do uso de algoritmos e bibliotecas que possuem lacunas e vulnerabilidades conhecidas que afetam a confiabilidade das chaves e assinaturas digitais geradas, sejam os artefatos que estão sendo verificados gerados por hardware inacessível para verificação ou componentes fechados que são uma caixa preta.

Além disso, o Google também menciona que uma caixa preta pode gerar um artefato se, em um cenário, não foi gerado por uma das próprias ferramentas do Google, como o Tink. Isso também aconteceria se fosse gerado por uma biblioteca que o Google pudesse inspecionar e testar usando Wycheproof.

O objetivo de abrir a biblioteca é aumentar a transparência, permitir que outros ecossistemas a usem (como Autoridades Certificadoras, CAs que precisam realizar verificações semelhantes para cumprir a conformidade) e receber contribuições de pesquisadores externos. Ao fazer isso, estamos pedindo contribuições, na esperança de que, depois que os pesquisadores encontrarem e relatarem vulnerabilidades criptográficas, as verificações sejam adicionadas à biblioteca. Dessa forma, o Google e o resto do mundo podem responder rapidamente a novas ameaças.

A biblioteca também pode analisar conjuntos de números pseudo-aleatórios para determinar a confiabilidade de seu gerador e, usando uma grande coleção de artefatos, identificar problemas anteriormente desconhecidos que surgem devido a erros de programação ou ao uso de geradores de números pseudo-aleatórios não confiáveis.

Por outro lado, também é mencionado que Paranoid apresenta implementações e otimizações que eles foram extraídos da literatura existente relacionada à criptografia, o que implica que a geração desses artefatos foi falha em alguns casos.

Ao verificar o conteúdo do registro público CT (Certificate Transparency), que inclui informações sobre mais de 7 bilhões de certificados, utilizando a biblioteca proposta, não foram encontradas chaves públicas problemáticas baseadas em curvas elípticas (EC) e assinaturas digitais baseadas no algoritmo. ECDSA, mas as chaves públicas problemáticas foram encontradas de acordo com o algoritmo RSA.

Após a divulgação da vulnerabilidade ROCA, questionamos quais outras fraquezas poderiam existir nos artefatos criptográficos gerados pelas caixas pretas e o que poderíamos fazer para detectá-las e mitigá-las. Em seguida, começamos a trabalhar neste projeto em 2019 e construímos uma biblioteca para realizar verificações em um grande número de artefatos criptográficos.

A biblioteca contém implementações e otimizações de trabalhos existentes encontrados na literatura. A literatura mostra que a geração de artefatos é falha em alguns casos; Abaixo estão exemplos de publicações nas quais a biblioteca se baseia.

Em particular, 3586 chaves não confiáveis ​​foram identificadas gerado por código com a vulnerabilidade CVE-2008-0166 não corrigida no pacote OpenSSL para Debian, 2533 chaves associadas à vulnerabilidade CVE-2017-15361 na biblioteca Infineon e 1860 chaves com a vulnerabilidade associada a encontrar o máximo divisor comum ( DCM ).

Observe que o projeto pretende ser leve no uso de recursos computacionais. As verificações devem ser rápidas o suficiente para serem executadas em um grande número de artefatos e devem fazer sentido no contexto de produção do mundo real. Projetos com menos restrições, como RsaCtfTool , podem ser mais apropriados para diferentes casos de uso.

Por fim, menciona-se que as informações sobre os certificados problemáticos que permaneceram em uso foram enviadas aos centros de certificação para sua revogação.

Para os interessado em saber mais sobre o projeto, eles devem saber que o código está escrito em Python e é lançado sob a licença Apache 2.0. Você pode consultar os detalhes, bem como o código-fonte no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.