-
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 集成开发环境中的插件,便于开发者在编写代码过程中可以直接使用工具扫描代码,立刻识别代码安全漏洞,并立即根据建议修复,消除安全缺陷在最初的编码阶段,及早发现安全问题,降低安全问题的查找和修复的成本。
二、建议实施方案
根据目前的软件项目开发和软件测试状况,HP Fortify公司相信,HP Fortify完整的安全测试解决方案和多年的部署实施经验,一定能帮助客户解决软件安全的问题。
1.方案概要:
(1) 使用Fortify SCA建立软件源代码安全审计模式
(2) 产品部署及使用角色设置方案
2.方案目的:
本方案通过建立一套完整的安全测试审计制度,减少由不规范、不安全的编码而产生的安全性漏洞,来真正地帮助客户提高其IT应用系统的质量和安全性,提高源代码安全开发,测试及安全管理水平。
(一)Gate审计模式:
根据Fortify对客户目前软件开发项目流程的了解,结合Fortify多年来为全球客户成功实施部署的经验,Fortify 建议客户实施“Gate”模式的审计方式,即在验收测试阶段引入安全测试,大部分Fortify 的中国客户最初都是使用这种模式。具体如下:
“Gate”审计模式说明:
(1) 软件安全测试或审计人员通过代码版本控制器,把开发人员提交的项目代码的阶段版本,用Fortify SCA进行扫描分析,并给予审计。
(2) 审计人员将项目的审计结果报告于开发人员(或外包商)对其漏洞进行修复。
(3) 审计通过的项目进入下一阶段的其它测试或者正常阶段发布。
(4) 审计人员将每一次扫描审计的结果发布于Fortify 360 Server中,便于管理人员查看漏洞,了解项目漏洞程度,安全趋势等综合状况信息。同时,结合Fortify 360 Server 的Collaboration Module功能,开发人员(外包商),审计人员,安全管理人员可以通过Web方式查看到SCA的扫描结果以及审计状态等详细信息,方便对安全漏洞的查看,交流,沟通工作以及代码的修改。
(二)产品部署及角色设置方案:
HP Fortify 公司推荐采用Fortify SCA Suite产品,其主要组件包括有:
-
Fortify Source Code Analysis Engine(源代码分析引擎)
-
Fortify Secure Code rules:(软件安全代码规则集)
-
Fortify Audit Workbench (安全审计工作台)
-
Fortify Rules Editor (安全规则构建器)
-
Fortify 360 Server(软件安全综合管理平台)
这一套件产品可以较好地帮助客户完成软件安全开发,安全测试,漏洞信息发布,开发生命周期管理等工作,有效地协调各个部门人员,包括与外包商的开发人员的交流工作。提高工作效率。
根据实施部署方案,我们可以设定以下使用角色:
-
软件开发人员:客户或软件外包商的开发人员。
-
安全测试人员,主要从事使用Fortify SCA 对所有需要被测试项目的源代码进行安全测试。
-
安全审计人员:主要从事软件安全漏洞审计的人员,一般与安全测试人员为同一个人,主要对所有项目的漏洞进行审计和漏洞信息发布。
-
项目管理人员:主要从事软件安全测试事宜的管理,监督,以及与开发团队或外包商的协调工作。
根据实施部署方案,产品各个组件部署示意图如下:
示意图说明:
-
软件开发人员,负责软件的开发,并根据软件安全审计人员的审计结果,对漏洞进行修复。
-
软件测试人员,使用Fortify SCA对项目的源代码进行安全测试,产生测试结果,提交给软件安全审计人员。
-
软件安全审计人员使用Fortify Audit Workbench(简称:AWB)对Fortify SCA的扫描结果进行分析,审计。
三、HP Fortiy SCAs 实施时间计划表
HP Fortify 根据实施内容将本项目实施分为三个阶段,计划具体如下:
|
实施阶段
|
实施计划内容
|
时 间
|
|
1:产品部署
|
Fortify SCA产品的安装与调试
|
1 天
|
|
2:产品培训
|
Fortify SCA产品原理,使用方法,常见问题的处理方法等
|
2天
|
|
3:售后技术服务
|
Fortify SCA在后期使用过程中的技术服务
|
维保期内
|
四、HP Fortify SCA 部署按排
根据Fortify SCAs 产品部署图中所示,所需要的机器设备有:
(1)
测试/审计机,用于安装HP Fortify SCA 进行源代码扫描和进行对结果的审计。安全测试人员和审计人员使用。
(2)
结果发布服务器,用于安装HP Fortify 360 Server进行对测试结果的发布,和测试资产的保管。
2.机器设备及系统软件准备指南:
(1)测试/审计机, 安装HP Fortify SCA的机器要求如下:

CPU:2G及以上
内存:32位的设备中,内存>=2G, 64位设备中内存>=4G
硬盘:系统盘可用空间不可小于5G。
(2)结果发布服务器, 安装Fortify 360 Serve的机器要求如下:
系统平台:

CPU、内存与硬盘空间
CPU:2G及以上
内存:32位的设备中,内存>=2G, 64位设备中内存>=4G
硬盘:硬盘可用空间不小于100G。
三.安装准备指南
1.HP Fortify SCA的安装:
HP Fortify SCA 安装在专用的测试机器上,用于源代码安全测试。测试人员通过手动或者自动化地方式对项目的源代码进行扫描,产生扫描结果,在进行安全审计后将结果文件上传到HP Fortify 360 Server 上。测试机器在安装SCA前的准备如下:
-
系统平台:开发环境的实际需要来准备HP Fortify SCA安装的测试机器,客户项目的开发主要使用的操作系统平台为:Windows, Linux, HP-Unix。HP Fortify SCA可以分别安装在这些系统平台上,且每个平台只能安装一台机器。
-
编译器问题:HP Fortify SCA 支持的语言中,对于C/C++语言,我们需要考虑编译器的问题,测试机上需要配置SCA支持的编译器。
-
IDE:根据项目的需要,可以安装相应的IDE插件来启动扫描。
网络环境:该测试机器一定要可以访问项目的版本控制系统机器