- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘 要
模糊测试是一种自动或半自动的发现软件故障的方法,具有可用性好、自动
化程度高、误报率低、对目标程序源码没有依赖的优点。模糊测试如今已经成为
漏洞挖掘的一门相当有效的技术。
本文首先验证了当前的模糊测试技术(特别是模糊器构造技术)在漏洞挖掘
方面的有效性。通过整理权威漏洞数据库中关于 ftp 服务器的所有漏洞,我们分
析了当前的模糊技术对漏洞库中的已有漏洞的重现率或挖掘成功率。实验结果肯
定了简单易行的模糊测试技术在漏洞挖掘方面的有效性,同时我们也发现了传统
的模糊测试技术的一些盲点,针对其工作量大、针对性差的缺点,本文的主要工
作集中在以下两个方面:
1)提出基于漏洞库的模糊测试技术。
用这种技术得到的测试用例集直接与漏洞相关。漏洞是程序员犯过的错误的
真实体现,因此这种方法更有针对性;基于漏洞库生成的测试用例集除了可以重
现曾经出现过的漏洞,还可以挖掘未知的但同属一类的漏洞,覆盖面更大、随机
性更好;这种技术不需要事先对输入规格做过多研究,不做过多假设,因此在提
高测试用例针对性的同时保证了其随机性。
2)提出基于环境的模糊测试技术。
针对基于漏洞库的模糊测试技术得到的测试用例集的可重用性和扩展性不
高、并且没有揭示出漏洞产生的本质原因的两个问题,我们在第 4 章提出了基于
环境的模糊测试技术。通过提取程序开发和运行所依赖的环境,针对其对每种环
境的依赖,我们构造包含了环境特征的模糊测试用例集,这样得到的测试用例集
合在保证挖掘能力的同时具有更高的可重用性和扩展性。
我们对 windows 平台下的多款 ftp 和 sftp 服务器软件进行了安全性测试,共
发现了 6 款软件的 9 个新漏洞。实验结果证明了该方法的有效性。
关键词:漏洞发掘,模糊测试,漏洞库,环境,ftp,sftp
I
Abstract
Fuzz testing is a kind of automatic or semi-automatic method for discovering
software vulnerabilities with advantages as good usability, high degree of automation,
low misstatement rate, no dependence to source code, and so on. Fuzz testing has
been proved to be an effective method for detecting vulnerabilities.
We first verify the current fuzz testing technology in the effectiveness of
detecting vulnerabilities. With the help of SecurityFocus, we classify all the
vulnerabilities of ftp servers and verify the effectiveness of traditional fuzz testing
techniques when used for reproducing most vulnerabilities. Experimental results
affirmed the effectiveness of traditional fuzz testing techniques, at the same time;
there are some blind spot for the traditional fuzz testing technology such as big
workload and poor pertinence. This paper mainly focuses on the following:
1) Fuzz testing based on the vulnerability database.
Test cases constructed in this method have stronger pertinence as they are
directly related to vulnerability database which may reflect the mistakes the
programmers made before; Also we have extended test suites based on the original
vulnerability database which appeared to discover unknown but a
文档评论(0)