HPE Fortify Static Code Analyzer(SCA) for MAC 使用

  • 发表于
  • 周边

Fortify SCA

又称为Fortify 静态代码分析器,自动静态代码分析可帮助开发人员消除漏洞,并构建安全的软件。

HPE Security Fortify Static Code Analyzer (SCA) 被开发团队和安全专业人士用于分析应用源代码以解决安全问题。 SCA 识别软件安全漏洞的根源,并通过代码行修复指导提供准确的风险排名结果,从而使您的团队能够轻松地率先解决严重的问题。Fortify SCA使用教程是一款商业软件,被众多网络公司用于安全审计服务,目前官方提供免费试用申请。

Fortify_sca

支持审计语种:

  • ABAP/BSP
  • ActionScript/MXML (Flex)
  • ASP.NET, VB.NET, C# (.NET)
  • C/C++
  • Classic ASP (w/VBScript)
  • COBOL
  • ColdFusion CFML
  • HTML
  • Java (including Android)
  • JavaScript/AJAX
  • JSP
  • Objective-C
  • PHP
  • PL/SQL
  • Python
  • T-SQL
  • Ruby
  • Swift
  • Visual Basic
  • VBScript
  • XML

Fortify SCA静态分析原理

通过它的说明文档得知

Fortify SCA静态分析分两个阶段:

  1. Translation:把各种语言的源代码转为一种统一的中间语言代码。
  2. Analysis:根据中间代码分析代码漏洞,并得出报告。

Fortify有很多个语言转换器,但核心的静态分析引擎只有一套。

  1. 数据流分析器
  2. 控制流 分析器
  3. 语义分析器
  4. 结构分析器
  5. 配置分析器

Fortify SCA for mac

安装

  1. 解压HP_Fortify_SCA_and_Apps_xx_osx_x64.app.zip,安装HP_Fortify_SCA_and_Apps_xx_osx_x64.app
  2. 选择lience,如果试用版忽略;
  3. 安装简单,一路next即可。

使用

安装完后在Launchpad处见:

HP_Fortify_sca

其中Auditworkbench是工作主程序,打开它

Fortify SCA教程

在New Project处新建项目,如果你是JAVA项目,直接选Scan Java Project,如果不是JAVA项目选择高级扫描(Advanced Scan),后面的不截图了。

单独说下如果不是JAVA项目,在最后一步会有一个选项让你选择是否是j2ee,你要选择no,然后Scan。

Fortify SCA设置

开始扫描了,根据项目大小决定扫描的时间,结束后你就会看出截图一的报告,里边有详细的分析、实例、建议、关系结构等,还是蛮详细的,只是误报有点多。要一项一项来检查。

Fortify SCA使用常见问题

  • 规则库导入
    所有的扫描都是基于规则库进行的,因此,建立扫描任务的前提条件就是你需要把检查规则拷贝到HP_Fortify\HP_Fortify_SCA_and_Apps_xx\Core\config\rules文件夹下,拷贝后便为扫描建立了默认的规则库。另外,你也可以自定义规则,这些内容将会在以后逐一介绍。
  • 结果审计
    扫描的执行很简单,关键是对扫描结果进行review和audit,甄别出真正存在安全风险的代码,这类工具误报率都是很大的,通过执行HP_Fortify\HP_Fortify_SCA_and_Apps_3.80\bin\auditworkbench.cmd,使用审计工作台完成对原始结果的审计,最终可以导出安全报告和开发者报告。
  • 报表中文
    修改/Applications/HP_Fortify/HP_Fortify_SCA_and_Apps_xx/Core/config/fortify.properties中的com.fortify.locale=encom.fortify.locale=zh_CN