Fallos del tipo CWE-332

5 resultados

Entropia insuficiente em gerador de números pseudoaleatórios

Ocorre quando um PRNG (gerador de números pseudoaleatórios) é inicializado com fonte de aleatoriedade fraca ou previsível, produzindo sequências que podem ser reproduzidas ou antecipadas por um atacante. Isso compromete qualquer mecanismo que dependa de imprevisibilidade, como tokens de sessão, chaves criptográficas ou nonces.

Ejemplo

Um sistema embarcado usa `rand()` com seed baseada apenas em timestamp para gerar tokens de autenticação. Como timestamps são públicos e incrementam em padrão previsível, um atacante observa um token válido e calcula os próximos com facilidade.

Cómo mitigar

Use geradores criptograficamente seguros como `/dev/urandom` (Linux), `SecureRandom` (Java), ou `secrets` (Python), e inicialize-os com fontes de entropia do SO (não manualmente com timestamp ou valores fixos). Para casos que exigem reprodutibilidade, documente claramente o propósito e restrinja o uso a não-segurança.