HP Fortify软件测试解决方案

   
HP Fortify软件测试解决方案
                                   
    HP Fortify公司的应用软件安全开发和管理方案为应用软件开发的组织和安全审计的人员和应用安全管理人员提供工具和确立最佳的应用软件安全实践和策略,帮助他们在软件开发的生命周期中以最短的时间、花最少的成本去识别和修复软件的安全隐患。其产品组成如下:

  一、HP Fortify软件源代码安全扫描、审计和管理方案

Fortify Source Code Analysis suite(SCA)包含:

 
  1. Fortify Source Code Analysis Engine(源代码分析引擎)
采用数据流分析引擎,语义分析引擎,结构分析引擎,控制流分析引擎,配置分析引擎和特有的X-Tier跟踪器从不同的方面查看代码的安全漏洞,最大化降低代码安全风险。
  1. Fortify Secure Code rules:Fortify  (软件安全代码规则集)
      采用国际公认的安全漏洞规则和众多软件安全专家的建议,辅助软件开发人员、安全人员和管理人员快速掌握软件安全知识、识别软件安全漏洞和修复软件安全漏洞。其规则的分类和定义被众多国际权威机构采用,包括美国国土安全(CWE)标准、OWASP,PCI。。。等。
  1. Fortify Audit Workbench (安全审计工作台)
       辅助开发人员、安全审计人员对Fortify Source Code Analysis Engines(源代码分析引擎)扫描结果进行快速分析、查找、定位和区分软件安全问题严重级别。
  1. Fortify Rules Builder     (安全规则构建器)
        提供自定义软件安全代码规则功能,满足特定项目环境和企业软件安全的需要。
  1. 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 对所有需要被测试项目的源代码进行安全测试。
  • 安全审计人员:主要从事软件安全漏洞审计的人员,一般与安全测试人员为同一个人,主要对所有项目的漏洞进行审计和漏洞信息发布。
  • 项目管理人员:主要从事软件安全测试事宜的管理,监督,以及与开发团队或外包商的协调工作。
根据实施部署方案,产品各个组件部署示意图如下:
 


 
示意图说明:
  1. 软件开发人员,负责软件的开发,并根据软件安全审计人员的审计结果,对漏洞进行修复。
  2. 软件测试人员,使用Fortify SCA对项目的源代码进行安全测试,产生测试结果,提交给软件安全审计人员。
  3. 软件安全审计人员使用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的机器要求如下:
  • 系统平台:



 
  • 编程语言:


  • 编译器



  • IDE

 

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



  • 数据库



CPU、内存与硬盘空间
CPU:2G及以上
内存:32位的设备中,内存>=2G, 64位设备中内存>=4G
硬盘:硬盘可用空间不小于100G。
三.安装准备指南
1HP 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插件来启动扫描。
网络环境:该测试机器一定要可以访问项目的版本控制系统机器