Como um MD5 Desatualizado pode Colocar as Suas Senhas em Risco

MD5 Outdated Hashing Function

5F4DCC3B5AA765D61D8327DEB882CF99 - para a grande maioria de vocês, isso provavelmente se parece com uma sequência aleatória de letras e dígitos. Para os cibercriminosos que buscam dados pessoais, no entanto, essa bagunça específica de símbolos alfanuméricos pode ser um sinal muito bom.

5F4DCC3B5AA765D61D8327DEB882CF99 é o valor de hash da palavra "senha" quando ela é misturada com MD5, e hoje, explicaremos o quão ruins podem ser as consequências se essa sequência específica for encontrada em um banco de dados online. Primeiro, porém, vamos nos certificar de que estamos familiarizados com os conceitos básicos.

Falamos sobre a importância do armazenamento de senhas e estabelecemos que o hash é realmente a única maneira adequada de lidar com esse tipo de informação.

Hashing é uma função criptográfica que, como você pode ver no primeiro parágrafo, transforma uma senha em uma sequência de texto ilegível. Nesse sentido, é semelhante à criptografia, mas como não há chaves, o processo não pode ser revertido. Em outras palavras, você pode usar o hash para transformar uma senha em uma sequência de símbolos, mas não pode converter a sequência novamente em uma senha. Teoricamente falando, é isso que faz do hash o melhor método para armazenar senhas. Infelizmente, a realidade é um pouco mais complicada.

A Importância de Escolher a Função de Hash Correta

Existem muitas funções de hash diferentes (também conhecidas como algoritmos) e, mesmo que você as aplique à mesma senha, cada uma delas produzirá um resultado completamente diferente. Como você provavelmente pode adivinhar, alguns algoritmos são mais seguros que outros. MD5, a função que mencionamos acima, é sem dúvida a pior de todas.

O MD5 foi introduzido em 1992, mas em quatro anos, as pessoas começaram a ter dúvidas sobre sua segurança. No início, os ataques não eram realmente práticos e os usuários regulares que tinham seus dados de login agrupados no MD5 não estavam em perigo imediato. A pesquisa continuou, e o hardware do computador se tornou mais poderoso, e com certeza, em 2008, um grupo de especialistas em criptografia conseguiu forjar um certificado SSL assinado MD5 usando o poder computacional de apenas três consoles de jogos PlayStation 3. Naquela época, Bruce Schneier, um dos nomes mais reconhecidos no setor de segurança, disse que "ninguém deveria mais usar o MD5". Hoje em dia, essas palavras parecem mais verdadeiras do que nunca.

Os Pesquisadores Descobriram que o MD5 Ainda é Usado Extensivamente

Já faz mais de uma década desde que a comunidade criptográfica demonstrou o quão inadequada é a segurança do MD5, e você pensaria que, nesse período, as pessoas teriam percebido que usá-la é uma má ideia. Infelizmente, embora os certificados SSL não tenham mais nada a ver com o MD5, os bancos de dados vazados durante os recentes incidentes de hackers sugerem que alguns provedores de serviços online continuem usando a antiga função hash.

Descobrir quantas delas é impossível, no entanto. Normalmente, você não tem idéia de como sua senha é armazenada e, embora possa sempre perguntar a cada operador de site individual sobre ela, não receberá uma resposta de todas elas. E mesmo se você o fizer, realizar uma pesquisa em uma escala que possa fornecer qualquer tipo de dados significativos simplesmente não é prático.

Os pesquisadores da Universidade de Pireu, na Grécia, ainda estavam curiosos, e montaram um experimento que poderia nos fornecer alguns dados sobre como os sites armazenam nossas senhas.

A maioria dos sites de hoje é construída em sistemas de gerenciamento de conteúdo (CMSs) de software livre - software que permite controlar uma plataforma on-line inteira por meio de um painel de administração de back-end relativamente fácil de usar. Até mesmo alguns dos serviços on-line mais personalizados geralmente são baseados em estruturas de aplicativos da Web - código de computador pré-escrito que funciona como base para o restante do site.

Para poupar os proprietários de sites da dificuldade de escolher e implementar mecanismos de hash de senha, praticamente todos os CMSs e algumas das estruturas de aplicativos vêm com seus próprios. Os eggheads gregos queriam descobrir como eram bem projetados. Os resultados não foram exatamente encorajadores.

Os pesquisadores experimentaram 49 sistemas populares de gerenciamento de conteúdo e 47 estruturas de aplicativos da web, e concentraram-se em três fatores principais - o próprio algoritmo de hash; se o mecanismo de hash emprega ou não várias iterações; e se as senhas são salgadas ou não antes de serem hash.

Por padrão, 13 dos CMSs testados ainda contam com o MD5 para o hash das senhas dos usuários e outros 6 usam o SHA1 - outra função que há muito se declara obsoleta. Surpreendentemente, o WordPress, o CMS que supostamente alimenta cerca de um terço de todos os sites do mundo, está entre os que contam com o MD5.

Há mais dados perturbadores. O WordPress pode usar o MD5, mas pelo menos salga as senhas antes de fazer o hash, e a função de hash é aplicada mais de 8 mil vezes, o que dificulta o trabalho dos crackers de senhas. 18 dos sistemas de gerenciamento de conteúdo testados não utilizam iterações e 7 não saltam as senhas dos usuários.

As coisas não são radicalmente diferentes quando se trata de estruturas de aplicativos da web. Apenas 1 das estruturas testadas usa MD5, mas 10 no total dependem de funções de hash fracas e 6 não usam iterações. Duas das estruturas não alteram as senhas dos usuários.

O Forro de Prata

É bastante fácil sensacionalizar os números indubitavelmente decepcionantes e dizer que todos os sites que usam o WordPress, por exemplo, estão armazenando senhas de maneira insegura. Isso seria errado, no entanto.

O alvo da pesquisa dos especialistas foi o mecanismo de hash padrão do CMS. Todo desenvolvedor pode alterá-lo para um diferente que depende de uma função mais robusta. Além disso, a salga e um grande número de iterações ainda devem ser suficientes para parar a maioria dos hackers, mesmo que o algoritmo de hash não seja tão robusto.

A pesquisa mostra que os mecanismos de hash de muitos CMSs não são tão fortes quanto deveriam e as comunidades que os apoiam e desenvolvem provavelmente devem pensar em fazer o que 20 dos sistemas testados já fazem - empregam bcrypt como o algoritmo padrão para protegendo as senhas das pessoas.

As práticas de armazenamento menos do que perfeitas nunca podem ser uma desculpa se a sua senha fácil de adivinhar e amplamente reutilizada cair nas mãos erradas. Portanto, as prioridades para o usuário comum devem ser diferentes.

February 3, 2020

Deixe uma Resposta