Em criptografia, um ataque de força bruta ou busca exaustiva de chaves é um ataque criptoanalítico que consiste em um invasor enviar muitas chaves ou senhas possíveis com a esperança de eventualmente adivinhar corretamente. Esta estratégia pode, teoricamente, ser usada para quebrar qualquer forma de criptografia que não seja teoricamente segura quanto à informação. No entanto, em um criptosistema adequadamente projetado, a chance de adivinhar a chave com sucesso é desprezível.
Ao quebrar senhas, este método é muito rápido quando usado para verificar todas as senhas curtas, mas para senhas mais longas, outros métodos, como o ataque de dicionário, são usados porque uma busca de força bruta demora muito. Senhas mais longas, frases de acesso e chaves possuem mais valores possíveis, tornandoas exponencialmente mais difíceis de quebrar do que as curtas devido à diversidade de caracteres.
Ataques de força bruta podem se tornar menos eficazes ao ofuscar os dados a serem codificados, tornando mais difícil para um invasor reconhecer quando o código foi quebrado, ou fazendo com que o invasor tenha mais trabalho para testar cada palpite. Uma das medidas da força de um sistema de criptografia é quanto tempo levaria teoricamente para um invasor montar um ataque de força bruta bem-sucedido contra ele.
Os ataques de força bruta são uma aplicação da busca de força bruta, a técnica geral de resolução de problemas de enumerar todos os candidatos e verificar cada um deles. O termo hammering (martelamento) é às vezes usado para descrever um ataque de força bruta, com anti-hammering para contramedidas.
Conceito básico Ataques de força bruta funcionam calculando cada combinação possível que poderia compor uma senha e testando-a para ver se é a correta. À medida que o comprimento da senha aumenta, o tempo médio necessário para encontrar a senha correta aumenta exponencialmente.
Limites teóricos thumb|A máquina de quebra de DES da Electronic Frontier Foundation de 1998, que custou 250.000 dólares, continha mais de 1.800 chips personalizados e podia quebrar uma chave DES por força bruta em poucos dias. A fotografia mostra uma placa de circuito do DES Cracker equipada com 64 chips Deep Crack usando ambos os lados.|252x252pxOs recursos necessários para um ataque de força bruta crescem exponencialmente com o aumento do tamanho da chave, e não linearmente. Embora as regulamentações de exportação dos EUA historicamente restringissem o comprimento das chaves para chaves simétricas de 56 bits (por exemplo, Data Encryption Standard), essas restrições não existem mais, portanto, algoritmos simétricos modernos normalmente usam chaves de 128 a 256 bits, computacionalmente mais fortes.
Existe um argumento físico de que uma chave simétrica de 128 bits é computacionalmente segura contra ataques de força bruta. O limite de Landauer implicado pelas leis da física estabelece um limite inferior para a energia necessária para realizar uma computação de por bit apagado em uma computação, onde T é a temperatura do dispositivo de computação em kelvins, k é a constante de Boltzmann, e o logaritmo natural de 2 é aproximadamente 0,693. Nenhum dispositivo de computação irreversível pode usar menos energia do que isso, mesmo em princípio. Assim, para simplesmente percorrer os valores possíveis para uma chave simétrica de 128 bits (ignorando a realização da computação real para verificá-la) exigiria, teoricamente, 2128 − 1 trocas de bits em um processador convencional. Se assumirmos que o cálculo ocorre próximo à temperatura ambiente (≈300 K), o Limite de Von Neumann-Landauer pode ser aplicado para estimar a energia necessária em ≈1018 joules, o que equivale a consumir 30 gigawatts de potência por um ano. Isso é igual a 30×109 W × 365 × 24 × 3600 s = 9,46×1017 J ou 262,7 TWh (cerca de 0,1% da produção anual mundial de energia). A computação real completa – verificando cada chave para ver se uma solução foi encontrada – consumiria muitas vezes essa quantidade. Além disso, este é simplesmente o requisito de energia para percorrer o espaço da chave; o tempo real necessário para inverter cada bit não é considerado, o qual é certamente maior que 0 (veja Limite de Bremermann).
No entanto, este argumento assume que os valores dos registradores são alterados usando operações convencionais de definição e limpeza, que inevitavelmente geram entropia. Foi demonstrado que o hardware computacional pode ser projetado para não encontrar essa obstrução teórica (veja computação reversível), embora não se saiba da construção de tais computadores.
thumb|left|As GPUs modernas são adequadas para as tarefas repetitivas associadas à quebra de senhas baseada em hardware. À medida que sucessores comerciais de soluções ASIC governamentais tornaram-se disponíveis, também conhecidos como ataques de hardware personalizados, duas tecnologias emergentes provaram sua capacidade no ataque de força bruta de certas cifras. Uma é a tecnologia moderna de unidade de processamento gráfico (GPU), a outra é a tecnologia arranjo de portas programáveis em campo (FPGA). As GPUs se beneficiam de sua ampla disponibilidade e benefício de preço-desempenho; as FPGAs de sua eficiência energética por operação criptográfica. Ambas as tecnologias tentam transportar os benefícios do processamento paralelo para ataques de força bruta. No caso das GPUs, algumas centenas, no caso das FPGAs, algumas mil unidades de processamento, tornando-as muito mais adequadas para quebrar senhas do que os processadores convencionais. Por exemplo, em 2022, 8 GPUs Nvidia RTX 4090 foram conectadas para testar a força da senha usando o software Hashcat, com resultados que mostraram que 200 bilhões de combinações de senhas NTLM de oito caracteres poderiam ser percorridas em 48 minutos.
Várias publicações nos campos de análise criptográfica provaram a eficiência energética da tecnologia FPGA atual; por exemplo, o computador COPACOBANA FPGA Cluster consome a mesma energia que um único PC (600 W), mas tem um desempenho de 2.500 PCs para certos algoritmos. Diversas empresas fornecem soluções de análise criptográfica FPGA baseadas em hardware, desde uma única placa FPGA PCI Express até computadores FPGA dedicados. A criptografia WPA e WPA2 foi atacada com sucesso por força bruta, reduzindo a carga de trabalho em um fator de 50 em comparação com as CPUs convencionais e algumas centenas no caso das FPGAs.
O Advanced Encryption Standard (AES) permite o uso de chaves de 256 bits. Quebrar uma chave simétrica de 256 bits por força bruta requer 2128 vezes mais poder computacional do que uma chave de 128 bits. Um dos supercomputadores mais rápidos em 2019 tinha uma velocidade de 100 petaFLOPS, o que teoricamente poderia verificar 100 trilhões (1014) de chaves AES por segundo (assumindo 1000 operações por verificação), mas ainda exigiria 3,67×1055 anos para exaurir o espaço de chave de 256 bits.
Uma suposição subjacente de um ataque de força bruta é que todo o espaço da chave foi usado para gerar as chaves, algo que depende de um gerador de números aleatórios eficaz, e que não há defeitos no algoritmo ou em sua implementação. Por exemplo, vários sistemas que originalmente pensava-se serem impossíveis de quebrar por força bruta foram, no entanto, quebrados porque o espaço de chave para pesquisar revelou-se muito menor do que o pensado originalmente, devido à falta de entropia em seus geradores de números pseudoaleatórios. Estes incluem a implementação do Netscape de Secure Sockets Layer (SSL) (quebrada por Ian Goldberg e David A. Wagner em 1995) e uma edição Debian/Ubuntu do OpenSSL descoberta em 2008 como sendo falha. Uma falta semelhante de entropia implementada levou à quebra do código da Enigma.
Reciclagem de credenciais A reciclagem de credenciais é a prática de hacking de reutilizar combinações de nome de usuário e senha coletadas em ataques de força bruta anteriores. Uma forma especial de reciclagem de credenciais é o passar o hash (pass the hash), onde credenciais de hash sem sal são roubadas e reutilizadas sem primeiro serem forçadas bruscamente.
Códigos inquebráveis Certos tipos de criptografia, por suas propriedades matemáticas, não podem ser derrotados por força bruta. Um exemplo disso é a criptografia de chave de uso único (one-time pad), onde cada bit de texto simples possui uma chave correspondente de uma sequência de bits de chave verdadeiramente aleatória. Uma string de 140 caracteres codificada em uma chave de uso único submetida a um ataque de força bruta eventualmente revelaria todas as strings de 140 caracteres possíveis, incluindo a resposta correta – mas de todas as respostas dadas, não haveria como saber qual era a correta. Derrotar tal sistema, como foi feito pelo Projeto Venona, geralmente baseia-se não na criptografia pura, mas em erros na sua implementação, como as chaves não sendo verdadeiramente aleatórias, chaves interceptadas ou erros cometidos pelos operadores.
Contramedidas No caso de um ataque offline, onde o invasor obteve acesso ao material criptografado, ele pode tentar combinações de chaves sem o risco de ser descoberto ou de sofrer interferência. No caso de ataques online, os administradores de diretórios e bancos de dados podem implantar contramedidas como limitar o número de tentativas de senha, introduzir atrasos de tempo entre tentativas sucessivas, aumentar a complexidade da resposta (por exemplo, exigir uma resposta CAPTCHA ou empregar autenticação multifator) e/ou bloquear contas após tentativas de login malsucedidas. Os administradores de sites podem impedir que um endereço IP específico tente mais do que um número predeterminado de tentativas de senha contra qualquer conta no site. Além disso, a estrutura MITRE D3FEND fornece recomendações estruturadas para defesa contra ataques de força bruta, implementando estratégias como filtragem de tráfego de rede, implantação de credenciais de isca e invalidação de caches de autenticação.
Ataque de força bruta reverso Em um ataque de força bruta reverso (também chamado de password spraying), uma única senha (geralmente comum) é testada contra vários nomes de usuário ou arquivos criptografados. O processo pode ser repetido para algumas senhas selecionadas. Em tal estratégia, o invasor não está visando um usuário específico.
Ver também Mineração de bitcoin Tamanho da chave (criptografia) Distributed.net Ataque de canal lateral Desafio de Fatoração RSA Secure Shell
Notas
Referências
Ligações externas
RSA-sponsored DES-III cracking contest Demonstration of a brute-force device projetado para adivinhar o código de acesso de iPhones bloqueados executando iOS 10.3.3 – Ensaio da equipe vencedora do desafio no livro The Code Book
Categoria:Criptografia Categoria:Ataques criptográficos