Fallos del tipo CWE-340
50 resultadosGeração de números ou identificadores previsíveis
Quando um software gera números aleatórios, tokens, IDs de sessão ou sementes criptográficas de forma previsível ou com entropia insuficiente, um atacante consegue adivinhar ou reproduzir esses valores. Isso compromete mecanismos de segurança que dependem de imprevisibilidade, como autenticação, autorização e proteção de estado.
Um sistema gera tokens de sessão baseado apenas no timestamp atual (ex: `token = hash(data_hora)`). Um atacante observa alguns tokens legítimos, identifica o padrão temporal e forja um token válido para sequestrar a sessão de outro usuário.
Use sempre um gerador de números aleatórios criptograficamente seguro (ex: `java.security.SecureRandom`, `/dev/urandom`, `secrets` em Python) e alimentado com entropia de qualidade do sistema operacional. Nunca use `Math.random()`, `rand()` simples ou timestamps como base para tokens ou IDs sensíveis.