gpt4 book ai didi

java - "Missing SecurityManager Check : Serializable": Fortify SourceAnalyzer

转载 作者:行者123 更新时间:2023-11-29 05:49:51 24 4
gpt4 key购买 nike

我在我的类的 Fortify SourceAnalyzer 中看到以下警告,它实现了 ISerializerIDeSerializer 接口(interface):-

“缺少 SecurityManager 检查:可序列化”。

这是一个安全漏洞,因为如果您正在序列化一些敏感数据并在类的构造函数中放置安全管理器检查以避免未经检查地创建新对象实例。您必须重写 write 方法并将相同的安全管理器检查也放入 write 方法中。 (因为有些人仍然可以从序列化字节创建一个新实例,因为没有 java 控制从序列化字节创建的对象,它只会反序列化这些字节,所以唯一避免的方法是将相同的安全管理器检查写入方法)。

如果我正在序列化一些敏感数据并在构造函数中放置了安全管理器检查,那么上面的解释是完全正确的。但是如果我有不敏感的数据并且我想在没有任何安全管理器的情况下在构造函数中检查它来序列化它。我仍然从 Fortify 报告中收到上述警告。我不确定如何消除此警告,这是 Fortify 工具中的错误还是我遗漏了什么?

注意:- 我不想让任何安全管理器检查我的构造函数。

最佳答案

我从 Fortify 得到的解释有些不同,因为这个问题通常不是指 write,而是 read(反序列化)。背景是在反序列化数据时不会调用构造函数,因为运行时负责从序列化数据中初始化成员,因此当您的构造函数中有 SecurityManager 时,它不会在创建实例时被考虑通过反序列化。

无论如何,对于你的问题,如果你已经分析了这个问题并得出它不是问题的结论,你可以在审核问题时将其标记为这样。这在 Fortify SSC(中央强化服务器)和 Audit Workbench (AWB) 中都是可能的。在 Fortify SSC 中,转到您的问题列表,针对特定问题选择“查看详细信息”,然后在左下角选择“分析:不是问题”。 AWB 中存在类似的选项。

如果您正在进行后续扫描并将它们上传到服务器(或使用 AWB 合并它们),Fortify 会识别出此问题已经过审核并早先标记为“不是问题”,并保留“不是问题”信息。

关于java - "Missing SecurityManager Check : Serializable": Fortify SourceAnalyzer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14355699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com