基于环境的模糊测试技术研究

基于环境的模糊测试技术研究

论文摘要

模糊测试是一种自动或半自动的发现软件故障的方法,具有可用性好、自动化程度高、误报率低、对目标程序源码没有依赖的优点。模糊测试如今已经成为漏洞挖掘的一门相当有效的技术。本文首先验证了当前的模糊测试技术(特别是模糊器构造技术)在漏洞挖掘方面的有效性。通过整理权威漏洞数据库中关于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 未来工作展望
  • 参考文献
  • 致谢
  • 在读期间发表的学术论文与取得的研究成果
  • 相关论文文献

    标签:;  ;  ;  ;  

    基于环境的模糊测试技术研究
    下载Doc文档

    猜你喜欢