论文摘要
模糊测试是一种自动或半自动的发现软件故障的方法,具有可用性好、自动化程度高、误报率低、对目标程序源码没有依赖的优点。模糊测试如今已经成为漏洞挖掘的一门相当有效的技术。本文首先验证了当前的模糊测试技术(特别是模糊器构造技术)在漏洞挖掘方面的有效性。通过整理权威漏洞数据库中关于ftp服务器的所有漏洞,我们分析了当前的模糊技术对漏洞库中的已有漏洞的重现率或挖掘成功率。实验结果肯定了简单易行的模糊测试技术在漏洞挖掘方面的有效性,同时我们也发现了传统的模糊测试技术的一些盲点,针对其工作量大、针对性差的缺点,本文的主要工作集中在以下两个方面:1)提出基于漏洞库的模糊测试技术。用这种技术得到的测试用例集直接与漏洞相关。漏洞是程序员犯过的错误的真实体现,因此这种方法更有针对性;基于漏洞库生成的测试用例集除了可以重现曾经出现过的漏洞,还可以挖掘未知的但同属一类的漏洞,覆盖面更大、随机性更好;这种技术不需要事先对输入规格做过多研究,不做过多假设,因此在提高测试用例针对性的同时保证了其随机性。2)提出基于环境的模糊测试技术。针对基于漏洞库的模糊测试技术得到的测试用例集的可重用性和扩展性不高、并且没有揭示出漏洞产生的本质原因的两个问题,我们在第4章提出了基于环境的模糊测试技术。通过提取程序开发和运行所依赖的环境,针对其对每种环境的依赖,我们构造包含了环境特征的模糊测试用例集,这样得到的测试用例集合在保证挖掘能力的同时具有更高的可重用性和扩展性。我们对windows平台下的多款ftp和sftp服务器软件进行了安全性测试,共发现了6款软件的9个新漏洞。实验结果证明了该方法的有效性。
论文目录
摘要Abstract图目录表目录第1章 绪论1.1 研究背景1.2 研究现状1.3 研究内容1.4 论文结构第2章 安全漏洞及挖掘技术2.1 安全漏洞2.1.1 安全漏洞概述2.1.2 安全漏洞的分类2.2 常见安全漏洞2.2.1 SQL 注入漏洞2.2.2 经典的缓冲区溢出漏洞2.2.3 竞态条件漏洞2.3 漏洞发掘方法2.3.1 白盒测试2.3.2 黑盒测试2.3.3 灰盒测试2.4 模糊测试技术2.4.1 模糊测试流程2.4.2 模糊器类型2.4.3 网络协议模糊测试2.5 本章小结第3章 基于漏洞库的模糊测试技术3.1 基于漏洞库的模糊测试技术概述3.2 基于漏洞库的模糊测试框架3.2.1 相关协议(ftp 协议)介绍3.2.2 基于漏洞库的模糊测试框架3.3 漏洞库整理3.4 基于漏洞库的测试用例集生成3.4.1 针对每种漏洞生成测试用例集3.4.2 测试用例集生成技术小结3.5 小结第4章 基于环境的模糊测试技术4.1 基于环境的模糊测试技术框架4.2 基于环境的模糊测试用例集生成4.3 针对sftp 服务器的实验概述4.4 小结第5章 测试工具的设计与实验5.1 概述5.2 基于环境的模糊测试工具5.2.1 生成模糊测试集5.2.2 监控模块5.3 针对ftp 服务器的实验5.4 针对sftp 服务器的实验5.4.1 sftp 协议分析5.4.2 实验结果及分析5.5 小结第6章 总结与展望6.1 本文工作总结6.2 未来工作展望参考文献致谢在读期间发表的学术论文与取得的研究成果
相关论文文献
标签:漏洞发掘论文; 模糊测试论文; 漏洞库论文; 环境论文;