代码安全审计(二)Fortify介绍及使用教程
简介
Fortify 是一个静态的、白盒的软件源代码安全测试工具。它通过内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等对应用软件的源代码进行静态的分析,通过与软件安全漏洞规则集进行匹配、查找,从而将源代码中存在的安全漏洞扫描出来,并可导出报告。扫描的结果中包括详细的安全漏洞信息、相关的安全知识、修复意见。
原理
-首先通过调用语言的编译器或者解释器把前端的语言代码(如JAVA,C/C++源代码)转换成一种中间媒体文件NST(Normal Syntax Tree),将其源代码之间的调用关系,执行环境,上下文等分析清楚。
-通过分析不同类型问题的静态分析引擎分析NST文件,同时匹配所有规则库中的漏洞特征,将漏洞抓取出来,然后形成包含详细漏洞信息的FPR结果文件,用AWB打开查看。
支持语言
1.asp.net
2.VB.Net
3.c#.Net
4.ASP
5.VS6
7.java
8.JSP
9.javascript
10.HTML
11.XML
12.C/C++
13.PHP
14.T-SQL
15.PL/SQL
16.Action script
17.Object-C (iphone-2012/5)
18.ColdFusion5.0 - 选购
19.python -选购
20.COBOL - 选购
21.SAP-ABAP -选购
扫描步骤
配置信息:HP Fortify SCA and Applications 4.10+WIN10(64位家庭版)
步骤1、打开fortify的工作台
360截图167203306411691.png
步骤2、如果源代码是java,选择Scan Java,源码是C#选择Scan VS,不知道的话选择Advanced Scan
2.png
步骤3、选择代码文件夹(不建议将文件夹拆开,如果文件夹过大,可要求开发人员拆开,按文件夹分开扫描)
3.png
步骤4、确定后,弹出通知框,如下图,选择java版本,点击OK
4.png
根据情况选择后,点击Scan,等待扫描
5.png
6.png
步骤5、扫描完成后的界面
360截图17690619437688.png
360截图17630328417186.png
tips:可通过菜单栏进行界面的组件的配置
360截图17001022376126.png
步骤6、对结果进行分析,填写分析结论及备注信息
360截图1700102097141113.png
步骤7、点击菜单栏的reports,选择审计规则,导出即可
360截图18250901395795.png