2

我需要获取应用程序缓存对象 => 会话对象,对其进行修改并使用它。虽然一切正常,但我收到了来自 Fortify 的信任边界违规威胁(更多信息)https://www.fortify.com/vulncat/en/vulncat/sql/trust_boundary_violation.html

有想法该怎么解决这个吗?

4

1 回答 1

4

信任边界违规通常不是一件容易解决的事情。要真正理解这一点,您需要与您的安全审计员和架构师协商并确定什么是信任边界。为此,请绘制应用程序的逻辑架构,包括缓存、最终用户和应用程序需要与之交互的所有其他系统。

然后,在需要保护的应用程序部分周围画一条虚线。此行中的所有内容都是您不必检查的内容...所有数据可能是由您开发人员创建的,或者它已被您的输入验证功能清除并且您确定它只是那种数据你期望。(见https://www.owasp.org/index.php/Data_Validation

现在,缓存在哪里?

  1. 如果它在信任边界内,则此信任边界违规是误报,您可以创建一个过滤器,以便如果源来自该文件或包,问题将被隐藏。您的过滤器看起来像这样:

    类别:“违反信任边界”包:com.example.mycachepackage

    或者

    类别:“违反信任边界”文件:MyCacheObject.java

  2. 如果缓存在信任边界之外,那么假设攻击者可能使用缓存作为攻击您的程序或用户的机制。然后,每次将数据放入缓存或从缓存中取出任何内容时,您都必须检查所有数据。

一旦您为缓存机制定义了验证函数,您的安全审计员或 Fortify 顾问将编写一个自定义验证规则,该规则将使所有已修复的问题消失。

于 2012-01-20T15:57:43.877 回答