包含敏感数据的可序列化类

我对项目进行了安全扫描,并遇到以下问题-

  

包含敏感数据的可序列化类

解决方案是

  

在Java中,显式定义最终的writeObject()以防止序列化。这是推荐的解决方案。定义writeObject()函数以引发显式拒绝序列化的异常。

扫描中指出的问题之一:

Map<String,String> creditCardDetails;

我怀疑我们能否做到这一点?实际上,我们可能要求对象进行序列化并通过网络传递。我无法进行加密。就时间而言,这可能也很昂贵。

我们可以为此进行讨论吗?

  1. 如何执行此操作?

  2. 在什么情况下我们可以这样做?

  3. 还有其他解决方法吗?

herichcq 回答:包含敏感数据的可序列化类

  

我怀疑我们能否做到这一点?实际上,我们可能要求对象进行序列化并通过网络传递。我无法进行加密。就时间而言,这可能也很昂贵。

如果您通过不安全的渠道传递客户的信用卡详细信息,则会使客户面临财务风险。这是严重的信任破坏,在许多法律辖区中可能更糟。

如果随后发现您的系统泄漏了信用卡信息,则您的客户可能会起诉您。如果提起诉讼,但由于故意的设计决定而导致您发现信用卡信息泄露,则希望对您/您的公司判给惩罚性损害赔偿,赔偿额远远超过实际损失给您的客户。

只有两种安全的解决方案:

  1. 在传输信用卡信息和其他敏感信息时使用 strong 加密。性能下降是经商的成本。如果成本太高,那就别忙了!

  2. 不传输信用卡信息。

请注意,存储信用卡详细信息也有潜在的风险。如果您弄错了并且存在漏洞,那也是诉讼领域。

这可能不是您/您的老板想要听到的,但您/他们需要听到它。

本文链接:https://www.f2er.com/2912029.html

大家都在问