O que é Ataque de força bruta?
Um ataque de força bruta é um método de criptoanálise que tenta determinar uma senha, uma chave de criptografia ou outro segredo testando sistematicamente todas as combinações possíveis até encontrar o valor correto.
Também conhecido como: brute force, password cracking, exhaustive search
Os ataques de força bruta são a forma mais simples de ataque contra qualquer segredo: testar todas as possibilidades. Contra um PIN de 4 dígitos há 10.000 combinações, algo trivial para um computador. Contra uma senha de 8 caracteres em minúsculas há cerca de 209 bilhões de combinações, factível com hardware moderno. Contra uma chave de criptografia de 256 bits há 2^256 possibilidades, computacionalmente inviável com qualquer tecnologia que pudesse existir segundo as leis da física conhecidas.
Na prática, os atacantes raramente realizam ataques de força bruta puros contra as senhas. Em vez disso, usam variantes otimizadas: ataques de dicionário (testando senhas e palavras comuns), ataques baseados em regras (aplicando transformações comuns como adicionar números ou substituir caracteres), preenchimento de credenciais (usando senhas vazadas de outras violações) e ataques com tabelas arco-íris (usando buscas de hash pré-calculadas). Essas técnicas exploram a previsibilidade das senhas escolhidas por humanos para reduzir drasticamente o espaço de busca.
As defesas contra os ataques de força bruta operam em vários níveis. As senhas robustas e as chaves de criptografia longas tornam inviável a busca exaustiva. A limitação de taxa restringe o número de tentativas por período de tempo. As políticas de bloqueio de contas impedem o acesso após várias falhas repetidas. As funções de derivação de chave como PBKDF2 e bcrypt tornam cada tentativa computacionalmente custosa. O uso de salt impede os ataques de busca pré-calculada. Em conjunto, essas defesas elevam o custo de um ataque de força bruta para além de qualquer limiar prático.
Como o Vaulted usa Ataque de força bruta
O Vaulted se defende dos ataques de força bruta em várias camadas. A chave de criptografia AES-256-GCM é um valor aleatório de 256 bits, o que torna computacionalmente impossível a descriptografia por força bruta. Para os segredos protegidos com frase-senha, o PBKDF2 com 100.000 iterações encarece cada tentativa de adivinhar a frase-senha. A limitação de taxa no lado do servidor (10 criações por minuto, 30 visualizações por minuto por IP) impede as tentativas automatizadas rápidas contra a API. E os limites de visualizações garantem que um segredo seja excluído permanentemente após um pequeno número de acessos, fechando a janela para as tentativas repetidas de adivinhação.