Falhas do tipo CWE-336

3 resultados

Mesma seed em gerador de números pseudo-aleatórios

Quando um PRNG é inicializado sempre com a mesma seed (valor inicial), ele produz a mesma sequência de números, comprometendo qualquer sistema que dependa de aleatoriedade criptográfica ou de segurança. Tokens, chaves de sessão e nonces gerados dessa forma se tornam previsíveis para um atacante.

Exemplo

Uma aplicação inicializa seu gerador de tokens com a data do dia (ex: seed = YYYYMMDD). Como a seed muda apenas uma vez por dia, todos os tokens gerados no mesmo dia são derivados da mesma sequência, permitindo que um atacante que descubra um token gere todos os outros válidos daquele período.

Como mitigar

Use uma seed verdadeiramente aleatória ou obtida de uma fonte segura (ex: /dev/urandom, SecureRandom do Java, secrets do Python) a cada inicialização. Para operações críticas, prefira uma CSPRNG nativa em vez de implementar seu próprio PRNG.