Pesquisadores do instituto francês de pesquisa em informática e automação (INRIA) e da Universidade Tecnológica de Nanyang (Cingapura) apresentaram um método de ataque (), que é apresentado como a primeira implementação prática de um ataque ao algoritmo SHA-1, que pode ser usado para criar assinaturas digitais falsas PGP e GnuPG. Os pesquisadores acreditam que agora todos os ataques práticos ao MD5 podem ser aplicados ao SHA-1, embora ainda requeiram recursos significativos para serem realizados.
O método é baseado na realização de , que permite que para dois conjuntos de dados arbitrários sejam encontrados complementos, de modo que, ao serem anexados, resultem em conjuntos que causam colisão, podendo aplicar o algoritmo SHA-1 para formar o mesmo hash resultante. Em outras palavras, para dois documentos existentes, é possível calcular dois complementos, e se um for anexado ao primeiro documento e o outro ao segundo, os hashes SHA-1 resultantes desses arquivos serão iguais.
O novo método se diferencia das técnicas semelhantes anteriormente propostas pela melhoria na eficiência da busca de colisões e pela demonstração de aplicação prática para ataques ao PGP. Em particular, os pesquisadores conseguiram preparar duas chaves públicas PGP de tamanhos diferentes (RSA-8192 e RSA-6144) com identificadores de usuário distintos e com certificados que causam colisão com SHA-1. incluía o identificador da vítima, enquanto a incluía o nome e a imagem do atacante. Assim, devido à colisão encontrada, o certificado identificador que incluía a chave e a imagem do atacante tinha o mesmo hash SHA-1 que o certificado identificador que incluía a chave e o nome da vítima.
O atacante poderia solicitar uma assinatura digital para sua chave e imagem em uma autoridade certificadora externa, e depois transferir a assinatura digital para a chave da vítima. A assinatura digital permanece válida devido à colisão e à validação da chave do atacante pela autoridade certificadora, permitindo que o atacante tome controle também da chave com o nome da vítima (uma vez que o hash SHA-1 para ambas as chaves é idêntico). Assim, o atacante pode se passar pela vítima e assinar qualquer documento em seu nome.
O ataque continua a ser bastante dispendioso, mas já é acessível para agências de inteligência e grandes corporações. Para uma simples busca de colisões utilizando a GPU NVIDIA GTX 970, os custos totalizaram 11 mil dólares, enquanto a busca de colisões com um prefixo específico custou 45 mil dólares (para comparação, em 2012, os custos para encontrar colisões no SHA-1 eram estimados em 2 milhões de dólares, e em 2015, em 700 mil). Para executar um ataque prático ao PGP, foram necessários dois meses de cálculos com 900 GPUs NVIDIA GTX 1060, cujo aluguel custou aos pesquisadores 75 mil dólares.
O método proposto pelos pesquisadores para detectar colisões é aproximadamente 10 vezes mais eficaz do que as conquistas anteriores — o nível de complexidade para calcular colisões foi reduzido para 261,2 operações, em vez de 264,7, e colisões com um prefixo específico para 263,4 operações em vez de 267,1. Os pesquisadores recomendam a migração imediata do SHA-1 para o uso de SHA-256 ou SHA-3, pois, segundo suas previsões, em 2025 o custo de um ataque cairá para 10 mil dólares.
Os desenvolvedores do GnuPG foram notificados sobre o problema em 1º de outubro (CVE-2019-14855) e, em 25 de novembro, na versão GnuPG 2.2.18, tomaram medidas para bloquear os certificados problemáticos — todas as assinaturas digitais SHA-1 criadas após 19 de janeiro do ano passado agora são consideradas inválidas. Na CAcert, um dos principais centros de certificação para chaves PGP, planejam adotar funções hash mais seguras para a certificação de chaves. Os desenvolvedores do OpenSSL, em resposta às informações sobre o novo método de ataque, decidiram desativar o SHA-1 no primeiro nível de segurança por padrão (SHA-1 não poderá ser utilizado para certificados e assinaturas digitais durante o processo de negociação de conexões).
Fonte: opennet.ru
