Fallos del tipo CWE-337
13 resultadosSementes previsíveis em gerador de números pseudo-aleatórios
Ocorre quando um PRNG é inicializado (seed) com valores que um atacante consegue prever ou reproduzir, como timestamp do sistema, PID do processo ou dados públicos. Isso compromete toda a sequência de números gerados, tornando-a previsível e anulando a segurança criptográfica esperada.
Um servidor gera tokens de sessão usando `Math.random()` ou `srand(time(NULL))` em C. Como o atacante conhece a hora aproximada e pode calcular o timestamp, consegue recriar a sequência exata e falsificar tokens válidos ou prever senhas geradas.
Use geradores de números aleatórios criptograficamente seguros do SO (ex: `/dev/urandom` em Linux, `SecureRandom` em Java, `secrets` em Python 3, `crypto.getRandomBytes()` em Node.js) e nunca inicialize PRNGs com dados públicos ou rastreáveis. Para operações de segurança, sempre delegue ao CSPRNG da plataforma.