堆检查安全漏洞

Gau*_*eva 9 java security static-code-analysis checkmarx

我已经针对checkmarx工具运行我的java应用程序以获取安全漏洞,并且它经常给出一个问题 - 堆检查,对于我使用字符数组的密码字段.除了指出密码字段的声明之外,它没有给出任何解释.

private char[] passwordLength;
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我,我还能找到解决这个问题的方法吗?

小智 7

堆检查是关于未加密存储在机器内存中的敏感信息,因此如果攻击者执行内存转储(例如,Heartbleed错误),则该信息会受到损害.因此,简单地保存该信息使其易受攻击.

可以通过以安全的方式存储这样的敏感信息来缓解这种情况,例如GuardedString对象而不是String或char数组,或加密它并擦除之后的原始短片.

有关更多信息,请参阅此CWE(描述C/C++,但与Java相同).