基本介绍
Fottify全名叫Fortify Source Code Analysis Suite,它是目前在全球使用最为广泛的软件源代码安全扫描,分析和软件安全风险管理软件,该软件多次荣获全球著名的软件安全大奖,包括InforWord, Jolt,SC Magazine,目前众多世界级的软件开发企业都在使用该软件方案在他们的开发团队中加速查找软件安全漏洞的效率,监视和
管理软件安全的风险
产品组成
Fortify SCA由内置的分析引擎、安全编码规则包、审查工作台、规则自定义编辑器和向导、IDE插件五部分组成
-
Fortify Source Code Analysis Engine(源代码分析引擎):采用数据流分析引擎,语义分析引擎,结构分析引擎,控制流分析引擎,配置分析引擎和特有的X-Tier跟踪器从不同的方面查看代码的安全漏洞,最大化降低代码安全风险
-
Fortify Secure Code rules:Fortify(软件安全代码规则集):采用国际公认的安全漏洞规则和众多软件安全专家的建议,辅助软件开发人员、安全人员和管理人员快速掌握软件安全知识、识别软件安全漏洞和修复软件安全漏洞,其规则的分类和定义被众多国际权威机构采用,包括美国国土安全(CWE)标准、OWASP,PCI等
-
Fortify Audit Workbench(安全审计工作台):辅助开发人员、安全审计人员对Fortify Source Code Analysis Engines(源代码分析引擎)扫描结果进行快速分析、查找、定位和区分软件安全问题严重级别
-
Fortify Rules Builder(安全规则构建器):提供自定义软件安全代码规则功能,满足特定项目环境和企业软件安全的需要
-
Fortify Source Code Analysis Suite plug in(Fortify SCA IDE集成开发插件):Eclipse, WSAD, Visual Studio集成开发环境中的插件,便于开发者在编写代码过程中可以直接使用工具扫描代码,立刻识别代码安全漏洞,并立即根据建议修复,消除安全缺陷在最初的编码阶段,及早发现安全问题,降低安全问题的查找和修复的成本
产品功能
源代码安全漏洞的扫描分析功能
-
自定义安全代码规则功能
-
独特的代码结构分析技术从代码的结构方面分析代码,识别代码结构不合理而带来的安全弱点和问题
-
独特的控制流分析技术精确地跟踪业务操作的先后顺序,发现因代码构造不合理而带来的软件安全隐患
-
独特的配置流分析技术分析软件的配置和代码的关系,发现在软件配置和代码之间,配置丢失或者不一致而带来的安全隐患
-
独特的数据流分析技术,跟踪被感染的、可疑的输入数据,直到该数据被不安全使用的全过程,并跨越整个软件的各个层次和编程语言的边界
-
独特的语义分析技术发现易于遭受攻击的语言函数或者过程,并理解它们使用的上下文环境,并标识出使用特定函数或者过程带来的软件安全的隐患
源代码安全漏洞的审计功能:
-
安全审计自动导航功能
-
安全问题查询和过滤功能
-
安全问题描述和推荐修复建议
-
安全问题定位和问题传递过程跟踪功能
-
安全漏洞扫描结果的汇总和问题优先级别划分功能
-
安全问题审计结果、审计类别划分和问题旁注功能
支持语言
FortifySCA支持的21语言:
-
asp.net
-
VB.Net
-
c#.Net
-
ASP
-
VBscript
-
VS6
-
java
-
JSP
-
javascript
-
HTML
-
XML
-
C/C++
-
PHP
-
T-SQL
-
PL/SQL
-
Action script
-
Object-C (iphone-2012/5)
-
ColdFusion5.0 – 选购
-
python -选购
-
COBOL – 选购
-
SAP-ABAP -选购
分析引擎
Foritfy SCA主要包含的五大分析引擎:
-
结构引擎:分析程序上下文环境,结构中的安全问题
-
语义引擎:分析程序中不安全的函数,方法的使用的安全问题
-
控制流引擎:分析程序特定时间,状态下执行操作指令的安全问题
-
配置引擎:分析项目配置文件中的敏感信息和配置缺失的安全问题
-
数据流引擎:跟踪,记录并分析程序中的数据传递过程所产生的安全问题
工作原理
Foritfy SCA首先调用语言的编译器或者解释器把前端语言(java c/c++)转换为一种中间媒体文件NST(Normal Syntax Tree)将其源代码的调用关系,执行环境,上下文等分析清楚,然后再通过上述的五大分析引擎从5个切面来分析这个NST,匹配所有规则库中漏洞特征,一旦发现漏洞就抓取下来,最后形成包含漏洞信息的FPR 结果文件,用AWB打开查看
安装流程
Step 1:下载安装包
Step 2:运行\\”Fortify_SCA_and_Apps_22.1.0_windows_x64.exe\\”安装Fortify SCA
完成安装:
工程扫描
Step 1:选择\\”Scan Java Project\\”选项扫描一个JAVA工程
Step 2:选择JAVA工程项目所使用的JDK版本和扫描结果展示
Step 3:进行扫描
Step 4:扫描结果如下
漏洞详情选项卡:
修复建议选项卡:
数据流图:
完成代码审计:
报告导出
OWASP TOP 10模板
OWASP TOP 10模板导出的报告可以很直观的反映当前扫描的工程中存在的OWASP TOP 10类型问题的总量,如果想要准确纤细的查阅哪些工程有哪些安全风险点则可以在扫描报告导出的时候勾选\\”Detailed Report\\”
导出报告如下:
Develop WorkBook模板
Develop WorkBookt模板很详细的导出了本次工程中涉及到源码安全问题,生成的报告可以很好的帮助研发人员对相应的安全漏洞问题进行定位和修复
导出后的报告如下:
文末小结
本篇文章介绍了如何使用Foritify扫描工程以及导出扫描结果到本地,并对常用的两个报告模板进行了简单的介绍说明~
原创文章,作者:七芒星实验室,如若转载,请注明出处:https://www.sudun.com/ask/34370.html