堆检查安全漏洞

问题描述 投票:5回答:2

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

private char[] passwordLength;

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

java security static-code-analysis checkmarx
2个回答
7
投票

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

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

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


0
投票

请参阅security.stackexchange.com上的this answer,了解“在字符串中覆盖值char [更安全吗”。

TLDR:你做不了多少。

PS:这是一个姐妹堆栈交换网站,我不是在这里复制答案(也是,它太长了)。如果主持人不同意,可以随意复制/粘贴它。

© www.soinside.com 2019 - 2024. All rights reserved.