Fortify使用手册.docx

上传人:b****8 文档编号:30594188 上传时间:2023-08-18 格式:DOCX 页数:16 大小:1.08MB
下载 相关 举报
Fortify使用手册.docx_第1页
第1页 / 共16页
Fortify使用手册.docx_第2页
第2页 / 共16页
Fortify使用手册.docx_第3页
第3页 / 共16页
Fortify使用手册.docx_第4页
第4页 / 共16页
Fortify使用手册.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Fortify使用手册.docx

《Fortify使用手册.docx》由会员分享,可在线阅读,更多相关《Fortify使用手册.docx(16页珍藏版)》请在冰豆网上搜索。

Fortify使用手册.docx

Fortify使用手册

 

 

中国建设银行

网上银行投资产品创新项目

Fortify使用手册

 

总行信息技术管理部

广州开发中心

2008年6月

修改记录

编号

日期

描述

版本

作者

审核

发布日期

2008-6-2

网银投资产品创新项目文档

1.1

廖敏飞、羌雪

本文档中所包含的信息属于机密信息,如无中国建设银行的书面许可,任何人都无权复制或利用。

®CopyRight2008byChinaConstructionBank

1、引言

1.1目的

提高中心项目软件安全意识

转达总行关于软件安全编码及测试的相关要求

了解、学习fortifySCA的使用

1.2背景

网银投资产品创新项目文档。

1.3定义

FortifySourceCodeAnalysisSuite是美国FortifySoftware为软件开发企业提供的软件源代码安全漏洞扫描、分析和管理的工具。

使用该工具能弥补软件开发人员、安全人员和管理人员在源代码方面的安全知识不足,加速代码安全审计和方便软件安全风险的管理。

FortifySourceCodeAnalysisEngine(源代码安全分析引擎)

FortifySecureCoderules(软件安全代码规则集)

FortifyAuditWorkbench(安全审计工作台)

FortifyRulesBuilder(安全代码规则构建器)

FortifySourceCodeAnalysisSuiteplugin(FortifySCAIDE集成开发插件)

FortifyManager(软件安全管理器)

1.4环境说明

(1)硬件要求:

CPU>=1G

        RAM>=1G

CDROM/DVD光驱。

(2)软件要求:

JavaJDK1.4.2/1.5Eclipse3.xJavaIDE开发环境。

1.5提醒注意

(1)每个项目指定安全测试工作负责人;

(2)每个项目均安装软件,注意license保密;

(3)安全检测必须提前进行,预留源码修改时间;

(4)检测结果分析及代码需如何修改,可参考《软件代码安全编写指南》;

(5)中心每季度分析汇总项目软件检测情况并上报总行。

1.6相关要求

(1)上线项目必须先进行软件代码安全测试;

(2)软件代码安全检测必须提前进行;

(3)测试结果中高危隐患数须为0,若实在不能消除高危隐患,需进行分析说明;

(4)测试报告及审批表须提交项目实施管理处审批;

(5)以电子邮件形式,发PIO、项目安全处,提交;

(6)软件代码安全检测报告(选择.pdf格式);

(7)软件代码安全检测上线审批表(注意编号);

2、安装Fortify

2.1 进入Fortify安装目录

(1)进入SCASEE-4[1].5.0.0337-WIN-XP-2000\SCASEE-4.5.0.0337-WIN-XP-2000目录;

(2)运行install.exe

2.2 输入LICENSEKEY:

BAHODPERE9I9

2.3选择ALLUsers

2.4下面选项全部选中

2.5选择No选项

完成软件安装。

3、使用Fortify

3.1进入源码目录执行SCAcommandlineScan.bat

3.2SCAcommandlineScan.bat的内容

·sourceanalyzer-Xmx600M-bwebgoat-clean

·sourceanalyzer-Xmx600M-bwebgoat-debug-logfilebuild.log-encoding"UTF-8"-cp"**/*.jar".

·sourceanalyzer-Xmx600M-bwebgoat-scan-fwebgoat.fpr-findbugs-debug-logfilebuild.log

·cmd

4、结果查询

(1)打开AuditBench

(2)选择结果文件webgoat.fpr

5、可能的问题

(1)RaceCondition:

SingletonMemberField(TimeandState,Structural)(竞争条件)

(2)SQLInjection(InputValidationandRepresentation,DataFlow)(SQL注入)

(3)Cross-SiteScripting(InputValidationandRepresentation,DataFlow)(跨站脚本)

(4)SystemInformationLeak(Encapsulation,DataFlow)(系统信息泄漏)

