Membros da equipe de segurança do Google publicaram uma biblioteca de código aberto, Paranoid, projetada para identificar artefatos criptográficos fracos, como chaves públicas e assinaturas digitais, criados em hardware vulnerável (HSM) e sistemas de software. O código é escrito em Python e distribuído sob a licença Apache 2.0.
O projeto pode ser útil para avaliar indiretamente o uso de algoritmos e bibliotecas que possuem lacunas e vulnerabilidades conhecidas que afetam a confiabilidade das chaves e assinaturas digitais geradas se os artefatos verificados forem gerados por hardware que não pode ser verificado ou por componentes fechados que representam um caixa preta. A biblioteca também pode analisar conjuntos de números pseudoaleatórios quanto à confiabilidade de seu gerador e, a partir de uma grande coleção de artefatos, identificar problemas anteriormente desconhecidos decorrentes de erros de programação ou do uso de geradores de números pseudoaleatórios não confiáveis.
Ao utilizar a biblioteca proposta para verificar o conteúdo do log público CT (Certificate Transparency), que inclui informações sobre mais de 7 bilhões de certificados, não foram encontradas chaves públicas problemáticas baseadas em curvas elípticas (EC) e assinaturas digitais baseadas no algoritmo ECDSA , mas foram encontradas chaves públicas problemáticas com base no algoritmo RSA. Em particular, foram identificadas 3586 chaves não confiáveis que foram geradas por código com a vulnerabilidade não corrigida CVE-2008-0166 no pacote OpenSSL para Debian, 2533 chaves associadas à vulnerabilidade CVE-2017-15361 na biblioteca Infineon e 1860 chaves com um vulnerabilidade associada à busca pelo máximo divisor comum (MDC). As informações sobre certificados problemáticos que permanecem em uso foram enviadas às autoridades de certificação para sua revogação.
Fonte: opennet.ru