Esses ataques podem ser usados contra qualquer tipo de criptografia, com vários graus de sucesso. Os ataques de força bruta tornam-se mais rápidos e mais eficazes a cada dia que passa, à medida que um hardware de computador mais novo e mais rápido é lançado.
Noções básicas de força bruta
Ataques de força bruta são simples de entender. Um invasor tem um arquivo criptografado - digamos, seu banco de dados de senhas LastPass ou KeePass. Eles sabem que esse arquivo contém dados que desejam ver e sabem que há uma chave de criptografia que o desbloqueia. Para descriptografá-lo, eles podem começar a tentar cada senha possível e ver se isso resulta em um arquivo descriptografado.
Eles fazem isso automaticamente com um programa de computador, de modo que a velocidade com que alguém pode criptografar a força bruta aumenta à medida que o hardware disponível do computador se torna mais e mais rápido, capaz de fazer mais cálculos por segundo. O ataque de força bruta provavelmente começaria com senhas de um dígito antes de passar para senhas de dois dígitos e assim por diante, experimentando todas as combinações possíveis até que uma delas funcione.
Um "ataque de dicionário" é semelhante e tenta palavras em um dicionário - ou uma lista de senhas comuns - em vez de todas as senhas possíveis. Isso pode ser muito eficaz, pois muitas pessoas usam essas senhas fracas e comuns.
Por que os atacantes não podem usar serviços da Web de força bruta
Há uma diferença entre ataques de força bruta on-line e off-line. Por exemplo, se um invasor quiser entrar brutalmente na sua conta do Gmail, ele poderá começar a tentar todas as senhas possíveis, mas o Google as interromperá rapidamente. Os serviços que fornecem acesso a essas contas limitarão as tentativas de acesso e banirão os endereços IP que tentarem efetuar login tantas vezes. Assim, um ataque contra um serviço on-line não funcionaria muito bem, pois muito poucas tentativas poderiam ser feitas antes que o ataque fosse interrompido.
Por exemplo, depois de algumas tentativas de login com falha, o Gmail mostrará uma imagem CATPCHA para confirmar que você não é um computador tentando senhas automaticamente. Eles provavelmente interromperão completamente suas tentativas de login se você conseguir continuar por tempo suficiente.
Hashing
Algoritmos hash fortes podem retardar ataques de força bruta. Essencialmente, os algoritmos de hashing executam trabalho matemático adicional em uma senha antes de armazenar um valor derivado da senha no disco. Se um algoritmo de hash mais lento for usado, será necessário milhares de vezes mais trabalho matemático para testar cada senha e diminuir drasticamente os ataques de força bruta. No entanto, quanto mais trabalho for necessário, mais trabalho um servidor ou outro computador terá que executar sempre que o usuário fizer login com sua senha. O software deve equilibrar a resiliência contra ataques de força bruta com o uso de recursos.
Velocidade de força bruta
Velocidade tudo depende do hardware. As agências de inteligência podem construir hardware especializado apenas para ataques de força bruta, assim como os mineradores de Bitcoin constroem seu próprio hardware especializado otimizado para mineração de Bitcoin. Quando se trata de hardware de consumo, o tipo mais eficaz de hardware para ataques de força bruta é uma placa de vídeo (GPU). Como é fácil experimentar muitas chaves de criptografia diferentes de uma só vez, muitas placas gráficas em execução em paralelo são ideais.
No final de 2012, a Ars Technica informou que um cluster de 25-GPU poderia quebrar cada senha do Windows com menos de 8 caracteres em menos de seis horas. O algoritmo NTLM usado pela Microsoft não era suficientemente resiliente. No entanto, quando o NTLM foi criado, levaria muito mais tempo para tentar todas essas senhas. Isso não foi considerado uma ameaça suficiente para a Microsoft fortalecer a criptografia.
A velocidade está aumentando e, em algumas décadas, podemos descobrir que mesmo os algoritmos criptográficos mais fortes e as chaves de criptografia que usamos hoje podem ser rapidamente quebrados pelos computadores quânticos ou qualquer outro hardware que estivermos usando no futuro.
Protegendo seus dados contra ataques de força bruta
Não há como se proteger completamente. É impossível dizer com que rapidez o hardware do computador será obtido e se algum algoritmo de criptografia que usamos hoje tem pontos fracos que serão descobertos e explorados no futuro. No entanto, aqui estão os princípios básicos:
- Mantenha seus dados criptografados protegidos onde invasores não podem acessá-los. Depois de terem seus dados copiados para o hardware, eles podem tentar ataques de força bruta contra eles em seu tempo livre.
- Se você executar qualquer serviço que aceite logins pela Internet, garanta que ele limita as tentativas de login e bloqueia as pessoas que tentam efetuar login com muitas senhas diferentes em um curto período de tempo. Geralmente, o software do servidor está configurado para isso, pois é uma boa prática de segurança.
- Use algoritmos de criptografia fortes, como o SHA-512. Certifique-se de que você não esteja usando algoritmos de criptografia antigos com fraquezas conhecidas e fáceis de descobrir.
- Use senhas longas e seguras. Toda a tecnologia de criptografia do mundo não vai ajudar se você estiver usando "senha" ou o sempre popular "hunter2".
Ataques de força bruta são algo para se preocupar ao proteger seus dados, escolhendo algoritmos de criptografia e selecionando senhas. Eles também são um motivo para continuar desenvolvendo algoritmos criptográficos mais fortes - a criptografia precisa acompanhar o quão rápido está sendo inutilizado por um novo hardware.