C# 将应用程序缓存与会话数据组合时的信任边界冲突

C# 将应用程序缓存与会话数据组合时的信任边界冲突,c#,asp.net,session,caching,fortify,C#,Asp.net,Session,Caching,Fortify,我需要获取应用程序缓存对象=>session对象,修改它并使用它。虽然一切正常,但我收到了来自Fortify的信任边界违反威胁(更多信息) 关于如何解决这个问题,有什么想法吗?解决信任边界冲突通常不是一件简单的事情。要真正理解这一点,您需要与您的安全审计员和架构师协商,并确定什么是信任边界。为此,请绘制应用程序的逻辑体系结构,包括缓存、最终用户和应用程序需要与之接口的所有其他系统 然后,在应用程序需要保护的部分周围画一条虚线。这条线内的一切都是你不必检查的东西。。。这些数据可能都是由开发人员创建

我需要获取应用程序缓存对象=>session对象,修改它并使用它。虽然一切正常,但我收到了来自Fortify的信任边界违反威胁(更多信息)


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

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

然后,在应用程序需要保护的部分周围画一条虚线。这条线内的一切都是你不必检查的东西。。。这些数据可能都是由开发人员创建的,或者是由输入验证函数删除的,您可以确定这些数据只是您所期望的数据类型。(见附件)

现在,缓存在哪里

  • 如果它位于信任边界内,则此信任边界冲突为假阳性,您可以创建一个筛选器,以便在源来自该文件或包时隐藏问题。您的过滤器将如下所示:

    类别:“信任边界冲突”包:com.example.mycachepackage

    类别:“信任边界冲突”文件:MyCacheObject.java

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


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

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

    然后,在应用程序需要保护的部分周围画一条虚线。这条线内的一切都是你不必检查的东西。。。这些数据可能都是由开发人员创建的,或者是由输入验证函数删除的,您可以确定这些数据只是您所期望的数据类型。(见附件)

    现在,缓存在哪里

  • 如果它位于信任边界内,则此信任边界冲突为假阳性,您可以创建一个筛选器,以便在源来自该文件或包时隐藏问题。您的过滤器将如下所示:

    类别:“信任边界冲突”包:com.example.mycachepackage

    类别:“信任边界冲突”文件:MyCacheObject.java

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


  • 一旦您为缓存机制定义了验证功能,您的安全审核员或Fortify顾问将编写一个自定义验证规则,使所有固定问题消失。

    规则ID是什么,“影响和可能性”位于“详细信息”选项卡底部?影响和可能性均为0.0您能解释一下这两个数字的含义吗?影响是一个从0到5的数字,这是强化安全研究小组对这次攻击的严重程度的估计。SQL注入=5,空冗余检查=0.2,等等。可能性也是0到5,取决于使用此攻击的频率以及规则在发现此问题时的准确性。规则ID是什么,“影响和可能性”位于“详细信息”选项卡底部?影响和可能性均为0.0您能解释一下这两个数字的含义吗?影响是一个从0到5的数字,这是强化安全研究小组对这次攻击的严重程度的估计。SQL注入=5,空冗余检查=0.2,等等。可能性也是0到5,取决于使用此攻击的频率以及规则在发现此问题时的准确性。