SHA-1 é considerada insegura há pelo menos 5 anos!

Emanuel Negromonte
Por Emanuel Negromonte

Faz muito tempo que a encriptação SHA-1 é considerada totalmente insegura. Em 2017, vários artigos foram publicados por especialistas alertando sobre o perigo. Mas, não se preocupe, vamos te ajudar a lembrar.

SHA-1 sempre foi inseguro

Naquele ano, um ataque de colisão de SHA-1 foi revelado com potencial de quebrar os repositórios de código que usam o sistema de controle de revisão Subversion (SVN). Mas, saiba que a primeira tecnologia vítima desta ação foi o repositório do WebKit.

Antes disso, em 2015, Sergio Silva, coordenador da Unidade de Informática do Conselho Superior de Magistratura (CSM), alertava para o fato de várias plataformas da Administração Pública usarem certificados de segurança baseados em SHA-1.

O incidente aconteceu horas depois que a equipe do Google e do Centrum Wiskunde & Informatica (CWI) na Holanda, anunciarem a execução prática de ataque de colisão através da função SHA-1. A demonstração consistiu em criar dois arquivos PDFs com diferentes conteúdos, mas com resultados iguais de cifra.

Isso provou, sem qualquer dúvida, que a função que realiza o cálculo de encriptação pode ser resolvida, já que uma função “hash” deve sempre produzir resultados diferentes, para partes diversas de dados ou arquivos.

SHA-1 é uma função de separação de cifra usada para calcular uma sequência alfa-numérica, capaz de servir como a representação na encriptação de um arquivo ou um pedaço de dados.

Webkit e o dilema do SHA-1

Um programador do WebKit quis desenvolver um teste para provar que o ataque demonstrado não podia ser usado para ações de “envenenamento” de “cache”, no contexto do recurso de duplicação de “cache” para disco presente no WebKit, que dependerá de uma SHA-1.

Para fazer isso, enviou os dois arquivos PDF gerados pelo CWI e pelo Google para o repositório SVN do WebKit, notando depois a ocorrência de erros.

O Git, sistema de controle concorrente e mais popular naquela época, também usava funções SHA-1 internamente e de acordo com os investigadores do CWI e do Google, é era teoricamente vulnerável.

Parece que mesmo após remover os arquivos, alguns problemas mantiveram-se e foi necessária intervenção manual para corrigi-los. O problema não é específico do repositório WebKit, mas de todos aqueles baseados no SVN.

Entretanto, os programadores do Subversion lançaram um “script” para os gestores dos repositórios usarem e evitarem problemas de colisão de arquivos com SHA-1 nos seus repositórios. Assim, foi criado paralelamente, outras iniciativas para uma correção mais robusta.

Google teve que realizar mais de nove quintilhões de cálculos SHA-1, o equivalente a um ano de cálculos contínuos com 110 GPUs ou 6.500 CPUs para ter conclusões precisas.

Linus Torvalds, criador do Linux e do Git, na época desvalorizou as implicações do ataque, em parte porque hackers podem ser facilmente persuadidos, se houver mecanismos de verificação simples, o que pode fazer um ataque deixar de valer a pena.

Assim, 2022 está sendo o ano em que o SHA-1 já anda sendo desabilitado por muitas empresas. Mas, o alerta sempre existiu e o SHA-2 já começa a ser observado e aplicado. Parece ser preciso que algo muito ruim aconteça para que alguém tome uma iniciativa.

Share This Article
Follow:
Fundador do SempreUPdate. Acredita no poder do trabalho colaborativo, no GNU/Linux, Software livre e código aberto. É possível tornar tudo mais simples quando trabalhamos juntos, e tudo mais difícil quando nos separamos.