我在 Fortify SourceAnalyzer 中看到以下警告,用于我的类,它实现了ISerializer
接口IDeSerializer
:-
“缺少 SecurityManager 检查:可序列化”。
这是一个安全漏洞,因为如果您正在序列化一些敏感数据并在类的构造函数中放置了安全管理器检查以避免未经检查地创建新对象实例。您必须覆盖 write 方法并将相同的安全管理器检查放入 write 方法中。(因为有些人仍然可以从序列化字节创建一个新实例,因为没有 java 控制从序列化字节创建的对象,它只会反序列化这些字节,所以避免的唯一方法是在写入中放置相同的安全管理器检查方法)。
如果我正在序列化一些敏感数据并将安全管理器检查放在构造函数中,上述解释就很好了。但是,如果我有不敏感的数据并且我想在没有任何安全管理器检查构造函数的情况下对其进行序列化。我仍然从 Fortify 报告中得到了上述警告。我不确定如何消除此警告,这是 Fortify 工具中的错误还是我遗漏了什么?
注意:- 我不希望任何安全管理器检查我的构造函数。