Weaknesses of type CWE-332

5 results

Entropia insuficiente em gerador de números pseudo-aleatórios

O gerador de números aleatórios usa uma fonte de entropia fraca ou previsível para inicializar suas sementes, resultando em sequências que podem ser reproduzidas ou adivinhadas por um atacante. Isso compromete criptografia, tokens de sessão e qualquer mecanismo que dependa de aleatoriedade real.

Example

Um aplicativo inicializa seu PRNG com o timestamp do sistema em milissegundos ou com um valor derivado apenas do PID do processo. Um atacante que conhece aproximadamente quando o sistema foi iniciado consegue gerar as mesmas sequências 'aleatórias' e forjar tokens de autenticação ou prever chaves criptográficas.

How to mitigate

Use geradores de números aleatórios criptograficamente seguros (como /dev/urandom no Linux, secrets em Python ou java.security.SecureRandom) e alimente-os com fontes de entropia do SO. Nunca use Math.random(), rand() ou sementes baseadas em tempo/PID para fins de segurança.