ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:1.88MB ,
资源ID:9157224      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9157224.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FortifySCA安装使用手册.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FortifySCA安装使用手册.docx

1、FortifySCA安装使用手册Fortify SCA 安装使用手册前言Fortify SCA是目前业界最为全面的源代码白盒安全测试工具,它能精确定位到代码级的安全问题,完全自动化的完成测试,最广泛的安全漏洞规则,多维度的分析源代码的安全问题。文档约定本手册使用以下约定, 以区分手册中其它部分。约定表示含义粗体字“粗体新宋体”:表示截图中的按钮或是选项。如:点击保存按纽“右箭头”:用在两个或多个词语之间,表示分级,左边的内容是右边的上一级。如:文件打开“圆点”:表示同级的并列选项或是属性。1,2,3“粗体数字”:表示一个过程中步骤。“警告”:说明需要注意的事项。“提示”:表示附加的说明性文字。

2、编写约定指编写用户手册的规范和注意事项,编写人员在手册完成后应删除该篇约定。关于截图为使叙述更加明确、简洁,应避免不必要的截图。指可以用语言叙述清楚其操作方法的界面。如:拉菜单、快捷菜单等可以避免截图。图片应尽量精准,不要留白边,和避免出现不相关的图标。如:输入法工具栏等。关于斜体字表示可变化的名称或是术语,编写手册时应用具体内容替换。关于说明补充说明某一章/节中需描述的内容,提供了供参考的内容细则。手册编写完成后应删除此部分内容。关于示例具体实例辅助说明某一章/节的内容范围和格式。手册完成后应删除此部分内容。关于分级下分一级用圆点表示,具体分级设置请参照公司文档编写规范。1. 产品说明For

3、tify SCA(静态代码分析器)是组成Fortify360系列产品之一,SCA工作在开发阶段,以用于分析应用程序的源代码是否存在安全漏洞。它不但能够发现只能在静态情况下才能发现的新的漏洞,而且也能在测试和产品阶段验证已经发现的漏洞。1.1. 特性说明Fortify SCA主要的特性和优点如下:1.业务最完整的静态代码分析器,以最大和最全面的安全编码规则为基础,而且这些规则可以不断地进行更新,以适应新的软件安全漏洞2.跨层跨语言地分析代码的漏洞产生,目前支持所有的主流开发语言3.在确认安全漏洞上有十分高的准确性4.可以精确地定位漏洞产生的全路径,方便开发人员对漏洞进行修复5.支持多种软件开发平

4、台1.2. 产品更新说明名称版本发布日期功能修改说明Fortify SCAV2.02. 安装说明2.1. 安装所需的文件1Fortify SCA的安装文件2Fortify license(即安装授权文件)3Fortify的规则库文件(可在线下载最新的规则库)4要安装插件的IDE (例如eclispe3.2,3.3;VS2003,2005;RAD7;RSD7)2.2. Fortify SCA支持的系统平台2.3. 支持的语言2.4. Fortify SCA的插件2.5. Fortify SCA支持的编译器2.6. Fortify SCA在windows上安装1双击安装包中的Fortify-360

5、-21.0-Analyzers_and_Apps-Windows-x86.exe即可安装2选择Fortify提供的授权文件所在路径(即安装包下的fotify_rule文件夹,该文件夹下有fortify.license),点击NEXT按钮3选择相应的安装路径,点击NEXT按钮4选择相应的组件进行安装,在此处请注意,fortify默认不安装IDE插件,如果需要安装相应的IDE插件,如图所示:在此处我选择了基于eclipse3.x,VS2005的插件(选择安装VS的插件之前,得首先安装VS的IDE),然后点击NEXT按钮5再点击NEXT按钮即可完成安装6添加相应的规则库,可直接联网下载最新的规则库,

6、或是将安装包下的fotify_rule文件夹下rules_ZH.rar解压缩到fortify安装目录下的Coreconfigrules位置7安装完成后把系统时间改成2008年,方可正常使用.2.7. Fortify SCA安装Eclispe插件2.8. Fortify SCA在linux上的安装(要有linux版本的安装文件)2.9. Fortify SCA在Unix上的安装(要有Unix版本的安装文件) 3. 使用说明Fortify SCA扫描方式:1IDE插件方式2命令行3Audit Workbench扫描目录4及构建工具集成(ant ,makefile)5SCA build monito

