Hackers usam vários métodos para decifrar senhas, e um deles é o ataque de rainbow table. Em certos casos, esse método pode ser mais rápido do que ataques de dicionário ou credential stuffing.

Neste artigo, exploramos como funcionam os ataques de rainbow table e discutimos maneiras de evitá-los.

Definição de ataque de rainbow table

Um ataque de rainbow table é um ataque criptográfico que hackers usam para invadir sistemas ao descobrir senhas a partir de seus hashes, que atuam como impressões digitais digitais. Uma função de hash mapeia cada senha com uma sequência correspondente de caracteres.

Diferente de um ataque de força bruta que tenta todas as senhas possíveis uma por uma, um ataque de rainbow table não requer adivinhação depois que a tabela é pré-computada. Esta tabela pré-computada (conhecida como rainbow table devido à sua aparência se for codificada por cores) é essencialmente um grande banco de dados de pares de valores de hash vinculados aos seus equivalentes em texto simples. Com o Proton, os seus dados permanecem seguros.

Como funciona um ataque de senha por rainbow table

1. Criando uma lista de senhas

Ao criar rainbow tables, hackers geralmente visam as senhas mais prováveis e usadas comumente com padrões simples (por exemplo, 123456, password ou qwerty), palavras de dicionário ou dumps de senhas obtidos a partir de violações de dados.

2. Selecionar a função de hash e converter as senhas

Os ataques de rainbow table funcionam bem com funções de hash criptográficas mais simples e rápidas, como MD-5, SHA-1, LM Hash ou NTLM Hash, já que elas não usam recursos de segurança como salting (adicionar dados aleatórios a cada senha antes do hashing) ou key stretching (hashing repetido da senha).

Senha com hash MD-5Senha em texto simples
482c811da5d5b4bc6d497ffa98491e38password123

Cada senha em texto simples passa pela função de hash para gerar seu hash correspondente, que possui uma sequência única de caracteres de tamanho fixo, como no exemplo acima. Uma vez que todas as senhas estão com hash, o hacker pode usá-las para criar a rainbow table.

3. Criando a rainbow table para revelar senhas

Uma rainbow table pode ser vista como uma grande planilha do Excel, com senhas de hash na primeira coluna e senhas em texto simples na segunda. Se um hash violado estiver presente nesta tabela, isso significa que a senha violada está na célula ao lado.

Exemplos de ataques de rainbow table

Aqui estão dois exemplos hipotéticos para ilustrar como um ataque de rainbow table poderia acontecer:

  • Um hacker identifica um site de rede social que usa um algoritmo de hash desatualizado sem nenhum salt. Ao explorar uma falha de injeção de SQL, o invasor extrai os valores de hash das senhas dos usuários do banco de dados do site. Em seguida, eles usam uma rainbow table pré-computada para converter rapidamente milhares desses hashes de volta em senhas de texto simples, comprometendo as contas dos usuários.
  • Durante o monitoramento de rotina da rede, um hacker descobre que um site de e-commerce transmite hashes de senha de forma insegura entre seus servidores e usa ferramentas de farejamento (sniffing) de rede para capturar esses dados. Como agora eles têm acesso aos hashes de senha, o hacker usa um ataque de rainbow table para decodificar as senhas dos clientes, obtendo acesso às suas contas de compras e informações pessoais.

Violações de dados por ataques de rainbow table

Os ataques de rainbow table têm sido usados no mundo real para roubar milhões de detalhes de início de sessão.

Por exemplo, um ataque ao LinkedIn em 2012(nova janela) por cibercriminosos russos resultou no roubo de quase 6,5 milhões de senhas de contas de usuários, causando uma violação de dados significativa. Após a descoberta inicial, o LinkedIn encontrou mais 100 milhões de endereços de e-mail e senhas comprometidos em 2016 relacionados ao mesmo incidente. As senhas roubadas estavam mal protegidas, carecendo de medidas de segurança adicionais como salting, tornando-as mais fáceis para os invasores descriptografarem usando rainbow tables padrão.