(5)HTTPResponseSplitting(InputValidationandRepresentation,DataFlow)(HTTP封包回应分割)

6、结果分析

6.1 RaceCondition

•ABSTRACT

•Servletmemberfieldsmayallowoneusertoseeanotheruser'sdata.

•EXPLANATION

•ManyServletdevelopersdonotunderstandthat,unlessaServletimplementstheSingleThreadModelinterface,theServletisasingleton;thereisonlyoneinstanceoftheServlet,andthatsingleinstanceisusedandre-usedtohandlemultiplerequeststhatareprocessedsimultaneouslybydifferentthreads.

•AcommonresultofthismisunderstandingisthatdevelopersuseServletmemberfieldsinsuchawaythatoneusermayinadvertentlyseeanotheruser'sdata.Inotherwords,storinguserdatainServletmemberfieldsintroducesadataaccessracecondition.)

6.2 SQLInjection

•ABSTRACT

•ConstructingadynamicSQLstatementwithuserinputmayallowanattackertomodifythestatement'smeaningortoexecutearbitrarySQLcommands.

•EXPLANATION

•SQLinjectionerrorsoccurwhen:

•1.Dataentersaprogramfromanuntrustedsource.

•InthiscasethedataentersatexecuteQuery()inJavaSource/CCB/PUB/DBACCESS.javaatline140.

•2.ThedataisusedtodynamicallyconstructaSQLquery.

•InthiscasethedataispassedtoprepareCall()inJavaSource/CCB/PUB/DBACCESS.javaatline499.

6.3 Cross-SiteScripting

•ABSTRACT

•Sendingunvalidateddatatoawebbrowsercanresultinthebrowserexecutingmaliciouscode.

•EXPLANATION

•Cross-sitescripting(XSS)vulnerabilitiesoccurwhen:

•1.Dataentersawebapplicationthroughanuntrustedsource,mostfrequentlyawebrequestordatabase.

•InthiscasethedataentersatgetParameter()inWebRoot/V5/includes/head.jspatline26.

•2.Thedataisincludedindynamiccontentthatissenttoawebuserwithoutbeingvalidatedformaliciouscode.

•Inthiscasethedataissentatprint()inWebRoot/V5/CN/STY1/FE31050.jspatline17.

•ThemaliciouscontentsenttothewebbrowseroftentakestheformofasegmentofJavaScript,butmayalsoincludeHTML,Flashoranyothertypeofcodethatthebrowsermayexecute.ThevarietyofattacksbasedonXSSisalmostlimitless,buttheycommonlyincludetransmittingprivatedatalikecookiesorothersessioninformationtotheattacker,redirectingthevictimtowebcontentcontrolledbytheattacker,orperformingothermaliciousoperationsontheuser'smachineundertheguiseofthevulnerablesite.

6.4 SystemInformationLeak

•ABSTRACT

•Revealingsystemdataordebugginginformationhelpsanadversarylearnaboutthesystemandformaplanofattack.

6.5 HTTPResponseSplitting

•ABSTRACT

•IncludingunvalidateddatainanHTTPresponseheadercanenablecache-poisoning,cross-sitescripting,cross-userdefacementorpagehijackingattacks.

•EXPLANATION

•HTTPresponsesplittingvulnerabilitiesoccurwhen:

•1.Dataentersawebapplicationthroughanuntrustedsource,mostfrequentlyanHTTPrequest.

•InthiscasethedataentersatexecuteQuery()inJavaSource/CCB/PUB/DBACCESS.javaatline638.

•2.ThedataisincludedinanHTTPresponseheadersenttoawebuserwithoutbeingvalidatedformaliciouscharacters.

•InthiscasethedataissentataddCookie()inJavaSource/B2C/SERVLET/B2CFile.javaatline475.

•Aswithmanysoftwaresecurityvulnerabilities,HTTPresponsesplittingisameanstoanend,notanendinitself.Atitsroot,thevulnerabilityisstraightforward:

anattackerpassesmaliciousdatatoavulnerableapplication,andtheapplicationincludesthedatainanHTTPresponseheader.

•Tomountasuccessfulexploit,theapplicationmustallowinputthatcontainsCR(carriagereturn,alsogivenby%0dor\r)andLF(linefeed,alsogivenby%0aor\n)charactersintotheheader.Thesecharactersnotonlygiveattackerscontroloftheremainingheadersandbodyoftheresponsetheapplicationintendstosend,butalsoallowsthemtocreateadditionalresponsesentirelyundertheircontrol.

 

 

 

 

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 教育学心理学

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

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