Fortify SCA 是 Fortify SSC 解决方案的一部分,通过获奖的静态分析,对源代码进行漏洞检测。包括识别安全漏洞的根本原因,将原因按严重程度排序,并就漏洞修复提供详细的代码行指导。
Fortify SCA 能帮助企业确保他们的软件是值得信赖的,减少发现和修复应用程序漏洞的成本,并为安全编码建立基础。
Fortify分析结果1、导航并查看分析结果
在您打开一个用来查看 Fortify Source Code Analyzer (Fortify SCA) 所检测到的问题的 Audit Workbench 项目之后,您可以在 Summary(摘要)面板中审计这些问题,以反映这些问题的严重级别,以及对该问题执行的安全分析状态。
系统会按审计结果的严重性以及准确性,对审计结果进行分组,并在默认情况下将问题识别为位于“Issues(问题)”面板中的 Hot(严重)列表内。单击 Warning(警告)和 Info(信息),查看分组在这些列表中的问题。
每个列表中的问题数量显示在相关按钮下面。
要检验与 Issues(问题)面板中所列问题相关的代码,选中该问题。源代码部分包含显示在源代码查看器面板中的问题,并在面板的标题中显示文件所包含问题的名称。
2、审计结果分析
本练习将会引导您浏览一下在练习 3 中使用 Fortify SCA 分析小程序产生的结果。请您检查 Fortify SCA 中各种不同分析器所发现的问题,并比较 Fortify SCA 生成的各种不同输出格式。
请考虑 UserServ.java 的内容:
Fortify扫描漏洞解决方案
Log Forging漏洞
1.数据从一个不可信赖的数据源进入应用程序。 在这种情况下,数据经由getParameter()到后台。
2. 数据写入到应用程序或系统日志文件中。 这种情况下,数据通过info() 记录下来。为了便于以后的审阅、统计数据收集或调试,应用程序通常使用日志文件来储存事件或事务的历史记录。根据应用程序自身的特性,审阅日志文件可在必要时手动执行,也可以自动执行,即利用工具自动挑选日志中的重要事件或带有某种倾向性的信息。如果攻击者可以向随后会被逐字记录到日志文件的应用程序提供数据,则可能会妨碍或误导日志文件的解读。的情况是,攻击者可能通过向应用程序提供包括适当字符的输入,在日志文件中插入错误的条目。如果日志文件是自动处理的,那么攻击者可以破坏文件格式或注入意外的字符,从而使文件无法使用。更阴险的攻击可能会导致日志文件中的统计信息发生偏差。通过或其他方式,受到破坏的日志文件可用于掩护攻击者的跟踪轨迹,甚至还可以牵连第三方来执行恶意行为。糟糕的情况是,攻击者可能向日志文件注入代码或者其他命令,利用日志处理实用程序中的漏洞。
Fortify SCA基本功能
1、能对软件源代码进行的检测和分析,准确的发现源代码中存在的安全漏洞和质量问题,并提供问题的有效解决建议。帮助开发人员快速的完成漏洞修复及提高应用的安全性。
2、软件能从多维度分析源代码,包括但不限于:
数据流引擎:跟踪, 记录并分析程序中的数据传递过程所产生的安全问题。
语义引擎:分析程序中不安全的函数, 方法的使用的安全问题。
结构引擎:分析程序上下文环境, 结构中的安全问题。
控制流引擎:分析程序特定时间, 状态下执行操作指令的安全问题。
配置引擎:分析项目配置文件中的敏感信息和配置缺失的安全问题