7、r(c/c+ windows only)下面主要是介绍常用的两种扫描方式:IDE插件方式,以及命令行方式3.1. Fortify SCA 扫描指南3.1.1Eclipse插件方式扫描1.1首先你得正确安装fortify sca的插件,具体安装方法见前面所述的安装指南;安装成功后的ide界面如图所示,会有一个图标1.2导入所要进行源码安全测试的项目,成功导入之后会显示以上界面右边的Package Expl里面1.3左键选中该项目,然后点击,就可以进行扫描了;或者是右键点击该项目,弹出选项菜单,选中Analyze source code of project就可以进行扫描.3.1.2Audit A

8、udit Workbench扫描目录2.1首先在开始菜单-所有程序-Fortify Software-Fortify 360 v2.0-Audit Workbench,启动Audit Workbench,界面如下2.2建议采用Advanced Scan,然后选中要扫描的目录,点击确定按钮即可扫描3.1.3命令行方式扫描Java 命令行语法这个主题描述了为Java 翻译源代码的Fortify SCA 命令语法。基本的Java 命令行语法是:sourceanalyzer -b -cp 有了Java 代码, Fortify SCA 既可以仿效编译程序(它使得构造结合很方便),也可以直接接受源文件(它

9、使命令行扫描更方便)。注意:有关所有你能使用的带有sourceanalyzer 命令的选项,请查看第33 页的“命令行选项”。使Fortify SCA 仿效编译程序,输入:sourceanalyzer -b javac 直接传文件到Fortify SCA,输入:sourceanalyzer -b -cp |这里:是传到编译程序的选项。-cp 具体指定Classpath 来用在Java 源代码中。Classpath 是一个构造目录和 jar 文件的列表。格式和javac 所预期的相同(路径的冒号或独立的分号的列表)。你可以使用Fortify SCA 文件说明符。-cp build/classes

10、:lib/*.jar注意:如果你没有使用选项来具体指定classpath, CLASSPATH 环境变量将被使用。 | 文件说明符允许你容易地通过一个长文件列表到Fortify SCA 使用通配符。Fortify SCA 能识别两种类型的通配符:* 匹配部分文件名 , * 递归地匹配目录。你可以指定一个或更多的文件,一个或更多的文件说明符,或文件和文件说明符的结合。Java 命令行例子在classpath 上用j2ee.jar 翻译一个命名为MyServlet.java 的文件,输入:sourceanalyzer -b MyServlet -cp lib/j2ee.jar MyServlet.

11、java用lib 目录中所有jar 文件作为classpath 在src 目录中翻译所有的.java 文件:sourceanalyzer -b MyProject -cp lib/*.jar src/*/*.java当运行javac 编译程序时,翻译MyCode.java 文件:sourceanalyzer -b mybuild javac -classpath libs.jar MyCode.javaJ2EE项目转换的简单示例把项目的所有文件和库都放在一个目录下,运行下面的命令:. sourceanalyzer -Xmx1000m -b pName -encoding UTF-8 -cp *

12、/*.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 文件。如果情况不是这样的,那么你需要展开应用程序并从展开目录中翻译你

13、的JSP 文件。如果你的JSP 文件使用了任何标签库,例如JSTL,确保库的jar 文件在 WEB-INF/lib 目录中。否则JSP 编译程序将不处理标签库,可能产生错误的结果。默认地,在翻译程序段期间, Fortify SCA 使用一个Jasper JSP 编译程序的版本来编译JSP 文件到Java 文件中去。然而,如果你的web 应用程序是特别为了某个应用程序服务器而开发的,那么当执行翻译时,你必须为那个应用程序服务器使用JSP 编译程序。为了支持它, Fortify SCA 提供了以下命令行选项: -appserver 支持变量:weblogic/websphere -appserve

14、r-home有关Weblogic:到目录的路径包含server/lib 目录有关WebSphere:到目录的路径包含bin/JspBatchCompiler 脚本 -appserver-version 支持变量:Weblogic 版本7 和8WebSphere 版本6如果你在使用一个没有被列出来的应用程序服务器,使用默认内部Fortify JSP 编译程序。例如:sourceanalyzer -b my_buildid -cp WEB-INF/lib/*.jar WEB-INF/*/*.jsp使用FindBugsFindBugs() 是一个静态分析工具,它在Java 代码中检测质量问题。你可以

