Enumeração de Usuários
A enumeração de usuários é uma técnica onde um atacante utiliza as respostas da aplicação para confirmar se um determinado identificador (e-mail, CPF, login) existe na base de dados.
Como ocorre?
Ocorre principalmente em fluxos de Login e Recuperação de Senha quando a aplicação retorna mensagens diferentes para casos de sucesso e falha parcial.
- Exemplo de Erro: "Este e-mail não está cadastrado" vs "Senha incorreta para este e-mail".
O Risco
Ao descobrir quais e-mails estão cadastrados, o atacante pode:
- Realizar ataques de força bruta direcionados.
- Realizar ataques de Engenharia Social (Phishing) fingindo ser a plataforma.
- Obter informações de privacidade (ex: confirmar se uma pessoa usa um site de saúde específico).
Como fazer vs Como não fazer
✅ Como fazer
- Utilize mensagens de erro genéricas e idênticas: "E-mail ou senha inválidos".
- No fluxo de recuperação de senha, retorne sempre a mesma mensagem: "Se o e-mail estiver cadastrado, você receberá as instruções em instantes".
- Tente manter o tempo de resposta da API constante, independente do usuário existir ou não (evitando ataques de timing).
❌ Como não fazer
- Não destaque qual campo (usuário ou senha) foi o responsável pela falha de autenticação.
- Não utilize códigos de status HTTP diferentes (ex: 404 para usuário inexistente e 401 para senha errada) no fluxo de login.
- Não exiba sugestões como "Você quis dizer usuário_x@gmail.com?" em telas públicas.