我们一直在代码中使用fortify工具来检查安全漏洞。我们能够解决大部分问题,但是有些问题我们发现很难解决。其中一个问题与访问控制数据库相关的问题有关.WE在我们的代码中使用hibernate标准从DB获取记录并且foritfy抱怨从DB获取并放入程序的数据来自不受信任的来源。下面是相同的代码
Criteria criteria = hibernatessn.createCriteria("com.vish.Status")
critiera.list() ------>Here were get an error saying "data enters program from an untrusted source".
我们是否有办法表明数据确实来自可靠来源?
由于
答案 0 :(得分:1)
简短回答 - 不。
稍微长一点的回答 - Fortify不知道您的数据源是否可信。您可能必须创建一个自定义过滤器来忽略该类别,或者只能忽略来自特定数据源的数据的自定义规则。
从历史上讲,如果你一遍又一遍地扫描同一个应用程序,我只记得当你看到它们时,这些发现是“不是问题”。
答案 1 :(得分:1)
您可以控制问题面板是否列出以下类型的问题:
抑制问题
如果您确定特定漏洞不是,也绝不会成为问题,则可以将问题标记为已取消。您可能还希望禁止针对可能不是高优先级或直接关注的特定类型问题的警告。例如,您可以抑制已修复的问题,或者在您的情况下 - 您不打算修复的问题。已解决的问题未包含在问题面板中显示的组总计中。当您想完全消除对问题的认识时,这种方法可能是最好的。
隐藏的问题
您可以暂时隐藏一组问题,以避免在您专注于其他地方时分散注意力。例如,您可以隐藏除分配给您的所有问题。分配用于解决您在视图中隐藏的问题的人员仍然可以访问它们。问题面板中显示的组总计包括隐藏的问题。如果在文件夹列表中发现要隐藏或指向另一个文件夹的问题,则可以使用过滤器向导创建新过滤器。过滤器向导显示具有过滤器匹配条件的所有属性。文件第29页HP_Fortify_Audit_Workbench_User_Guide_4.30;此文档与您的Fortify程序文件一起使用。如果您希望其他人意识到这些问题,那么这种替代方案可能更为可取,即使您忽略它也是如此。
删除了问题
这种替代方案与您的情况并不特别相关,但我为了完整起见而提出它。随着时间的推移,对项目进行多次扫描,问题通常会得到纠正或过时。在合并扫描结果时,静态代码分析器会标记在先前扫描中未发现的问题,但在最近的SCA分析结果中不再显示为已删除。已删除的问题不包含在问题面板中显示的组总计中。由于您不打算“修复”此问题,因此不会成为“已删除的问题”。 要显示或隐藏已抑制,隐藏和删除的问题,请使用“选项”菜单。您可以设置可见性过滤器以显示或隐藏问题。
答案 2 :(得分:0)
您无法说这是来自受信任的来源,但您可以创建自定义规则集以在即将进行的扫描中删除所有这些问题。