c# - 将应用程序缓存与 session 数据相结合时的信任边界违规

标签 c# asp.net session caching fortify

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

关于如何解决这个问题有什么想法吗?

最佳答案

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

然后,在应用程序需要保护的部分周围画一条虚线。该行中的所有内容都是您不必检查的内容...这些数据大概是由您开发人员创建的,否则它会被您的输入验证函数删除,并且您确定它只是这种数据你期望的。 (参见https://www.owasp.org/index.php/Data_Validation)

现在,缓存在哪里?

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

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

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

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

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

关于c# - 将应用程序缓存与 session 数据相结合时的信任边界违规,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8842708/

相关文章:

c# - 在 MVC 中显示文件夹中的所有图像。用一个foreach

c# - 如何调用WebService客户端?

c# - ASP.Net 的 String.Replace 在 Windows 7 工作站上运行时与在 Windows 2008 R2 服务器上运行时的行为不同

c# - 在 JavaScript 中编码字符串

css - 根据 Session 更改按钮类

javascript - 我该如何修复 : InvalidOperationException upon Session timeout in Ajax WebService call

c# - var 关键字与 Activator.CreateInstance?

c# - DataTrigger 当大于一个数

c# - 使用 Cookie 的购物车

c# - 在两个 Web 应用程序之间共享 session