Falhas do tipo CWE-591
77 resultadosArmazenamento de dados sensíveis em memória sem proteção adequada
A aplicação mantém dados sensíveis (senhas, tokens, chaves criptográficas) em memória RAM sem mecanismos de proteção contra leitura não autorizada. Um atacante com acesso ao processo, ao dump de memória ou ao sistema operacional pode extrair esses dados diretamente da RAM, contornando as proteções do disco.
Uma aplicação Java armazena a senha do usuário em uma String comum durante toda a sessão. Como Strings são imutáveis em Java, mesmo após o login, a senha permanece na memória e pode ser recuperada via ferramentas de análise de heap ou dump de processo, mesmo que tenha sido 'limpa' da variável.
Use estruturas de dados específicas para dados sensíveis (como char[] ou ByteBuffer em Java, SecureString em .NET) que permitem zeragem explícita da memória. Implemente locking de páginas de memória via SO (mlock em Linux), minimize o tempo de retenção de sensíveis em RAM e utilize técnicas de ofuscação ou encriptação em tempo de execução quando viável.