O que é um ataque de força bruta?

Ataques de força bruta quebram a segurança dos dados ao tentar todas as combinações possíveis, como um ladrão que invade um cofre testando todos os números para abrir a fechadura.

Share facebook icon linkedin icon twitter icon email icon

Ataque de força bruta

Objetivos de aprendizado

Depois de ler este artigo você será capaz de:

  • Saiba diferenciar ataques de força bruta de ataques mais sofisticados
  • Defina os pontos fortes e os pontos fracos dos ataques de força bruta
  • Explique as melhores formas de se proteger contra ataques de força bruta

O que é um ataque de força bruta?

O ataque de força bruta é um método de tentativa e erro utilizado para decodificar dados sensíveis. As aplicações mais comuns dos ataques de força bruta são a quebra de senhas e de chaves de criptografia (continue lendo para saber mais sobre chaves de criptografia). Outros alvos comuns dos ataques de força bruta são as chaves de API e logins via SSH. Geralmente, os ataques de força bruta às senhas são executados por scripts ou bots que têm como alvo a página de login de um site.

O que diferencia os ataques de força bruta de outros métodos de quebra de segurança é que os ataques de força bruta não utilizam uma estratégia intelectual; eles simplesmente fazem várias tentativas usando diferentes combinações de caracteres até encontrar a combinação correta. É como um ladrão tentando arrombar um cofre experimentando todas as combinações de números possíveis até conseguir abrir o cofre.

Quais são os pontos fortes e os pontos fracos dos ataques de força bruta?

A grande vantagem dos ataques de força bruta é que são ataques relativamente simples de executar e, se houver tempo suficiente e nenhuma estratégia de mitigação para o alvo, eles sempre funcionam. Todos os sistemas existentes baseados em senha e em chave de criptografia podem ser quebrados com o uso de um ataque de força bruta. De fato, a quantidade de tempo que um ataque de força bruta necessita para invadir um sistema é uma métrica útil para medir o nível de segurança desse sistema.

Por outro lado, os ataques de força bruta são muito lentos, pois podem ter que testar todas as combinações de caracteres possíveis antes de atingir seu objetivo. Essa lentidão é agravada à medida que o número de caracteres na string de destino aumenta (uma string é apenas uma combinação de caracteres). Por exemplo, uma senha de quatro caracteres leva muito mais tempo para ser quebrada por um ataque de força bruta do que uma senha de três caracteres, e uma senha de cinco caracteres leva muito mais tempo para ser quebrada do que uma senha de quatro caracteres. Quando a contagem de caracteres ultrapassa um certo ponto, o ataque de força bruta para quebrar uma senha gerada de forma apropriadamente aleatória se torna inviável.

Brute Force Cracking Times

Se a sequência de destino for suficientemente longa, poderá levar dias, meses ou até anos para um invasor de força bruta decodificar uma senha gerada de forma apropriadamente aleatória. Como consequência da tendência atual de exigir senhas e chaves de criptografia mais longas, os ataques de força ficaram um pouco mais difíceis. Quando senhas e criptografia boas são utilizadas, os invasores geralmente tentam outros métodos de quebra de código, como engenharia social ou ataques man-in-the-middle.

Como se proteger contra ataques de força bruta

Os desenvolvedores que gerenciam sistemas de autorização podem tomar medidas como bloquear endereços de IP que geraram muitos logins com falha e incorporar uma espera ao seu software de verificação de senha. Até uma espera de alguns segundos pode prejudicar bastante a eficácia de um ataque de força bruta.

Os usuários de serviços da Web podem reduzir sua vulnerabilidade a ataques de força bruta escolhendo senhas mais longas e mais complexas. Também é recomendável habilitar a autenticação de dois fatores e usar senhas exclusivas para cada serviço. Se um invasor conseguir executar um ataque de força bruta à senha de um usuário para um determinado serviço, ele poderá tentar reciclar o mesmo login e senha em vários outros serviços mais utilizados. Esse método é conhecido como preenchimento de credenciais.

Os usuários também devem evitar inserir senhas ou informações pessoais, como números de cartão de crédito ou informações bancárias, em qualquer serviço da Web que não proteja seus dados com chaves de criptografia fortes.

O que é uma chave de criptografia?

Chaves de criptografia são strings aleatórias de bits geradas para embaralhar e desembaralhar dados. Depois que os dados são codificados, eles aparecem como uma string de caracteres aleatórios e misturados, até serem decodificados com a chave de criptografia correta. Assim como as senhas, as chaves de criptografia podem ser quebradas por meio de ataques de força bruta, mas hoje existem chaves de criptografia em uso que levariam tanto tempo para serem quebradas com o uso de computadores modernos que são consideradas boas e invioláveis.

Qual a diferença entre a criptografia de 128 bits e a de 256 bits?

Uma chave de criptografia mais longa é exponencialmente mais segura que uma mais curta. Por exemplo, em uma chave de criptografia de 128 bits, existem 2128 combinações possíveis que um invasor usando o método de ataque de força bruta precisaria testar. No caso de uma criptografia de 256 bits, um invasor precisaria testar 2256 combinações diferentes, o que exigiria 2128 vezes mais capacidade computacional para quebrar essa chave do que para quebrar uma chave de 128 bits! (2128 = 340.282.366.920.938,463.463.374.607.431.768.211.456 combinações possíveis).

Para se ter uma ideia do que esses números significam, um computador poderoso com capacidade para verificar trilhões de combinações por segundo ainda precisaria de bem mais do que seis decilhões de anos para quebrar uma chave de criptografia de 256 bits (seis decilhões correspondem ao número 1 seguido de 96 zeros).

Como as chaves de criptografia com números maiores de bits são praticamente imunes aos ataques de força bruta atuais, é recomendável que todos os serviços da Web que coletam informações dos usuários criptografem seus dados e suas comunicações usando chaves de criptografia de 256 bits. A Cloudflare usa a melhor criptografia TLS da categoria para prevenir ataques de força bruta e trabalhou em métodos à prova de mudanças futuras com relação à computação quântica.