版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
...wd......wd......wd...FortifySCA安装使用手册目录TOC\o"2-3"\h\z\t"标题1,1"1.产品说明51.1.特性说明51.2.产品更新说明52.安装说明62.1.安装所需的文件62.2.FortifySCA支持的系统平台62.3.支持的语言62.4.FortifySCA的插件72.5.FortifySCA支持的编译器72.6.FortifySCA在windows上安装82.7.FortifySCA安装Eclispe插件92.8.FortifySCA在linux上的安装(要有linux版本的安装文件)92.9.FortifySCA在Unix上的安装(要有Unix版本的安装文件)103.使用说明113.1.FortifySCA扫描指南113.2.分析FortitfySCA扫描的结果164.故障修复204.1使用日志文件去调试问题204.2转换失败的信息20如果你的C/C++应用程序能够成功构建,但是当使用FortifySCA来进展构建的时候却发现一个或者多个“转换失败〞的信息,这时你需要编辑<install_directory>/Core/config/perties文件来修改下面的这些行:20com.fortify.sca.cpfe.options=--remove_unneeded_entities--suppress_vtbl20to20com.fortify.sca.cpfe.options=-w--remove_unneeded_entities--20suppress_vtbl20重新执行构建,打印出转换器遇到的错误。如果输出的结果说明了在你的编译器和Fortify转换器之间存在冲突204.3JSP的转换失败204.4C/C++预编译的头文件21前言FortifySCA是目前业界最为全面的源代码白盒安全测试工具,它能准确定位到代码级的安全问题,完全自动化的完成测试,最广泛的安全漏洞规那么,多维度的分析源代码的安全问题。文档约定本手册使用以下约定,以区分手册中其它局部。约定表示含义粗体字“粗体新宋体〞:表示截图中的按钮或是选项。如:点击保存按纽→“右箭头〞:用在两个或多个词语之间,表示分级,左边的内容是右边的上一级。如:文件→翻开“圆点〞:表示同级的并列选项或是属性。1,2,3“粗体数字〞:表示一个过程中步骤。“警告〞:说明需要注意的事项。“提示〞:表示附加的说明性文字。编写约定指编写用户手册的标准和本卷须知,编写人员在手册完成后应删除该篇约定。关于截图为使表达更加明确、简洁,应防止不必要的截图。指可以用语言表达清楚其操作方法的界面。如:拉菜单、快捷菜单等可以防止截图。图片应尽量精准,不要留白边,和防止出现不相关的图标。如:输入法工具栏等。关于斜体字表示可变化的名称或是术语,编写手册时应用具体内容替换。关于说明补充说明某一章/节中需描述的内容,提供了供参考的内容细则。手册编写完成后应删除此局部内容。关于例如具体实例辅助说明某一章/节的内容范围和格式。手册完成后应删除此局部内容。关于分级下分一级用圆点表示,具体分级设置请参照公司文档编写标准。产品说明FortifySCA〔静态代码分析器〕是组成Fortify360系列产品之一,SCA工作在开发阶段,以用于分析应用程序的源代码是否存在安全漏洞。它不但能够发现只能在静态情况下才能发现的新的漏洞,而且也能在测试和产品阶段验证已经发现的漏洞。特性说明FortifySCA主要的特性和优点如下:1.业务最完整的静态代码分析器,以最大和最全面的安全编码规那么为根基,而且这些规那么可以不断地进展更新,以适应新的软件安全漏洞2.跨层跨语言地分析代码的漏洞产生,目前支持所有的主流开发语言3.在确认安全漏洞上有十分高的准确性4.可以准确地定位漏洞产生的全路径,方便开发人员对漏洞进展修复5.支持多种软件开发平台产品更新说明名称版本发布日期功能修改说明FortifySCAV2.0安装说明安装所需的文件1.FortifySCA的安装文件2.Fortifylicense(即安装授权文件)3.Fortify的规那么库文件〔可在线下载最新的规那么库〕4.要安装插件的IDE〔例如eclispe3.2,3.3;VS2003,2005;RAD7;RSD7〕FortifySCA支持的系统平台支持的语言FortifySCA的插件FortifySCA支持的编译器FortifySCA在windows上安装双击安装包中的Fortify-360-2[1].0-Analyzers_and_Apps-Windows-x86.exe即可安装选择Fortify提供的授权文件所在路径(即安装包下的fotify_rule文件夹,该文件夹下有fortify.license),点击‘NEXT’按钮选择相应的安装路径,点击‘NEXT’按钮选择相应的组件进展安装,在此处请注意,fortify默认不安装IDE插件,如果需要安装相应的IDE插件,如以以下图:在此处我选择了基于eclipse3.x,VS2005的插件(选择安装VS的插件之前,得首先安装VS的IDE),然后点击‘NEXT’按钮再点击‘NEXT’按钮即可完成安装添加相应的规那么库,可直接联网下载最新的规那么库,或是将安装包下的fotify_rule文件夹下rules_ZH.rar解压缩到fortify安装目录下的Core\config\rules位置安装完成后把系统时间改成20xx年,方可正常使用.FortifySCA安装Eclispe插件FortifySCA在linux上的安装(要有linux版本的安装文件)FortifySCA在Unix上的安装(要有Unix版本的安装文件)使用说明FortifySCA扫描方式:1.IDE插件方式2.命令行3.AuditWorkbench扫描目录4.与构建工具集成(ant,makefile)5.SCAbuildmonitor(c/c++windowsonly)下面主要是介绍常用的两种扫描方式:IDE插件方式,以及命令行方式FortifySCA扫描指南Eclipse插件方式扫描1.1首先你得正确安装fortifysca的插件,具体安装方法见前面所述的安装指南;安装成功后的ide界面如以以下图,会有一个图标1.2导入所要进展源码安全测试的工程,成功导入之后会显示以上界面右边的PackageExpl里面1.3左键选中该工程,然后点击,就可以进展扫描了;或者是右键点击该工程,弹出选项菜单,选中Analyzesourcecodeofproject就可以进展扫描.AuditAuditWorkbench扫描目录2.1首先在开场菜单->所有程序->FortifySoftware->Fortify360v2.0->AuditWorkbench,启动AuditWorkbench,界面如下2.2建议采用AdvancedScan,然后选中要扫描的目录,点击确定按钮即可扫描命令行方式扫描Java命令行语法这个主题描述了为Java翻译源代码的FortifySCA命令语法。基本的Java命令行语法是:sourceanalyzer-b<build-id>-cp<classpath><file-list>有了Java代码,FortifySCA既可以仿效编译程序〔它使得构造结合很方便〕,也可以直接承受源文件〔它使命令行扫描更方便〕。注意:有关所有你能使用的带有sourceanalyzer命令的选项,请查看第33页的“命令行选项〞。使FortifySCA仿效编译程序,输入:sourceanalyzer-b<build-id>javac[<compileroptions>]直接传文件到FortifySCA,输入:sourceanalyzer-b<build-id>-cp<classpath>[<compileroptions>]\<files>|<file-specifiers>这里:<compileroptions>是传到编译程序的选项。-cp<classpath>具体指定Classpath来用在Java源代码中。Classpath是一个构造目录和jar文件的列表。格式和javac所预期的一样〔路径的冒号或独立的分号的列表〕。你可以使用FortifySCA文件说明符。-cp"build/classes:lib/*.jar"注意:如果你没有使用选项来具体指定classpath,CLASSPATH环境变量将被使用。<files>|<file-specifiers>文件说明符允许你容易地通过一个长文件列表到FortifySCA使用通配符。FortifySCA能识别两种类型的通配符:'*'匹配局部文件名,'**'递归地匹配目录。你可以指定一个或更多的文件,一个或更多的文件说明符,或文件和文件说明符的结合。Java命令行例子在classpath上用j2ee.jar翻译一个命名为MyServlet.java的文件,输入:sourceanalyzer-bMyServlet-cplib/j2ee.jarMyServlet.java用lib目录中所有jar文件作为classpath在src目录中翻译所有的.java文件:sourceanalyzer-bMyProject-cp"lib/*.jar""src/**/*.java"当运行javac编译程序时,翻译MyCode.java文件:sourceanalyzer-bmybuildjavac-classpathlibs.jarMyCode.javaJ2EE工程转换的简单例如把工程的所有文件和库都放在一个目录下,运行下面的命令:.sourceanalyzer-Xmx1000m-bpName-encoding"UTF-8"-cp"**/*.jar".sourceanalyzer-Xmx1000m-bpName-appserverweblogic-appserver-verion9–appserver-home“d:\bea\webloigc\server\lib〞-encoding"UTF-8"-cp"**/*.jar"翻译JSP文件要翻译JSP文件,FortifySCA需要JSP文件遵循标准的WebApplicationArchive(WAR)设计格式。如果你的源目录已经以WAR格式组织了,那么你可以直接从源目录中翻译JSP文件。如果情况不是这样的,那么你需要展开应用程序并从展开目录中翻译你的JSP文件。如果你的JSP文件使用了任何标签库,例如JSTL,确保库的jar文件在WEB-INF/lib目录中。否那么JSP编译程序将不处理标签库,可能产生错误的结果。默认地,在翻译程序段期间,FortifySCA使用一个JasperJSP编译程序的版本来编译JSP文件到Java文件中去。然而,如果你的web应用程序是特别为了某个应用程序服务器而开发的,那么当执行翻译时,你必须为那个应用程序服务器使用JSP编译程序。为了支持它,FortifySCA提供了以下命令行选项:•-appserver支持变量:weblogic/websphere•-appserver-home有关Weblogic:到目录的路径包含server/lib目录有关WebSphere:到目录的路径包含bin/JspBatchCompiler脚本•-appserver-version支持变量:Weblogic版本7和8WebSphere版本6如果你在使用一个没有被列出来的应用程序服务器,使用默认内部FortifyJSP编译程序。例如:sourceanalyzer-bmy_buildid-cp"WEB-INF/lib/*.jar""WEB-INF/**/*.jsp"使用FindBugsFindBugs(://)是一个静态分析工具,它在Java代码中检测质量问题。你可以和FortifySCA一起使用FindBugs,结果会被合并到分析结果文件中。与FortifySCA运行在Java源文件中不同,FindBugs运行在Java字节码中。因此,在工程中运行分析之前,你应该首先编译工程产生类文件。为了示范如何与FortifySCA一起自动地运行FindBugs,编译例子代码,Warning.java,如下:1.定位到以下目录:<install_directory>/Samples/advanced/findbugs2.输入以下命令并编译例子:mkdirbuildjavac-dbuildWarning.java3.用FindBugs和FortifySCA扫描例子,如下:sourceanalyzer-bfindbugs_sample-java-build-dirbuildWarning.javasourceanalyzer-bfindbugs_sample-scan-findbugs-ffindbugs_sample.fpr4.检查早FortifyAuditWorkbench中的分析结果:auditworkbenchfindbugs_sample.fpr输出包括了以下问题类别:•Objectmodelviolation•Deadlocalstore•Equalobjectsmusthaveequalhashcodes•Uselessself-assignment(2)•Unwrittenfield(2)翻译C/C++代码翻译一个文挡所用的基本命令行语法是:sourceanalyzer-b<build-id><compiler>[<compileroptions>]其中:•<compiler>是在工程创立扫描之时,你想使用的编译器的名字。比gcc或者是cl。•<compiler_options>是传递到典型编译文挡的编译器的选项。C和C++命令行举例以下是一些简单的可用范例:使用gcc编译器,翻译一个名为helloworld.c的文件,键入:sourceanalyzer-bmy_buildidgcchelloworld.c结合Make你可以使用以下方法中的其中一项去结合Make使用FortifySCA:•无入侵式的集成•入侵式的集成(修改一个Makefile去调用FortifySCA)使用无入侵式的集成,运行以下命令:sourceanalyzer-b<build-id>makeFortifySCA运行make命令。当make调用了任意被FortifySCA认作为是一个编译器的命令,这个命令就会被FortifySCA处理。注意makefile不会被修改。这个构建集成的方法不局限于make。任何一个执行编译器处理的构建命令可以被用到系统里去;只要拿去运行一个构建的命令来替代以上命令中的'make'局部。如果不是已经存在的话,你可能必须为你的构建工具添加一个条目进<install_directory>/Core/config/perties。比方,结合一个名为dobuild的构建脚本,添加以下到perties里去:com.fortify.scapilers.dobuild=com.fortify.sca.utilpilers.TouchlessCompiler注意:Fortifytouchlessbuildadapter会表现异常,如果:•构建脚本给编译器调用了一个完整路径,或者如果构建脚本拒绝可执行搜索路径。•构建脚本没有创立一个新的进程去运行编译器。许多Java构造工具,包括Ant,都以这种方式运行。入侵式的集成,运行以下命令:修改一个makefile去调用FortifySCA,代替任何一个链接,被调用到编译器,文件,或者是makefile和FortifySCA里。这些工具在makefile中一个特殊变量中被特别指明,如以下范例所示:CC=gccCXX=g++AR=ar这个步骤可以像这些makefile里提及的的工具、FortifySCA,和一些适中选项一样简单。CC=sourceanalyzer-bmybuild-cgccCXX=sourceanalyzer-bmybuild-cg++AR=sourceanalyzer-bmybuild-carVC6.0工程的转换与分析例如.sourceanalyzer-bmy_buildid–cmsdevMyProject.dsp/Make/BUILD.sourceanalyzer-bmy_buildid–scan–fxx.fpr分析FortitfySCA扫描的结果审计结果的基本概念审计:将FortifySCA扫描分析出来的结果中的漏洞进展审查,分析,定性,指导开发人员进展漏洞的修复工作。Hide/Suppress/Suspicious/NotAnIssue四个的不同Hide:是将此漏洞不显示出来,在报告中也不显示出来Suppress:是此漏洞不是问题,可以不用看的Suspicious:是审计的一个定性,这个问题有可能是真的,值得疑心。NotAnIssue:也是审计的一个定性,说明这一漏洞不是个问题。首先是将扫描结果导成后缀为fpr文件,然后用AuditWorkBench翻开该文件,界面如下所示验证测试结果的正确性,有效性〔包括application,project,buildinformation,analysisinformation〕将〔GroupBy〕分组方式选择为按Category(漏洞种类)分组,这也是最常用的分组方式,然后在下面对相应的漏洞进展定性,审记;所图所示可以跟踪该漏洞产生的全路径,有两种方式跟踪,建议采用第二种图表方式,对比直观;选择下面选项卡中Detail,Recommandation,可以获得相应的漏洞的详细说明,以及推荐的解决方法;如以以下图:导出经过审计,定性的扫描结果的报表,可以有两种格式,一种是HTML,一种是PDF;如以以下图:4.故障修复4.1使用日志文件去调试问题当你在运行FortifySCA的时候,如果遇到了警告或者问题,可以使用-debug选项再次运行FortifySCA。这会在下面的路径中生成一个叫做sca.log的文件。•在Windows平台上:C:\DocumentsandSettings\<username>\LocalSettings\ApplicationData\Fortify\sca\log•在其它的平台上:$HOME/.fortify/sca4.5/log4.2转换失败的信息如果你的C/C++应用程序能够成功构建,但是当使用FortifySCA来进展构建的时候却发现一个或者多个“转换失败〞的信息,这时你需要编辑<install_directory>/Core/config/perties文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住宅区双电源管理办法
- 瑜伽馆空调租赁合同
- 电子厂给水施工合同
- 老年人旅游活动策划指南
- 屋顶绿化脚手架施工合同范本
- IT培训学校教师聘用合同
- 建筑工程安全事项合同
- 2025钢管扣件脚手架租赁合同样本
- 风景区餐厅租赁合同
- 文化中心停车场管理规定
- 矿山开采与生产管理
- 糖尿病的预防及治疗幻灯片
- 综合能力测试(一)附有答案
- 大学体育与健康智慧树知到期末考试答案章节答案2024年齐鲁师范学院
- 化学实验操作评分细则表
- 西安市莲湖区2022-2023学年七年级上学期期末语文试题【带答案】
- JBT 14543-2024 无刷稳速直流电动机技术规范(正式版)
- 动静脉内瘘的物理学检查
- 中国麻辣烫行业市场发展前景研究报告-智研咨询发布
- 【视神经脊髓炎谱系疾病的探究进展文献综述3800字】
- 思想道德与法治(海南大学)智慧树知到期末考试答案章节答案2024年海南大学
评论
0/150
提交评论