Como o cracking de força bruta pode revelar sua senha

Um martelo tenta a força bruta abrir um cadeado.

Na criptografia, um ataque de força bruta tenta decifrar o conteúdo criptografado, adivinhando a chave de criptografia. Esse ataque é possível quando a chave de criptografia é curta ou se um invasor possui informações suficientes para tentar adivinhar a chave..

Quando se trata de formulários da Web, os invasores não têm muito tempo para adivinhar uma chave. O Google ou o Facebook só permitem que alguém tente fazer login na sua conta tantas vezes antes de “bloqueá-lo”.

Quando os hackers obtêm o banco de dados interno de uma empresa, no entanto, eles têm todo o tempo do mundo para adivinhar sua senha, mesmo que esteja criptografada.

Os sites devem usar senhas de hash e hash para proteger os usuários

Quando os sites armazenam suas senhas, eles devem (mas nem sempre) usar as senhas dos usuários, para que alguém que possua o banco de dados do usuário não possa usá-las..

Funções de hash, como SHA-256, são funções criptográficas unidirecionais. Qualquer dado, texto, imagem ou número pode ser “hash” e, independentemente da duração da entrada, o resultado sempre terá 256 bits. Quando codificado em hexadecimal (como abaixo), isso resulta em uma cadeia de 64 caracteres.

Hash salgados adicionam proteção extraExemplos de hashes “salgados”, hash novamente.

Como os invasores quebram sua senha

Para dificultar as coisas para possíveis hackers, os sites alteram as senhas com um “salt”, que é um dado aleatório (veja como a salga e o hash funcionam).

Computar um hash a partir de texto, imagem ou arquivo é trivial e não levará ao computador uma quantidade considerável de tempo ou recursos. Mas se tudo o que você sabe é o hash, a única maneira de descobrir o valor original é um ataque de força bruta. É por isso que uma função de hash também é chamada de criptografia unidirecional. É fácil ir do texto para o hash, mas muito difícil ir para o outro lado.

Os crackers de senha na posse de um banco de dados de usuários roubados podem ver a lista de nomes de usuários, o valor do sal para cada usuário e o hash.

Com esses detalhes, eles podem tentar adivinhar as senhas de cada usuário, salt e hash, e verificar seus resultados com o hash armazenado no banco de dados. Se o hash corresponder, eles sabem que encontraram a senha.

Um invasor deve inserir exatamente o nome de usuário e a senha, pois alterar o hash mesmo que um pouquinho (como visto acima) resultará em um hash completamente diferente.

Quantas combinações de senhas existem?

Supondo que uma senha consista apenas em letras minúsculas, para cada caractere há 26 possibilidades. Portanto, você esperaria poder adivinhar uma senha de um caractere em 13 tentativas.

Uma senha de dois caracteres tem 26 × 26 opções e levaria (26 × 26) / 2 tentativas para decifrar.

A fórmula c = (m ^ n) / 2 descreve a relação entre as possibilidades de cada personagem m), o comprimento da senha n) e o número esperado de suposições c).

A relação entre o comprimento da senha e o número de suposições para decifrá-lo

Um gráfico para mostrar quantas estimativas são necessárias para decifrar senhas de comprimentos variados.

  • Senhas em minúsculas (m = 26)
  • Maiúsculas e minúsculas (m = 52)
  • Caracteres maiúsculos e minúsculos e especiais (m = 67)

Embora a complexidade e o comprimento contribuam para a força de uma senha, é muito mais valioso adicionar um personagem do que aumentar sua complexidade.

Adicionar um caractere extra a uma senha de quatro caracteres, usando apenas caracteres minúsculos, torna 26 vezes mais difícil de decifrar, enquanto dobrar os caracteres possíveis para 52 (ou seja, adicionar caracteres maiúsculos) torna 16 vezes mais difícil de decifrar..

A escala logarítmica torna mais aparente a relação entre o comprimento da senha e as suposições necessárias.

Um gráfico para mostrar a escala do tamanho da senha em relação às tentativas necessárias para adivinhar.

  • Senhas em minúsculas (m = 26)
  • Maiúsculas e minúsculas (m = 52)
  • Caracteres maiúsculos e minúsculos e especiais (m = 67)

Quanto tempo leva para quebrar uma senha?

A rapidez com que um invasor pode decifrar sua senha depende da rapidez com que o hardware do computador do invasor é.

Um computador comum provavelmente faria cerca de 100.000 palpites por segundo. Uma GPU dedicada pode ser 100 vezes mais rápida que isso e é possível criar um farm de quebra de senha com centenas de GPUs.

Se assumirmos que o invasor possui um computador comum, capaz de 100.000 suposições por segundo, qualquer senha em minúscula com menos de seis caracteres leva menos de um minuto para quebrar.

Mas o tempo de resolução aumenta exponencialmente e uma senha de oito caracteres levaria 12 dias para ser quebrada. Uma senha de 12 caracteres levaria mais de 12.000 anos.

Se uma senha de 12 caracteres é suficiente, depende do valor do que ela protege e da escala do ataque. Se os invasores estiverem atrás de um único alvo, uma senha de 12 caracteres poderá estar ao seu alcance.

É crucial, portanto, proteger dados valiosos (como informações pessoais ou chaves privadas do Bitcoin) com senhas muito mais longas. Ao criptografar sua carteira Bitcoin, por exemplo, uma chave com mais de 32 caracteres pode ser uma boa ideia.

Quanto mais informações um invasor tiver, mais rápido um crack acontecerá

Os cálculos acima pressupõem que o invasor não sabe nada sobre a senha, exceto se inclui caracteres maiúsculos ou minúsculos.

Na realidade, o atacante pode ter algumas suposições. Nas listas de senhas decriptografadas anteriores, sabemos quais são as senhas mais comuns. Se não houver um alvo específico, um invasor poderá verificar senhas comuns com uma lista de emails com relativa rapidez.

As pessoas também tendem a escolher senhas que só têm números no final (como o hello111) e incluem o nome do serviço ou URL em algum lugar. Uma senha usada para o Gmail que contém as palavras google ou gmail e tem quatro dígitos no final (como gmailpanther1234) é fácil de decifrar, mesmo que longa.

As pessoas também tendem a usar nomes de animais de estimação ou filhos como senhas, às vezes em combinação com datas ou anos de nascimento, tornando sua senha mais fácil de adivinhar do que as pessoas imaginam.

Use senhas fortes com gerenciadores de senhas

A regra mais importante é: sempre use uma senha forte.

Para evitar o incômodo de inventar e lembrar tantas senhas robustas, use um gerador de senhas aleatórias para criar convenientemente senhas longas, únicas e verdadeiramente inimagináveis..

Se você armazenar essas senhas com um gerenciador de senhas, precisará lembrar apenas uma única senha (que você pode gerar com o Diceware, para torná-la mais segura). Além disso, a autenticação de dois fatores ajuda a proteger as contas contra ataques ainda mais sofisticados, como senhas obtidas por ataques de phishing.

Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map