Um ataque de força bruta é uma estratégia simples mas potente: um adversário tenta adivinhar sua senha testando automaticamente combinações até acertar. Com computadores modernos e infraestrutura em nuvem, um atacante pode testar bilhões de combinações por segundo contra um sistema desprotegido.
O Cenário do Ataque
Considere um servidor web que aceita tentativas de login ilimitadas. Um atacante pode:
- Usar bots para fazer milhares de requisições de login por minuto
- Testar senhas comuns (123456, password, admin, etc.)
- Usar dicionários com milhões de senhas comprometidas em vazamentos anteriores
- Paralelizar o ataque em múltiplos servidores para não deixar rastros
Se sua infraestrutura simplesmente compara a senha submetida com o hash armazenado em microsegundos, o atacante terá um caminho livre para testar combinações indefinidamente.
A Defesa Moderna: Derivação de Chave Lenta com Argon2
A solução está em tornar cada tentativa de login computacionalmente cara. Em vez de uma simples comparação de hash (que leva microssegundos), use um algoritmo de derivação de chave lenta como Argon2.
Como Argon2 Funciona
Argon2 é um algoritmo criptográfico que exige:
- Alto consumo de memória RAM: Típicamente 64-256 MB por computação
- Tempo de processamento: 100-500 milissegundos por operação
- Iterações configuráveis: Aumente a dificuldade conforme computadores ficam mais rápidos
Por Que Isso Para Ataques de Força Bruta?
Um atacante com uma GPU poderosa pode fazer 1 bilhão de hashes SHA-256 por segundo. Mas com Argon2:
- Cada tentativa consome 200 MS e 256 MB de RAM
- A mesma GPU agora consegue apenas 5 tentativas por segundo
- Um ataque que levaria 1 segundo contra SHA-256 agora leva 200 MILHÕES de segundos (6+ anos)
Implementação no AppCofre
O AppCofre usa Argon2id configurado com:
- Tempo: 13 iterações
- Memória: 65.536 KB (64 MB)
- Paralelismo: 1 thread
Essa configuração torna qualquer ataque de força bruta economicamente inviável, mesmo com infraestrutura sofisticada.
Proteções Adicionais
Além de Argon2, o AppCofre implementa:
- Rate limiting: Máximo 8 tentativas de login por minuto por IP
- Lockout progressivo: Bloqueios que aumentam exponencialmente (10 min, 30 min, 1h, 2h, 4h)
- Autenticação multifator (2FA): Código OTP adicional além da senha
Conclusão
Ataques de força bruta continuam sendo uma ameaça real. A boa notícia: implementar Argon2 e rate limiting torna esses ataques completamente impraticáveis. Se sua aplicação ainda usa algoritmos rápidos de hash, agora é o momento de migrar.