Como os hackers podem decifrar sua senha em uma hora

Quase seis em cada dez senhas podem ser decifradas em menos de uma hora usando uma placa de vídeo moderna ou serviços em nuvem. Bastam alguns dólares e um pouco de tempo livre. Como isso é possível e como se proteger são o tema de nosso estudo.

Embora o Dia Mundial da Senha, que acontece anualmente na primeira quinta-feira de maio, já tenha passado, nosso (e esperamos que o seu) fascínio pela segurança de senhas continue. Em vez de analisar senhas artificiais criadas para estudos de laboratório, fomos para o mundo real, examinando senhas vazadas na dark web. Os resultados foram alarmantes: 59% dessas senhas podem ser decifradas em menos de 1 hora e todo o necessário são uma placa de vídeo moderna e um pouco de know-how.

A postagem de hoje explica como os hackers decifram senhas e como combatê-los (alerta de spoiler: use uma proteção confiável e faça verificações automáticas de suas senhas em busca de vazamentos.

A maneira usual de decifrar senhas

Primeiro, vamos esclarecer o que queremos dizer com “decifrar uma senha”. Estamos falando sobre decifrar o hash da senha, uma sequência exclusiva de caracteres que representa a senha. As empresas normalmente armazenam senhas de usuário de três maneiras:

  • Texto simples. Esta é a maneira mais simples e clara: se a senha de um usuário for, digamos, qwerty12345, ela será armazenada no servidor da empresa como qwerty12345. Se ocorrer uma violação de dados, o hacker precisa apenas inserir a senha com o nome de usuário correspondente para efetuar login. Isso, é claro, se não houver autenticação de dois fatores (2FA), mas mesmo assim, os cibercriminosos às vezes podem interceptar senhas de uso único.
  • Esse método utiliza algoritmos de hash como MD5 e SHA-1 para transformar cada senha em um valor de hash exclusivo na forma de uma cadeia de caracteres de comprimento fixo, que é armazenada no servidor. Quando o usuário insere sua senha, o sistema converte a sequência de entrada de caracteres em um hash e a compara com aquela armazenada no servidor. Se elas corresponderem, a senha estará correta. Aqui está um exemplo: se sua senha for do tipo qwerty12345, então, “convertida” para SHA-1, ela ficará assim: 4e17a448e043206801b95de317e07c839770c8b8. Os hackers que obtiverem esse hash precisariam descriptografá-lo de volta para qwerty12345 (essa é a parte de “decifração da senha”), por exemplo, usando tabelas arco-íris. Uma senha decifrada pode, então, ser usada para acessar não apenas o serviço comprometido, mas potencialmente outras contas nas quais a senha foi reutilizada.
  • Hashing com salt. Não tendo nada a ver com gastronomia, esse método adiciona uma sequência aleatória de dados, conhecida como salt (sal), a cada senha antes do hash. Um salt pode ser estático ou gerado dinamicamente. A sequência senha+salt é alimentada no algoritmo, o que resulta em um hash diferente. Assim, as tabelas arco-íris pré-computadas tornam-se inúteis para os hackers. Usar esse método de armazenamento de senhas as torna muito mais difíceis de decifrar.

Para nosso estudo, formamos um banco de dados de 193 milhões de senhas vazadas em texto simples. De onde tiramos todas elas? Você tem que saber onde procurar. Nós as encontramos na dark web, onde esses “tesouros” geralmente estão disponíveis gratuitamente. Usamos esse banco de dados para verificar as senhas dos usuários quanto a possíveis vazamentos, mas tenha certeza de que não armazenamos nem vemos nenhuma senha. Você pode ler mais sobre a estrutura interna do cofre de senhas em nosso  e como, sem saber suas senhas, nós as comparamos com as vazadas.

O custo de se decifrar uma senha

As GPUs modernas são a melhor ferramenta para se analisar a força de uma senha. Por exemplo, a RTX 4090 pareada com a ferramenta de recuperação de senha hashcat atinge uma taxa de 164 bilhões de hashes por segundo (GH/s) para hashes MD5 com salt.

Vamos imaginar uma senha de 8 caracteres usando letras latinas (todas em minúsculas ou todas em maiúsculas) e dígitos (36 caracteres possíveis por posição). O número de combinações únicas possíveis é 2,8 trilhões (calculado ao elevar 36 à potência de 8). Uma CPU poderosa com poder de processamento de 6,7 GigaHashes por segundo (GH/s) poderia quebrar com força bruta uma senha como essa em sete minutos. Mas a RTX 4090 mencionada acima conclui a tarefa em apenas 17 segundos.

Embora uma GPU de última geração custe um pouco menos de US$ 2.000, mesmo os invasores incapazes de conseguir uma podem facilmente alugar poder de computação por apenas alguns dólares por hora. Mas e se eles alugarem uma dúzia de RTX 4090s de uma só vez? Essa combinação teria potência suficiente para processar vazamentos maciços de banco de dados de hash com facilidade.

59% das senhas podem ser decifradas em menos de 1 hora

Testamos a força da senha usando algoritmos de força bruta e de adivinhação inteligente. Enquanto a força bruta percorre todas as combinações possíveis de caracteres em ordem até encontrar uma correspondência, os algoritmos de adivinhação inteligentes são treinados em um conjunto de dados de senhas para calcular a frequência de várias combinações de caracteres e fazer seleções primeiro das combinações mais comuns até as mais raras. Você pode ler mais sobre algoritmos usados na versão completa de nossa pesquisa, disponível no Securelist.

Os resultados foram preocupantes: impressionantes 45% das 193 milhões de senhas reais que analisamos (ou seja, 87 milhões de senhas!) poderiam ser decifradas pelo algoritmo inteligente em menos de 1 minuto, 59% em 1 hora, 67% em 1 mês, e meros 23% das senhas podem ser consideradas realmente fortes, precisando de mais de 1 ano para serem decifradas.

Tempo para decifrar Porcentagem de senhas que podem ser decifradas usando o método fornecido
Força bruta Adivinhação inteligente
Menos de 1 minuto 10% 45%
1 minuto a 1 hora +10% (20%) +14% (59%)
1 hora a 1 dia +6% (26%) +8% (67%)
1 dia a 1 mês +9% (35%) +6% (73%)
1 mês a 1 ano +10% (45%) +4% (77%)
Mais de 1 ano +55% (100%) +23% (100%)

É importante observar que decifrar todas as senhas do banco de dados não leva muito mais tempo do que decifrar apenas uma! Em cada iteração, tendo calculado o hash para a próxima combinação de caracteres, o invasor verifica se ela existe no banco de dados geral. Se isso acontecer, a senha em questão é marcada como “decifrada”, após o que o algoritmo continua a adivinhar outras senhas.

Por que os algoritmos de adivinhação inteligentes são tão eficazes

Os humanos são previsíveis. Raramente escolhemos senhas verdadeiramente aleatórias, e nossas tentativas de gerá-las são insignificantes em comparação com as máquinas. Contamos com frases, datas, nomes e padrões comuns, precisamente o que os algoritmos de decifração inteligentes são projetados para explorar.

Além disso, o cérebro humano é de tal maneira que, se você pedir a uma amostra de pessoas para escolher um número entre 1 e 100, a maioria escolherá… os mesmos números! O canal do YouTube Veritasium pesquisou mais de 200 mil pessoas e descobriu que os números mais populares são 7, 37, 42, 69, 73 e 77.

Resultados da pesquisa do Veritasium. <a href="https://www.youtube.com/watch?v=d6iQrh2TK98&t=253s" target="_blank" rel="nofollow noopener">Fonte</a>

Resultados da pesquisa do Veritasium. Fonte

Mesmo ao tentar cadeias de caracteres aleatórias, tendemos a favorecer as teclas no meio do teclado. Cerca de 57% de todas as senhas analisadas continham uma palavra de dicionário ou uma combinação frequente de símbolos. É preocupante que 51% dessas senhas possam ser decifradas em menos de um minuto, 67% em menos de 1 hora e apenas 12% levaram mais de 1 ano. No entanto, pelo menos algumas senhas consistiam em apenas uma palavra de dicionário (que poderia ser decifrada em 1 minuto). Consulte a postagem da Securelist para obter mais informações sobre os padrões de senha encontrados.

Algoritmos inteligentes trabalham facilmente na maioria das senhas que contêm sequências de dicionário. E eles até detectam substituições de caracteres, portanto, escrever “pa$$word” em vez de “password” ou “@dmin” em vez de “admin” não tornará a senha muito mais forte. Usar palavras populares e sequências numéricas é igualmente arriscado. Em 4% das senhas que examinamos, o seguinte surgiu em algum lugar:

  • 12345
  • 123456
  • love
  • 12345678
  • 123456789
  • admin
  • team
  • qwer
  • 54321
  • password

Recomendações

As conclusões do nosso estudo prático:

  • Muitas senhas de usuário não são fortes o suficiente; 59% delas podem ser decifradas em uma hora.
  • Usar palavras significativas, nomes e sequências de caracteres padrão em sua senha reduz significativamente o tempo de adivinhação dela.
  • A senha menos segura é aquela que consiste inteiramente em números ou apenas palavras.

Para manter suas contas seguras, considere as seguintes recomendações simples:

  • Crie senhas fortes usando o Kaspersky Password Manager.
  • Se você decidir criar uma senha, use senhas mnemônicas em vez de combinações de palavras significativas, nomes ou sequências de dicionário.
  • Nunca reutilize senhas em sites diferentes, porque nem todas as empresas armazenam os dados do usuário com segurança.
  • Nunca salve senhas em navegadores.
  • Mantenha suas senhas armazenadas com segurança em um gerenciador de senhas e crie uma senha principal à prova de decifração para ele.
  • Verifique a resistência à decifração de sua senha com o Password Checker ou diretamente em seu Kaspersky Password Manager. Ele identificará senhas fracas e duplicadas, verificará todas as suas senhas em relação a bancos de dados comprometidos e alertará você se alguma correspondência for encontrada.
  • Utilize o Kaspersky Premium para monitorar continuamente em segundo plano todas as contas vinculadas aos telefones ou endereços de e-mail de seus familiares e de seus familiares quanto a vazamentos de dados.
  • Ative a 2FA sempre que possível. Aliás, o Kaspersky Password Manager também permite salvar tokens de 2FA e gerar códigos únicos.
Dicas