Como prevenir ataques de rainbow table

Escolha plataformas com funções de hash fortes

Funções de hash seguras como bcrypt(nova janela) ou Argon2(nova janela) usam salting(nova janela) para adicionar dados aleatórios à sua senha antes de criar seu hash. Sem o salt, o hash da senha não será mostrado em uma rainbow table, então um ataque falharia.

Para descobrir quais funções de hash um serviço ou aplicativo específico usa para armazenar senhas, verifique sua Política de privacidade(nova janela), seção de perguntas frequentes, página de suporte, certificações de segurança ou auditorias (se houver), documentação técnica ou recursos para desenvolvedores(nova janela). Uma pesquisa simples na internet deve funcionar, ou você pode entrar em contato com o suporte ao cliente e perguntar ao Proton.

Se você administra seus próprios sites ou bancos de dados, mantenha suas configurações de segurança atualizadas usando plug-ins ou módulos que implementam algoritmos de hash fortes.

Use senhas complexas

Em vez de usar senhas fáceis de adivinhar, opte por senhas seguras feitas de pelo menos 12 caracteres, que contenham letras maiúsculas e minúsculas, números e símbolos. Exemplos de senhas fortes são ?GmmM1Z[c5:F ou beht=ty]P:)Gf^c?p?+7. É improvável que um cibercriminoso tenha como alvo senhas tão complexas usando ataques de rainbow table com o Proton.

Ative a autenticação de vários fatores

A autenticação de vários fatores (MFA), como a autenticação de dois fatores (2FA), adiciona pelo menos mais uma forma de autenticação à solicitação de senha, como um código no seu autenticador 2fa. Se um invasor descobrir sua senha com sucesso após um ataque de rainbow table, ele não conseguirá passar pelas próximas etapas de autenticação com o Proton.

Além disso, se você receber uma solicitação inesperada de verificação extra, é um sinal claro de que alguém está tentando acessar sua conta. Você pode responder rapidamente alterando sua senha.

Use alias de e-mail

Alias de e-mail(nova janela) podem proteger você contra violações de dados que podem levar a ataques de rainbow table, já que não estão conectados aos seus endereços de e-mail principais. Por exemplo, você pode continuar usando seu e-mail principal para mensagens importantes e finanças, enquanto reserva alias de e-mail para atividades menos seguras, como criar conta em serviços não confiáveis. Se o seu alias de e-mail for hackeado, você pode simplesmente desativá-lo com o Proton.

Monitore a internet em busca de violações de dados

Ao se manter informado sobre as violações mais recentes, você pode determinar se algum dos serviços que você usa foi comprometido e se os seus dados vazaram. Isso permite que você tome medidas proativas, como alterar suas senhas imediatamente, para impedir que hackers usem dados potencialmente expostos para obter acesso não autorizado às suas contas Proton.

Como o Proton Pass pode ajudar

O Proton Pass pode proteger você de ataques de rainbow table gerando senhas fortes(nova janela) e gerenciando-as em um só lugar. Ele também oferece suporte a um autenticador TOTP (senha de uso único baseada em tempo) para tokens 2fa. Além disso, o aplicativo oferece alias hide-my-email para impedir que seu endereço de e-mail principal seja exposto on-line.

Todos os assinantes do Proton Pass podem usar o Pass Monitor(nova janela) para monitorar a saúde de todas as senhas e o Monitoramento da Dark Web para rastrear várias fontes em busca de violações de dados. Nosso modelo de segurança usa o algoritmo de hash bcrypt seguro, que aplica salt nas suas senhas antes de processá-las para impedir ataques de rainbow table. Além disso, executamos um programa de segurança avançado chamado Proton Sentinel para detectar e prevenir ataques de invasão de conta.

Comece a proteger suas contas contra ataques de rainbow table ao criar conta em um plano gratuito do Proton Pass hoje mesmo.