Ataques de colisão SHA-1 agora são realmente práticos e um perigo iminente

Publicado por Igor Matsunaga em

No primeiro dia de 2016, a Mozilla encerrou o suporte a uma tecnologia de segurança enfraquecida chamada SHA-1 no navegador da web Firefox. Quase imediatamente, eles reverteram sua decisão, já que isso cortaria o acesso a alguns sites mais antigos. Mas em fevereiro de 2017, seus medos finalmente se tornaram realidade: os pesquisadores quebraram o SHA-1 criando o primeiro ataque de colisão do mundo real. Aqui está o que tudo isso significa.

O que é SHA-1?

O SHA em SHA-1 significa Algoritmo de Hash Seguro , e, simplesmente, você pode pensar nisso como uma espécie de problema matemático ou método que embaralha os dados que são colocados nele . Desenvolvido pela NSA dos Estados Unidos, é um componente essencial de muitas tecnologias usadas para criptografar transmissões importantes na Internet. Métodos de criptografia comuns SSL e TLS, dos quais você pode ter ouvido falar, podem usar uma função hash como SHA-1 para criar os certificados assinados que você vê na barra de ferramentas do navegador.

Não aprofundaremos a matemática e a ciência da computação de qualquer uma das funções SHA, mas aqui está a idéia básica. Um “hash” é um código único baseado na entrada de qualquer dado. Até mesmo uma pequena seqüência aleatória de letras inseridas em uma função hash como SHA-1 retornará um número longo e definido de caracteres, tornando (potencialmente) impossível reverter a seqüência de caracteres de volta aos dados originais. É assim que o armazenamento de senhas geralmente funciona. Quando você cria uma senha, sua entrada de senha é criptografada e armazenada pelo servidor. Após o seu retorno, quando você digita sua senha, ela é criptografada novamente. Se corresponder ao hash original, a entrada pode ser assumida como a mesma e você terá acesso aos seus dados.

Os ataques ao algoritmo de hash SHA-1 ficaram muito mais perigosos na semana passada com a descoberta de um “ataque de colisão de prefixo escolhido” barato, uma versão mais prática do ataque de colisão SHA-1 realizado pela Google há dois anos.

O que isto significa é que os ataques de colisão SHA-1 agora podem ser realizados com entradas personalizadas, e eles não são mais apenas acidentes acidentais, permitindo que os atacantes direcionem certos arquivos para duplicar e forjar.

ATAQUES DE COLISÃO SHA-1

A função de hashing SHA-1 foi teoricamente quebrada em 2005; no entanto, o primeiro ataque de colisão bem sucedido no mundo real foi realizado em 2017.

Dois anos atrás, acadêmicos do Google e CIO produziram dois arquivos que tinham o mesmo hash SHA-1, no primeiro ataque de colisão SHA-1 do mundo – conhecido como “SHAttered”.

Criptógrafos previram que o SHA-1 seria quebrado em um cenário real, mas a pesquisa do SHAttered veio três anos antes do esperado e também custou apenas US $ 110.000 para ser executada usando o poder de computação alugado pela nuvem, muito menos do que as pessoas acham que pode custar .

ATAQUES DE PREFIXO ESCOLHIDO SHA-1

Mas na semana passada, uma equipe de acadêmicos da França e Cingapura levou a pesquisa SHAttered um passo adiante, demonstrando um ataque de colisão SHA-1 “prefixo escolhido”, em um novo estudo intitulado ” De colisões a colisões de prefixo-escolhido” – Aplicação para Full SHA-1 . “

“Encontrar um ataque de colisão prático interrompe a função hash, mas o dano real que pode ser causado com essa colisão é um pouco limitado, já que o invasor terá pouco ou nenhum controle sobre os dados reais que colidem”, Thomas Peyrin, um deles.

“Um ataque muito mais interessante é encontrar uma chamada ‘colisão de prefixo escolhido’, onde o invasor pode escolher livremente o prefixo para as duas mensagens colidindo. Tais colisões mudam tudo em termos de ameaça porque agora você pode considerar ter colisões com dados significativos dentro (como nomes ou identidades em um certificado digital, etc). “

O que isto significa é que os ataques de colisão SHA-1 não são mais um jogo de roleta, e agora, os agentes de ameaças podem forjar qualquer documento assinado pelo SHA-1 que desejem, desde documentos comerciais até certificados TLS.

