Fallos del tipo CWE-339

2 resultados

Espaço pequeno de sementes em gerador pseudo-aleatório

A fraqueza ocorre quando um gerador de números pseudo-aleatórios (PRNG) é inicializado com um conjunto muito pequeno de possíveis sementes, reduzindo drasticamente a entropia inicial. Um atacante que conhece ou consegue adivinhar a semente pode prever toda a sequência de números 'aleatórios' gerados, comprometendo criptografia, tokens de sessão, IDs únicos ou qualquer mecanismo que dependa dessa aleatoriedade.

Ejemplo

Um sistema de autenticação usa um PRNG inicializado apenas com a hora do sistema em segundos como semente para gerar tokens de reset de senha. Como existem apenas ~86.400 valores possíveis por dia, um atacante consegue testar todas as sementes viáveis em poucos segundos e forjar tokens válidos.

Cómo mitigar

Use uma fonte de entropia de alta qualidade para inicializar o PRNG, como /dev/urandom no Linux, funções criptográficas do SO (Windows BCRYPT), ou bibliotecas modernas (Java SecureRandom, Python secrets). Combine múltiplas fontes de incerteza (tempo do sistema, estados internos, dados do SO) ao invés de uma única sembiante fraca.