Falhas do tipo CWE-332
5 resultadosEntropia insuficiente em gerador de números pseudo-aleatórios
Um gerador de números pseudo-aleatórios (PRNG) usa uma seed (semente) com pouca entropia — dados aleatórios insuficientes para inicializar o algoritmo. Isso torna a sequência de números previsível, comprometendo funções críticas como geração de tokens, chaves criptográficas e IDs de sessão.
Uma aplicação usa apenas o timestamp do sistema como seed para gerar tokens de autenticação. Como o relógio tem baixa resolução e o atacante conhece o horário aproximado, consegue enumerar todos os tokens possíveis e assumir contas de outros usuários.
Use PRNGs criptograficamente seguros (como `os.urandom()` em Python ou `SecureRandom` em Java) e inicialize-os com fontes de entropia do sistema operacional (`/dev/urandom` no Linux). Nunca use timestamp, PIDs ou valores previsíveis como seed.