OS ATAQUES DE COLISÃO PREFIXO SHA-1 ESCOLHIDOS AGORA TAMBÉM SÃO BARATOS

Mas o trabalho de Peyrin e seu colega, Gaetan Leurent, tem feito vai muito além de provar que os ataques de colisão prefixo SHA-1 são teoricamente possíveis.

Eles também mostraram que tais ataques agora são baratos e estão no orçamento de criminosos cibernéticos e atacantes de estado-nação.

“Acredita-se que essas colisões de prefixo escolhido sejam muito mais difíceis de encontrar do que colisões clássicas. Para o SHA-1, o melhor método de pesquisa anterior exigiu avaliações de 2 ^ 77 SHA-1, que permaneceram fora de alcance na prática”.

“A novidade em nosso artigo é que explicamos como reduzir drasticamente o custo de encontrar colisões com prefixo escolhido para o SHA-1, quase ao mesmo custo que encontrar uma colisão clássica”, disse ele.

“Estamos trabalhando atualmente em melhorias adicionais (ainda não publicadas), e avaliamos agora que é possível encontrar uma colisão de prefixo escolhido para o SHA-1 com um orçamento de menos de US $ 100.000, o que é realmente prático”.

Esse é o mesmo custo da pesquisa SHAttered original, mas essa versão do ataque é o que os invasores provavelmente usariam se quisessem atacar dados protegidos por SHA-1.

“Testamos todos os subcomponentes do ataque, mas não tentamos computar um exemplo de colisão de prefixo escolhido”, disse Peyrin.

“Nossas estimativas iniciais foram de US $ 1 milhão para computar a colisão de prefixo escolhido, que é uma quantia de dinheiro que simplesmente não temos. Graças a nossas últimas melhorias, o custo caiu para menos de US $ 100.000 e estamos atualmente trabalhando na computação do primeiro escolhido. colisão -prefix para SHA-1.

“Espero que possamos anunciar novos resultados em breve”, disse o pesquisador.

AFASTANDO-SE DO SHA-1

Os fornecedores de navegadores há muito tempo começaram a suspender o suporte para o tráfego TLS assinado pelo SHA-1 dentro de seus produtos; no entanto, outros aplicativos ainda contam com isso.

“Ainda há muitos usuários com navegadores mais antigos e muitos protocolos e software que permitem assinaturas SHA-1. Concretamente, ainda é possível comprar um certificado SHA-1 de uma CA confiável, e muitos clientes de email aceitam um certificado SHA-1 quando abrindo uma conexão TLS “.

“O SHA-1 também é amplamente suportado para autenticar as mensagens de handshake TLS e IKE. Agora, qual protocolo pode ser atacado e até que ponto é difícil dizer no momento, porque ele precisa de uma análise cuidadosa do funcionamento interno do protocolo e de como assinaturas digitais / certificados são usados, etc.

“No entanto, o que podemos dizer é que nosso ataque coloca em risco possíveis produtos usando assinaturas digitais ou certificados baseados em SHA-1”, disse Peyrin.

“A mensagem para levar para casa deve ser realmente que usar SHA-1 para assinaturas digitais ou certificados é muito perigoso, e não deve ser permitido. As pessoas que fazem isso são fortemente aconselhadas a mudar para SHA-2 ou SHA-3 agora.”

O QUE USAR?

“Os ataques contra o SHA-1 só vão melhorar”, disse Scott Arciszewski, diretor de desenvolvimento da Paragon Initiative Enterprises, e principal criptógrafo”.

“Todos devem mudar para (em ordem de preferência):

  • BLAKE2b / BLAKE2s
  • SHA-512/256
  • SHA3-256
  • SHA-384
  • Qualquer outra função hash da família SHA2 como último recurso

“… a menos que estejam armazenando senhas! Nesse caso, eles devem alternar para (em ordem de preferência):

  • Argon2id com memória> = 32MiB,> = 2 rodadas e> = 2 paralelismo
  • scrypt / yescrypt com memória> = 32 MiB,> = 4 rodadas e> = 1 parelelismo
  • bcrypt (para PHP devs, password_hash () e password_verify () faz o truque)
  • PBKDF2-SHA512 com 85.000 iterações como último recurso

“Mas o SHA1 não deve mais ser usado. Sem desculpas”, disse Arciszewski.


Igor Matsunaga

Diretor Técnico da NSWorld, entusiasta da área hacking a mais de 6 anos, hacker ético, formado em Segurança da Informação.

0 comentário

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *