O que é SHAttered? Ataques de colisão SHA-1, explicados

Mar 1, 2025
Privacidade e segurança

No primeiro dia de 2016, a Mozilla encerrou o suporte para uma tecnologia de segurança enfraquecida chamada SHA-1 no navegador Firefox. Quase imediatamente, eles reverteram sua decisão, pois isso cortaria o acesso a alguns sites mais antigos. Mas em fevereiro de 2017, seus temores finalmente se tornaram realidade: os pesquisadores quebraram o SHA-1 ao criar 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 Hash Seguro , e, simplesmente, você pode pensar nisso como um tipo de problema de matemática ou método que embaralha os dados que são colocados nele . Desenvolvido pela NSA dos Estados Unidos, é um componente central de muitas tecnologias usadas para criptografar transmissões importantes na internet. Métodos comuns de criptografia SSL e TLS, dos quais você já deve 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 vamos nos aprofundar em matemática e ciência da computação de qualquer uma das funções SHA, mas aqui está a ideia básica. Um “hash” é um código único baseado na entrada de quaisquer dados . Mesmo uma seqüência pequena e 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 geralmente funciona o armazenamento de senha. Quando você cria uma senha, sua entrada de senha é criptografada e armazenada pelo servidor. Ao retornar, quando você digita sua senha, ela é criptografada novamente. Se corresponder ao hash original, a entrada pode ser considerada a mesma e você terá acesso aos seus dados.

As funções de hash são úteis principalmente porque tornam mais fácil saber se a entrada, por exemplo, um arquivo ou uma senha, foi alterada. Quando os dados de entrada são secretos, como uma senha, o hash é quase impossível de reverter e recuperar os dados originais (também conhecido como “chave”). Isso é um pouco diferente de "criptografia", cujo propósito é embaralhar dados com o propósito de decodificá-los posteriormente , usando cifras e chaves secretas. Hashes destinam-se simplesmente a garantir a integridade dos dados - para garantir que tudo seja igual. Git, o software de controle de versão e distribuição para código-fonte aberto, usa hashes SHA-1 exatamente por este motivo .

São muitas informações técnicas, mas para simplificar: um hash não é a mesma coisa que criptografia, já que é usado para identificar se um arquivo foi alterado .

Como essa tecnologia me afeta?

Digamos que você precise visitar um site com privacidade. Seu banco, seu e-mail e até mesmo sua conta do Facebook - todos usam criptografia para manter os dados que você envia privados. Um site profissional fornecerá criptografia obtendo um certificado de uma autoridade confiável - um terceiro, confiável para garantir que a criptografia seja no nível, privada entre o site e o usuário e não sendo espionada por nenhuma outra parte. Este relacionamento com o terceiro, chamado Autoridades de Certificação , ou NAQUELA , é crucial, uma vez que qualquer usuário pode criar um certificado "autoassinado" - você pode até faça você mesmo em uma máquina rodando Linux com Openssl . Symantec e Digicert são duas empresas CA amplamente conhecidas, por exemplo.

Vamos examinar um cenário teórico: o How-To Geek deseja manter as sessões dos usuários conectadas privadas com criptografia, por isso solicita a uma CA como a Symantec um Solicitação de assinatura de certificado , ou CSR . Eles criam um chave pública e chave privada para criptografar e descriptografar dados enviados pela Internet. A solicitação de CSR envia a chave pública para a Symantec junto com informações sobre o site. A Symantec compara a chave com seu registro para verificar se os dados não foram alterados por todas as partes, porque qualquer pequena alteração nos dados torna o hash radicalmente diferente.

Essas chaves públicas e certificados digitais são assinados por funções hash, porque a saída dessas funções é fácil de ver. Uma chave pública e um certificado com um hash verificado da Symantec (em nosso exemplo), uma autoridade, garante a um usuário do How-To Geek que a chave não foi alterada e não foi enviada por alguém mal-intencionado.

Como o hash é fácil de monitorar e impossível (alguns diriam "difícil") de reverter, a assinatura de hash correta e verificada significa que o certificado e a conexão podem ser confiáveis ​​e os dados podem ser enviados criptografados de ponta a ponta . Mas e se o hash não era realmente único ?

O que é um ataque de colisão e é possível no mundo real?

Você deve ter ouvido falar do “Problema de aniversário” em matemática , embora você possa não saber como era chamado. A ideia básica é que, se você reunir um grupo grande o suficiente de pessoas, há grandes chances de que duas ou mais pessoas façam aniversário no mesmo dia. Mais alto do que você esperava, na verdade - o suficiente para parecer uma estranha coincidência. Em um grupo de 23 pessoas, há 50% de chance de que duas façam aniversário.

Esta é a fraqueza inerente a todos os hashes, incluindo SHA-1. Teoricamente, a função SHA deve criar um hash exclusivo para todos os dados colocados nela, mas à medida que o número de hashes aumenta, torna-se mais provável que diferentes pares de dados possam criar o mesmo hash. Portanto, pode-se criar um certificado não confiável com um hash idêntico a um certificado confiável. Se eles fizerem com que você instale esse certificado não confiável, ele pode se disfarçar como confiável e distribuir dados maliciosos.

Encontrar hashes correspondentes em dois arquivos é chamado de ataque de colisão . Sabe-se que pelo menos um ataque de colisão em grande escala já ocorreu para hashes MD5. Mas em 27 de fevereiro de 2017, o Google anunciou SHAttered , a primeira colisão criada para SHA-1. O Google conseguiu criar um arquivo PDF com o mesmo hash SHA-1 de outro arquivo PDF, apesar de ter conteúdo diferente.

SHAttered foi executado em um arquivo PDF. PDFs são um formato de arquivo relativamente flexível; muitas pequenas alterações no nível de bits podem ser feitas sem impedir que os leitores abram ou causem quaisquer diferenças visíveis. Os PDFs também são freqüentemente usados ​​para entregar malware. Embora o SHAttered possa funcionar em outros tipos de arquivos, como ISOs, os certificados são especificados de forma rígida, tornando esse tipo de ataque improvável.

Então, quão fácil é realizar esse ataque? SHAttered foi baseado em um método descoberto por Marc Stevens em 2012, que exigiu mais de 2 ^ 60,3 (9,223 quintilhões) de operações SHA-1 - um número impressionante. No entanto, esse método ainda é 100.000 vezes menos operações do que seria necessário para obter o mesmo resultado com força bruta. O Google descobriu que, com 110 placas gráficas de última geração trabalhando em paralelo, levaria aproximadamente um ano para produzir uma colisão. O aluguel desse tempo de computação do Amazon AWS custaria cerca de US $ 110.000. Lembre-se de que, à medida que os preços das peças do computador caem e você pode obter mais energia com menos, ataques como o SHAttered se tornam mais fáceis de realizar.

$ 110.000 pode parecer muito, mas está dentro do alcance de algumas organizações - o que significa que os cibervilianos da vida real podem falsificar assinaturas de documentos digitais, interferir em sistemas de backup e controle de versão como Git e SVN ou fazer um ISO Linux malicioso parecer legítimo.

Felizmente, existem fatores atenuantes que impedem esses ataques. SHA-1 raramente é usado para assinaturas digitais mais. As autoridades de certificação não fornecem mais certificados assinados com SHA-1 e o Chrome e o Firefox abandonaram o suporte para eles. As distribuições do Linux normalmente são lançadas com mais frequência do que uma vez por ano, tornando impraticável para um invasor criar uma versão maliciosa e, em seguida, gerar uma versão preenchida para ter o mesmo hash SHA-1.

Por outro lado, alguns ataques baseados em SHAttered já estão acontecendo no mundo real. O sistema de controle de versão SVN usa SHA-1 para diferenciar arquivos. Carregar os dois PDFs com hashes SHA-1 idênticos para um repositório SVN causará isso corromper .

Como posso me proteger de ataques SHA-1?

Não há muito para o usuário típico fazer. Se estiver usando somas de verificação para comparar arquivos, você deve usar SHA-2 (SHA-256) ou SHA-3 em vez de SHA-1 ou MD5. Da mesma forma, se você for um desenvolvedor, certifique-se de usar algoritmos de hash mais modernos, como SHA-2, SHA-3 ou bcrypt. Se você está preocupado porque o SHAttered foi usado para fornecer o mesmo hash a dois arquivos distintos, o Google lançou uma ferramenta no Site SHAttered que pode verificar para você.

Créditos de imagem: Lego Firefox , Muito Hash , Por favor, não machuque o autor da Web desconhecido, Google .

What Is SHAttered? SHA-1 Collision Attacks, Explained

Shattered SHA-1 Exploit Explained

SHA-1 Shattered: Overview Of SHA-1, How And Why It Broke

Looking At SHA-1 Collision

USENIX Security '17 - Speeding Up Detection Of SHA-1 Collision Attacks...

SHA1 Collision - What's It All About?

SHAttered - SHA-1 - CS50 Live - S3E1

How We Created The First SHA-1 Collision And What It Means For Hash Security

Security Snippets: MD5, SHA-1 And SHA-2

SHAttered - SHA1 Busted: Demo Of The Files Used For The Collision Attack

How We Created The First SHA-1 Collision And What It Means For Hash Security - Defcon 25

USENIX Security '20 - SHA-1 Is A Shambles: First Chosen-Prefix Collision On SHA-1 And Application


Privacidade e segurança - Artigos mais populares

Não, você não precisa desativar as perguntas de recuperação de senha no Windows 10

Privacidade e segurança Dec 17, 2024

CONTEÚDO NÃO CHEGADO Recentemente, um grupo de pesquisadores descreveu um cenário em que perguntas de recuperação de senha foram usadas para invadir PCs com Windows 10. Isso ..


Qual é a diferença entre acessibilidade e permissões do aplicativo Full Disk Access no Mojave?

Privacidade e segurança Dec 14, 2024

CONTEÚDO NÃO CHEGADO O MacOS recentemente começou a usar um sistema de permissões semelhante ao do Android, onde os aplicativos devem pedir para acessar certos recursos, como ..


Como instalar e atualizar o Flash em seu Mac

Privacidade e segurança Dec 10, 2024

Adobe Flash é usado para determinados conteúdos em sites - geralmente vídeos ou aplicativos da web. Embora esteja lentamente sendo eliminado em favor do HTML5, ocasionalmente um ..


T-Mobile invadida novamente: mais de 2 milhões de números de contas e endereços potencialmente vazados

Privacidade e segurança Aug 24, 2025

CONTEÚDO NÃO CHEGADO Os invasores podem ter comprometido três por cento dos 77 milhões de clientes da T-Mobile na segunda-feira, revelando informações pessoais como endereç..


Ser o produto não é necessariamente ruim

Privacidade e segurança May 17, 2025

CONTEÚDO NÃO CHEGADO É um clichê da internet: “se você não está pagando por algo, você não é o cliente, você é o produto que está sendo vendido”. E é verdade, ma..


O que há de novo no macOS 10.13 High Sierra, já disponível

Privacidade e segurança Oct 3, 2025

CONTEÚDO NÃO CHEGADO A próxima versão do macOS já foi lançada, com melhorias no Safari, Mail, Fotos e muito mais nos bastidores. Aqui estão os melhores recursos que você v..


Como relatar um tweet no Twitter

Privacidade e segurança May 5, 2025

CONTEÚDO NÃO CHEGADO O Twitter pode ser um pouco louco. Por padrão, é como uma grande disputa de gritos pública. Qualquer um pode pesar, gritar algo, acenar um sinal e, geral..


4 lugares para encontrar resultados de testes antivírus atualizados online

Privacidade e segurança Jan 27, 2025

CONTEÚDO NÃO CHEGADO Você sabe a eficácia de seus programas antivírus? Uma variedade de organizações compara regularmente programas antivírus, lançando uma grande quantid..


Categorias