15、和Fortify SCA 一起使用FindBugs,结果会被合并到分析结果文件中。及Fortify SCA 运行在Java 源文件中不同, FindBugs 运行在Java 字节码中。因此,在项目中运行分析之前,你应该首先编译项目产生类文件。为了示范如何及Fortify SCA 一起自动地运行FindBugs,编译例子代码, Warning.java,如下:1. 定位到以下目录:/Samples/advanced/findbugs2. 输入以下命令并编译例子:mkdir buildjavac -d build Warning.java3. 用FindBugs 和Fortify SCA 扫描例子

16、,如下:sourceanalyzer -b findbugs_sample -java-build-dir build Warning.javasourceanalyzer -b findbugs_sample -scan -findbugs -f findbugs_sample.fpr4. 检查早Fortify Audit Workbench 中的分析结果:auditworkbench findbugs_sample.fpr输出包括了以下问题类别: Object model violation Dead local store Equal objects must have equal ha

17、shcodes Useless self-assignment (2) Unwritten field (2)翻译 C/C+ 代码翻译一个文挡所用的基本命令行语法是:sourceanalyzer -b 其中: 是在项目创建扫描之时,你想使用的编译器的名字。比 gcc 或者是 cl。 是传递到典型编译文挡的编译器的选项。C 和C+ 命令行举例以下是一些简单的可用范例:使用 gcc 编译器,翻译一个名为 helloworld.c 的文件,键入:sourceanalyzer -b my_buildid gcc helloworld.c结合 Make你可以使用以下方法中的其中一项去结合Make 使用

18、Fortify SCA: 无入侵式的集成 入侵式的集成(修改一个Makefile 去调用Fortify SCA)使用无入侵式的集成,运行以下命令:sourceanalyzer -b makeFortify SCA 运行 make 命令。当make 调用了任意被 Fortify SCA 认作为是一个编译器的命令,这个命令就会被 Fortify SCA 处理。注意makefile 不会被修改。这个构建集成的方法不局限于make。任何一个执行编译器处理的构建命令可以被用到系统里去;只要拿去运行一个构建的命令来替代以上命令中的make 部分。如果不是已经存在的话,你可能必须为你的构建工具添加一个条目进

19、 /Core/config/fortify-sca.properties。比如,结合一个名为dobuild 的构建脚本,添加以下到fortify-sca.properties 里去:pilers.dobuild =pilers.TouchlessCompiler注意: Fortify touchless build adapter 会表现异常,如果: 构建脚本给编译器调用了一个完整路径,或者如果构建脚本拒绝可执行搜索路径。 构建脚本没有创建一个新的进程去运行编译器。许多Java 构造工具,包括Ant,都以这种方式运行。入侵式的集成, 运行以下命令:修改一个makefile 去调用 Fortif

20、y SCA,代替任何一个链接,被调用到编译器,文件,或者是makefile 和Fortify SCA 里。这些工具在makefile 中一个特殊变量中被特别指明,如以下范例所示:CC=gccCXX=g+AR=ar这个步骤可以像这些 makefile 里提及的的工具、Fortify SCA,和一些适当选项一样简单。CC=sourceanalyzer -b mybuild -c gccCXX=sourceanalyzer -b mybuild -c g+AR=sourceanalyzer -b mybuild -c arVC6.0项目的转换及分析示例.sourceanalyzer -b my_bu

