Fortify SCA介绍
FortifySCA是一个静态的、白盒的源代码安全测试工具。主要包含五大引擎:数据流、语义、结构、控制流、配置流,通过五大引擎对应用软件的源代码进行静态的分析,分析的过程中与他特有的软件安全漏洞规则集进行全面的匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并整理成报告。扫描的结果包含详细的安全漏洞信息、安全知识说明、修复意见。
Fortify SCA引擎介绍:
l 数据量引擎:跟踪、记录并分析程序中的数据传递过程所产生的安全问题。
l 语义引擎:分析过程中不安全的函数,方法的使用的安全问题。
l 结构引擎:分析程序上下文环境、结构中的安全问题。
l 控制流引擎:分析程序特定时间、状态下执行操作指令的安全问题。
l 配置引擎:分析项目配置中的敏感信息和配置确实的安全问题。
Fortify SCA工作原理:
FortifySCA首先通过调用语言的编译器或者解释器把前端的语言代码(Java、C、C++等源代码)转换成一种中间媒体文件NST(Normal Syntax Trcc),将其原地阿妈之间的调用关系、执行环境、上下文等分析清楚。然后通过匹配所有规则库中的漏洞,若发现存在漏洞就抓取出来,显示在Fortify SCA扫描结果中。
Fortify SCA界面功能介绍如下:
Fortify SCA扫描结果界面介绍:
分析跟踪图标介绍:
Fortify SCA支持的平台:
支持的语言:
Fortify SCA使用:
在Fortify SCA界面通过源代码类型选择扫描项,出现如下界面:
选择需要扫描的源代码项目,确定后出现如下界面:
分别设置JDK版本及扫描结果保存路径。Next或直接Run Scan(后续步骤不需要设置的情况下)。
Next或直接Run Scan(后续步骤不需要设置的情况下)。
上述界面中可根据自己的项目的情况进行选择。
完成以上步骤后开始扫描,扫描时间根据项目大小决定。扫描结束后直接跳转到扫描结果界面,如下:
左侧显示分级漏洞信息与分析跟踪,中间则是项目扫描结果的摘要,统计扫描漏洞,右侧为漏洞修复建议,最下方为漏洞摘要、详细信息等。
通过左侧的分级漏动漏洞可定位到项目中具体的代码部分,漏洞详细信息与修复建议也会显示。
将(Group By)分组方式选择为按Category漏洞种类)分组,这也是最常用的分组方式,然后在下面对相应的漏洞进行定性。
报告导出:
可将扫描结果导出为PDF、XML或RTF格式,如下图: