- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SCA分析代码漏洞
hyddd原创,转载请说明。
上次介绍了用FindBugs辅助分析代码漏洞,这次换了一个工具:Fortify SCA Demo 4.0.0。Fortify是一个在安全方面挺出名的公司,这里就不多说了。先介绍一下主角:Fortify SCA Demo 4.0.0,虽然现在不知道Fortify SCA的版本是多少,但可以肯定的是,Fortify SCA Demo 4.0.0是一个比较旧的Fortify SCA分析器了,并且还是Demo版的,所以无论是界面还是功能上都是比较简陋的。由于Fortify SCA不是开源的工具,这里就不提供下载了,大家可以上Fortify主页申请:。
这次演示的是用Fortify SCA静态分析Java代码,和FindBugs不同的是Fortify SCA还可以静态分析C/C++,.NET和PL/SQL等代码。
一.Fortify SCA静态分析原理
由于我不是写这个东东的人,并且接触这个工具时间也有限,所以对它的工作原理认知比较浅,很多是通过它的说明文档得来的。
Fortify SCA静态分析分两个阶段:
1.Translation:
把各种语言的源代码转为一种统一的中间语言代码。
2.Analysis:
根据中间代码分析代码漏洞,并得出报告。
Fortify有很多个语言转换器,但核心的静态分析引擎只有一套。
二.Fortify SCA的使用
先看看Fortify SCA Demo 4.0.0的目录:
这个是Fortify SCA Demo 4.0.0的目录,这里主要有两个文件:auditworkbench.cmd和sourceanalyzer.exe,auditworkbench.cmd是查看静态分析报告的工具,sourceanalyzer.exe是静态代码分析器。这里我们还看到了一个FindBugs的目录,这是因为这个版本的Fortify集成了此功能,你可以通过传参给sourceanalyzer.exe调用FindBugs(但我一般不这么做,可以直接使用FindBugs的话,为什么还要通过sourceanalyzer.exe调呢?)。
开始扫描静态分析,首先CMD进入Java源代码目录,然后“H:\Fortify\sourceanalyzer.exe -classpath **/*.jar -f test.fpr .”,在当前目录得到结果报告test.fpr。
用auditworkbench打开test.fpr,效果如下图:
这里auditworkbench主要分4部分:
1.左上(Issues):是警告分类,这里Fortify分了3了,严重程度由高至低分别是:hot,warning,info。下面是本次扫描的问题列表,双击即可定位问题代码。
2.右上:源代码。双击问题列表即可自动定位代码。
3.左下(analysis trace):问题处的Trace信息,告诉你问题出现在哪里文件第几行。
4.右下(details):问题的详细说明,还有示范代码。
OK,现在看看其他地方,比如:menubar(Options)--Show View--Other,你会看到下图:
这里我看到了一个很像eclipse管理插件的窗口,噢,难道.....OK,让我看看再找找Fortify的目录看看,找到了这个东西:
这里发现Fortify SCA真的是一个Eclipse插件,不过当我兴冲冲地把这个插件放进myeclipse插件库并重启后,发现这个不能识别:,好像还是差了点东西,这个以后研究。
这个工具还有很多功能,但暂且先写这多。
三.Fortify SCA Demo 4.0.0与FindBugs(0081230)对比
今天试着对同一份代码进行静态扫描,发现FindBugs找到的问题种类,数量都比Fortify SCA Demo 4.0.0多很多:
FindBugs发现问题种类有:20多种
Fortify SCA Demo 4.0.0发现问题种类:5种
在分析发现问题后,发现了一个有趣现象,Fortify SCA Demo 4.0.0和FindBugs发现的BUG类型是完全不同,可以说是互补的!其中,FindBugs发现的问题相对比较重要!但FindBugs只是针对Java代码的静态分析器,而Fortify SCA则支持更多的语言,并且Fortify SCA对发现问题的解释相对比较清晰。
导致这个问题的原因可能是:Fortify SCA Demo 4.0.0这个版本比较老,并且是试用版,规则库和静态分析引擎都不全......如果是必威体育精装版的Fortify SCA商业版,应该是不错,8个分析不
您可能关注的文档
- 高级英语练习册汉译英答案.doc
- 职称英语综合类阅读理解第3篇Shark Attack!逐句翻译.docx
- 生物医学类外文数据库.doc
- 2011首字母填空.docx
- 选6M5cultural corner 导学案 详案.doc
- 2014年6月四级真题(第二套).docx
- 实用大学英语3复习资料.docx
- 实习指导书_第三章_基于C#.NET的程序设计与开发.doc
- 护肤产品常见成分表.docx
- 国际商务谈判自测题Chapter_3.doc
- 2024年04月广东广州市第十二人民医院第二次招考聘用非在编人员(部分岗位)笔试历年典型考题与考点剖.docx
- 2024年导电液位探测杆项目可行性研究报告.docx
- 2024年鸡皮纸项目可行性研究报告.docx
- 2024至2030年胶管剪项目投资价值分析报告.docx
- 2024年乙酸苄酯项目可行性研究报告.docx
- 2024至2030年快速管子割刀项目投资价值分析报告.docx
- 2024年04月安徽蚌埠市公安局招考聘用留置看护警务辅助人员142人笔试历年典型考题与考点剖析含答案.docx
- 2024年盐浸鲭鱼籽项目可行性研究报告.docx
- 2024年精制特级小字纯羊毫笔项目可行性研究报告.docx
- 2024至2030年中国重力给料电脑定量包装秤数据监测研究报告.docx
文档评论(0)