2024年5月16日发(作者:浏览器加速器免费)
Fortify SCA
安装使用手册
编 号:GRG _YT-RDS-PD-D03_A.0.1
版 本:V1.0
发布日期:2011-5-5
文档历史记录
文档历史记录
文档历史记录
编号与名称
版本
发布日期
创建/修改说明
参与人员
版权声明
版权声明
第 I 页 共 IV 页
版权声明
本软件产品(包括所含的任何程序、图像、文档和随附的印刷材料),以及本软件产品
的任何副本的产权和著作权,均属广州广电运通金融电子股份有限公司所有。
您不得使用任何工具或任何方式对本软件产品进行反向工程,反向编译。
未经广州广电运通金融电子股份有限公司许可,您不得以任何目的和方式发
布本软件产品及任何相关资料的部分或全部,否则您将受到严厉的民事和刑事制裁,并在法
律允许的范围内受到最大可能的民事起诉。
第 II 页 共 IV 页
目录
目录
第 III 页 共 IV 页
目录
文档历史记录 ......................................................................................................................................... II
1. 产品说明 ............................................................................................................................................. 9
1.1.
特性说明 .................................................................................................................................... 10
1.2.
产品更新说明 ............................................................................................................................ 10
2. 安装说明 ........................................................................................................................................... 10
2.1.
安装所需的文件 ........................................................................................................................ 11
2.2.
F
ORTIFY
SCA支持的系统平台 ................................................................................................ 11
2.3.
支持的语言 ................................................................................................................................ 11
2.4.
F
ORTIFY
SCA的插件 ................................................................................................................ 12
2.5.
F
ORTIFY
SCA支持的编译器 .................................................................................................... 12
2.6.
F
ORTIFY
SCA在
WINDOWS
上安装 .......................................................................................... 13
2.7.
F
ORTIFY
SCA安装E
CLISPE
插件 ............................................................................................. 14
2.8.
F
ORTIFY
SCA在
LINUX
上的安装(要有
LINUX
版本的安装文件) ............................................ 14
2.9.
F
ORTIFY
SCA在U
NIX
上的安装(要有U
NIX
版本的安装文件) .............................................. 15
3. 使用说明 ........................................................................................................................................... 15
3.1.
F
ORTIFY
SCA
扫描指南 .............................................................................................................. 16
3.2.
分析F
ORTITFY
SCA扫描的结果 ............................................................................................... 21
4.故障修复 .......................................................................................................................................... 25
4.1使用日志文件去调试问题 .......................................................................................................... 26
4.2转换失败的信息 .......................................................................................................................... 26
4.3JSP的转换失败 ............................................................................................................................ 26
4.4
C/C++
预编译的头文件 .............................................................................................................. 27
第 IV 页 共 IV 页
前言
前言
第 V 页 共 IV 页
前言
Fortify SCA是目前业界最为全面的源代码白盒安全测试工具,它能精确定位到代码级
的安全问题,完全自动化的完成测试,最广泛的安全漏洞规则,多维度的分析源代码的
安全问题。
第 VI 页 共 IV 页
文档约定
第 VII 页共 IV 页
文档约定
文档约定
本手册使用以下约定, 以区分手册中其它部分。
约定
粗体字
表示含义
“粗体新宋体”:表示截图中的按钮或是选项。如:点击保存按纽
“右箭头”:用在两个或多个词语之间,表示分级,左边的内容是右边的
上一级。
如:文件→打开
→
“圆点”:表示同级的并列选项或是属性。
“粗体数字”:表示一个过程中步骤。
“警告”:说明需要注意的事项。
“提示”:表示附加的说明性文字。
1,2,3
编写约定
指编写用户手册的规范和注意事项,编写人员在手册完成后应删除该篇约定。
关于截图
为使叙述更加明确、简洁,应避免不必要的截图。指可以用语言叙述清楚其操
作方法的界面。如:拉菜单、快捷菜单等可以避免截图。
图片应尽量精准,不要留白边,和避免出现不相关的图标。如:输入法工具栏
等。
关于斜体字
表示可变化的名称或是术语,编写手册时应用具体内容替换。
关于说明
补充说明某一章/节中需描述的内容,提供了供参考的内容细则。手册编写完成后
应删除此部分内容。
关于示例
具体实例辅助说明某一章/节的内容范围和格式。
手册完成后应删除此部分内容。
关于分级
下分一级用圆点表示,具体分级设置请参照公司文档编写规范。
第 VIII 页 共 IV 页
产品名称及版本
用户使用手册
1. 产品说明
第 9 页 共 5 页
产品名称及版本
用户使用手册
1.
Fortify SCA(静态代码分析器)是组成Fortify360系列产品之一,SCA工作在开发阶段,
以用于分析应用程序的源代码是否存在安全漏洞。它不但能够发现只能在静态情况下才能发
现的新的漏洞,而且也能在测试和产品阶段验证已经发现的漏洞。
1.1. 特性说明
Fortify SCA主要的特性和优点如下:
1.业务最完整的静态代码分析器,以最大和最全面的安全编码规则为基础,而且这些规
则可以不断地进行更新,以适应新的软件安全漏洞
2.跨层跨语言地分析代码的漏洞产生,目前支持所有的主流开发语言
3.在确认安全漏洞上有十分高的准确性
4.可以精确地定位漏洞产生的全路径,方便开发人员对漏洞进行修复
5.支持多种软件开发平台
1.2. 产品更新说明
名称
Fortify SCA
版本
V2.0
发布日期 功能修改说明
2. 安装说明
第 10 页 共 5 页
产品名称及版本
用户使用手册
2.
2.1. 安装所需的文件
1.Fortify SCA的安装文件
2.Fortify license(即安装授权文件)
3.Fortify的规则库文件(可在线下载最新的规则库)
4.要安装插件的IDE (例如eclispe3.2,3.3;VS2003,2005;RAD7;RSD7)
2.2. Fortify SCA支持的系统平台
2.3. 支持的语言
第 11 页 共 5 页
产品名称及版本
用户使用手册
2.4. Fortify SCA的插件
2.5. Fortify SCA支持的编译器
第 12 页 共 5 页
产品名称及版本
用户使用手册
2.6. Fortify SCA在windows上安装
1.
2.
3.
4.
双击安装包中的Fortify-360-2[1].0-Analyzers_and_即可安
装
选择Fortify提供的授权文件所在路径(即安装包下的fotify_rule文件夹,该文件夹下
有e),点击‘NEXT’按钮
选择相应的安装路径,点击‘NEXT’按钮
选择相应的组件进行安装,在此处请注意,fortify默认不安装IDE插件,如果需要安
装相应的IDE插件,如图所示:在此处我选择了基于eclipse3.x,VS2005的插件(选
择安装VS的插件之前,得首先安装VS的IDE),然后点击‘NEXT’按钮
5.
6.
再点击‘NEXT’按钮即可完成安装
添加相应的规则库,可直接联网下载最新的规则库,或是将安装包下的fotify_rule
文件夹下rules_解压缩到fortify安装目录下的Coreconfigrules位置
第 13 页 共 5 页
产品名称及版本
用户使用手册
2.7. Fortify SCA安装Eclispe插件
2.8. Fortify SCA在linux上的安装(要有linux版本的安装文件)
第 14 页 共 5 页
产品名称及版本
用户使用手册
2.9. Fortify SCA在Unix上的安装(要有Unix版本的安装文件)
3. 使用说明
第 15 页 共 5 页
产品名称及版本
用户使用手册
3.
Fortify SCA扫描方式:
1.IDE插件方式
2.命令行
3.Audit Workbench扫描目录
4.与构建工具集成(ant ,makefile)
5.SCA build monitor(c/c++ windows only)
下面主要是介绍常用的两种扫描方式:IDE插件方式,以及命令行方式
3.1. Fortify SCA 扫描指南
3.1.1 Eclipse插件方式扫描
1.1首先你得正确安装fortify sca的插件,具体安装方法见前面所述的安装指南;安装
成功后的ide界面如图所示,会有一个
图标
1.2导入所要进行源码安全测试的项目,成功导入之后会显示以上界面右边的
Package Expl里面
1.3左键选中该项目,然后点击
,就可以进行扫描了;或者是右键点击该
项目,弹出选项菜单,选中Analyze source code of project就可以进
行扫描.
3.1.2 Audit Audit Workbench扫描目录
2.1首先在开始菜单->所有程序->Fortify Software->Fortify 360 v2.0->Audit
Workbench,启动Audit Workbench,界面如下
第 16 页 共 5 页
产品名称及版本
用户使用手册
2.2建议采用Advanced Scan,然后选中要扫描的目录,点击确定按钮即可扫描
3.1.3 命令行方式扫描
Java 命令行语法
这个主题描述了为Java 翻译源代码的Fortify SCA 命令语法。
基本的Java 命令行语法是:
sourceanalyzer -b
有了Java 代码, Fortify SCA 既可以仿效编译程序(它使得构造结合很方便),也
可以直接接受源
文件(它使命令行扫描更方便)。
注意:有关所有你能使用的带有sourceanalyzer 命令的选项,请查看第33 页的
“命令行选项”。
使Fortify SCA 仿效编译程序,输入:sourceanalyzer -b
[
直接传文件到Fortify SCA,输入:sourceanalyzer -b
[
这里:
Classpath 来用在Java 源代码中。Classpath 是一个构造目录和 jar 文件的列表。
格式和javac 所预期的相同(路径的冒号或独立的分号的列表)。你可以使用Fortify
SCA 文件说明符。-cp "build/classes:lib/*.jar"
注意:如果你没有使用选项来具体指定classpath, CLASSPATH 环境变量将被使
用。
文件说明符允许你容易地通过一个长文件列表到Fortify SCA 使用通配符。Fortify
SCA 能识别两种
第 17 页 共 5 页
产品名称及版本
用户使用手册
类型的通配符:'*' 匹配部分文件名 , '**' 递归地匹配目录。你可以指定一个或
更多的文件,一个或
更多的文件说明符,或文件和文件说明符的结合。
Java 命令行例子
在classpath 上用 翻译一个命名为 的文件,输入:
sourceanalyzer -b MyServlet -cp lib/
用lib 目录中所有jar 文件作为classpath 在src 目录中翻译所有的.java 文件:
sourceanalyzer -b MyProject -cp "lib/*.jar" "src/**/*.java"
当运行javac 编译程序时,翻译 文件:
sourceanalyzer -b mybuild javac -classpath
J2EE项目转换的简单示例
把项目的所有文件和库都放在一个目录下,运行下面的命令:
. sourceanalyzer -Xmx1000m -b pName -encoding "UTF-8" -cp "**/*.jar"
. sourceanalyzer -Xmx1000m -b pName -appserver weblogic -appserver-verion 9
–appserver-home “d:beawebloigcserverlib”-encoding "UTF-8" -cp "**/*.jar"
翻译JSP 文件
要翻译JSP 文件, Fortify SCA 需要JSP 文件遵循标准的Web Application Archive
(WAR) 设计格
式。如果你的源目录已经以WAR 格式组织了,那么你可以直接从源目录中翻译JSP
文件。如果情况
不是这样的,那么你需要展开应用程序并从展开目录中翻译你的JSP 文件。
如果你的JSP 文件使用了任何标签库,例如JSTL,确保库的jar 文件在
WEB-INF/lib 目录中。否
则JSP 编译程序将不处理标签库,可能产生错误的结果。
默认地,在翻译程序段期间, Fortify SCA 使用一个Jasper JSP 编译程序的版本
来编译JSP 文件到
Java 文件中去。
然而,如果你的web 应用程序是特别为了某个应用程序服务器而开发的,那么当
执行翻译时,你必
须为那个应用程序服务器使用JSP 编译程序。
为了支持它, Fortify SCA 提供了以下命令行选项:
• -appserver 支持变量:weblogic/websphere
• -appserver-home
有关Weblogic:到目录的路径包含server/lib 目录
有关WebSphere:到目录的路径包含bin/JspBatchCompiler 脚本
第 18 页 共 5 页
产品名称及版本
用户使用手册
• -appserver-version 支持变量:
Weblogic 版本7 和8
WebSphere 版本6
如果你在使用一个没有被列出来的应用程序服务器,使用默认内部Fortify JSP 编
译程序。
例如:sourceanalyzer -b my_buildid -cp "WEB-INF/lib/*.jar" "WEB-INF/**/*.jsp"
使用FindBugs
FindBugs() 是一个静态分析工具,它在Java 代码
中检测质量问题。你可以和Fortify SCA 一起使用FindBugs,结果会被合并到分析
结果文件中。与Fortify SCA 运行在Java 源文件中不同, FindBugs 运行在Java 字
节码中。因此,在项目中运行分析之前,你应该首先编译项目产生类文件。
为了示范如何与Fortify SCA 一起自动地运行FindBugs,编译例子代码,
,如下:
1. 定位到以下目录:
2. 输入以下命令并编译例子:
mkdir build
javac -d build
3. 用FindBugs 和Fortify SCA 扫描例子,如下:
sourceanalyzer -b findbugs_sample -java-build-dir build
sourceanalyzer -b findbugs_sample -scan -findbugs -f findbugs_
4. 检查早Fortify Audit Workbench 中的分析结果:
auditworkbench findbugs_
输出包括了以下问题类别:
• Object model violation
• Dead local store
• Equal objects must have equal hashcodes
• Useless self-assignment (2)
• Unwritten field (2)
翻译 C/C++ 代码
翻译一个文挡所用的基本命令行语法是:
sourceanalyzer -b
其中:
•
是 cl。
第 19 页 共 5 页
产品名称及版本
用户使用手册
•
C 和C++ 命令行举例
以下是一些简单的可用范例:
使用 gcc 编译器,翻译一个名为 helloworld.c 的文件,键入:
sourceanalyzer -b my_buildid gcc helloworld.c
结合 Make
你可以使用以下方法中的其中一项去结合Make 使用 Fortify SCA:
• 无入侵式的集成
• 入侵式的集成(修改一个Makefile 去调用Fortify SCA)
使用无入侵式的集成,运行以下命令:
sourceanalyzer -b
Fortify SCA 运行 make 命令。当make 调用了任意被 Fortify SCA 认作为是一个
编译器的命令,这个
命令就会被 Fortify SCA 处理。注意makefile 不会被修改。
这个构建集成的方法不局限于make。任何一个执行编译器处理的构建命令可以被
用到系统里去;只
要拿去运行一个构建的命令来替代以上命令中的'make' 部分。
如果不是已经存在的话,你可能必须为你的构建工具添加一个条目进
Core/config/ties。
比如,结合一个名为dobuild 的构建脚本,添加以下到ties 里去:
d
=essCompiler
注意: Fortify touchless build adapter 会表现异常,如果:
• 构建脚本给编译器调用了一个完整路径,或者如果构建脚本拒绝可执行搜索路
径。
• 构建脚本没有创建一个新的进程去运行编译器。许多Java 构造工具,包括Ant,
都以这种方式运行。
入侵式的集成, 运行以下命令:
修改一个makefile 去调用 Fortify SCA,代替任何一个链接,被调用到编译器,文
件,或者是
makefile 和Fortify SCA 里。这些工具在makefile 中一个特殊变量中被特别指明,
如以下范例所示:
CC=gcc
第 20 页 共 5 页
产品名称及版本
用户使用手册
CXX=g++
AR=ar
这个步骤可以像这些 makefile 里提及的的工具、Fortify SCA,和一些适当选项一
样简单。
CC=sourceanalyzer -b mybuild -c gcc
CXX=sourceanalyzer -b mybuild -c g++
AR=sourceanalyzer -b mybuild -c ar
VC6.0项目的转换与分析示例
.sourceanalyzer -b my_buildid –c msdev /Make /BUILD
.sourceanalyzer -b my_buildid –scan –f
3.2. 分析Fortitfy SCA扫描的结果
1. 审计结果的基本概念
审计:将Fortify SCA 扫描分析出来的结果中的漏洞进行审查,分析,定性,指导
开发人员进行漏洞的修复工作。
Hide/Suppress/Suspicious/Not An Issue四个的不同
Hide: 是将此漏洞不显示出来,在报告中也不显示出来
Suppress:是此漏洞不是问题,可以不用看的
Suspicious: 是审计的一个定性,这个问题有可能是真的,值得怀疑。
Not An Issue: 也是审计的一个定性,说明这一漏洞不是个问题。
2. 首先是将扫描结果导成后缀为fpr文件,然后用Audit WorkBench打开该文件,界面
如下所示
第 21 页 共 5 页
发布者:admin,转转请注明出处:http://www.yc00.com/xitong/1715828664a2677965.html
评论列表(0条)