21、ildid c msdev MyProject.dsp /Make /BUILD .sourceanalyzer -b my_buildid scan f xx.fpr 3.2. 分析Fortitfy SCA扫描的结果1. 审计结果的基本概念审计:将Fortify SCA 扫描分析出来的结果中的漏洞进行审查,分析,定性,指导开发人员进行漏洞的修复工作。Hide/Suppress/Suspicious/Not An Issue四个的不同Hide: 是将此漏洞不显示出来,在报告中也不显示出来Suppress:是此漏洞不是问题,可以不用看的Suspicious: 是审计的一个定性,这个问题有可能是真

22、的,值得怀疑。Not An Issue: 也是审计的一个定性,说明这一漏洞不是个问题。2. 首先是将扫描结果导成后缀为fpr文件,然后用Audit WorkBench打开该文件,界面如下所示3. 验证测试结果的正确性,有效性(包括application,project,build information,analysis information)4. 将(Group By)分组方式选择为按Category(漏洞种类)分组,这也是最常用的分组方式,然后在下面对相应的漏洞进行定性,审记;所图所示5. 可以跟踪该漏洞产生的全路径,有两种方式跟踪,建议采用第二种图表方式,比较直观;6. 选择下面选项卡

23、中Detail,Recommandation,可以获得相应的漏洞的详细说明,以及推荐的解决办法;如图所示:7. 导出经过审计,定性的扫描结果的报表,可以有两种格式,一种是HTML,一种是PDF;如图所示:4故障修复4.1使用日志文件去调试问题当你在运行Fortify SCA 的时候,如果遇到了警告或者问题,可以使用-debug 选项再次运行Fortify SCA。这会在下面的路径中生成一个叫做sca.log 的文件。 在Windows 平台上: C:Documents and SettingsLocalSettingsApplication DataFortifyscalog 在其它的平台上:

24、 $HOME/.fortify/sca4.5/log4.2转换失败的信息如果你的C/C+ 应用程序能够成功构建,但是当使用Fortify SCA 来进行构建的时候却发现一个或者多个“转换失败”的信息,这时你需要编辑/Core/config/fortify-sca.properties 文件来修改下面的这些行:com.fortify.sca.cpfe.options= -remove_unneeded_entities -suppress_vtbltocom.fortify.sca.cpfe.options=-w -remove_unneeded_entities -suppress_vtbl重

25、新执行构建,打印出转换器遇到的错误。如果输出的结果表明了在你的编译器和Fortify 转换器之间存在冲突4.3JSP的转换失败如果在Fortify SCA 转换JSP 文件到Java 文件以便进行分析的过程中,你的JSP 分解器遇到问题,你很可能会看到和下面这个很像的信息: Failed to parse jsps in: where is the directory containing the JSP files Unexpected exception while parsing .想获得更多关于这个问题的信息,请执行以下步骤:1. 使用-debug 选项运行sourceanalyzer

26、。2. 使用编译器打开日志文件。3. 查找字符串Invoking jsp parser:。4. 下拉到包含-classpath 的那一行。5. 确保-classpath 变量包含了所有所要求的jars 文件和用来解析类、标签库、实体和其它你的JSP 用到的文件的目录。如果错误信息和NoClassDefFoundError 或者标签库有关,确保需要的jar 文件也在WEB-INF/lib 目录下。6. 在包含-classpath 变量的那一行的再下面的几行中,你应该能够看见标有Jsp parserstdout: 的行。这一行包含了从JSP 解析器中输出的错误信息,这应该给出了到底是什么发生了错误的提示。7. 添加需要用来修复在第5 和第6 步中所找到问题的一些classpath 附加条目。8. 重新运行sourceanalyzer。4.4 C/C+ 预编译的头文件一些C/C+ 编译器支持一种叫做“预编译头文件”的特性,它可以用来加速编译过程。一些编译器对这种特性的执行会产生微妙的副作用。当这个特性被激活的时候,编译器可能会不经过警告或者报错就接受错误的源代码。这可能导致这种矛盾,即使你的编译器没有执行, Fortify SCA 也会报告转换错误。如果你使用你编译器的预编译头文件特性,就要首先确保你的源代码通过废除预编译头文件特性并执行一个完整构建而干净地执行。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1