首页> 中文学位 >基于低命中分支的模糊测试技术研究
【6h】

基于低命中分支的模糊测试技术研究

代理获取

目录

声明

摘要

第一章 绪论

1.1 课题研究背景及意义

1.2 国内外相关研究介绍

1.2.1 安全漏洞技术研究现状

1.2.2 模糊测试研究现状

1.3 本文主要研究内容

1.4 文章的组织结构

第二章 模糊测试技术及AFL介绍

2.1 模糊测试技术

2.1.1 模糊测试技术原理

2.1.2 模糊测试技术分类

2.2 AFL介绍

2.2.1 AFL原理

2.2.2 AFL详细介绍与算法

2.3 本章小结

第三章 基于低命中分支的模糊测试研究

3.1 基于低命中分支的模糊测试

3.1.1 基本思想

3.1.2 方法框架

3.1.3 低命中分支定义

3.1.4 实现流程和详细算法

3.2 基于低命中分支的种子选取策略

3.2.1 AFL种子选取策略及分析

3.2.2 基本思想

3.2.3 设计实现和算法

3.3 基于低命中分支的种子队列更新

3.3.1 基本思想

3.3.2 基于低命中分支的更新准则

3.4 变异阶段生成策略改进

3.4.1 AFL变异策略及分析

3.4.2 改进的变异阶段

3.5 本章小结

第四章 实验设计与分析

4.1 研究问题

4.2 实验对象

4.3 实验设计及评估准则

4.4 实验结果与分析

4.4.1 被测程序基本块转换覆盖数分析

4.4.2 变异阶段生成策略改进有效性分析

4.4.3 检测bug能力的分析

4.5 本章小结

第五章 结论与展望

5.1 结论

5.2 展望

参考文献

致谢

研究成果及发表的学术论文

作者和导师简介

展开▼

摘要

在软件安全测试领域,模糊测试(fuzz testing)是一种有效的漏洞检测技术。基于覆盖的灰盒模糊测试(Coverage-based grey-box fuzzing),作为模糊测试中效率较高的一种方法,它以被测程序的代码覆盖信息来指导随机测试用例生成。AFL(American Fuzzy Lop)是目前使用广泛的一种基于基本块覆盖的灰盒模糊测试工具,但AFL难以发现隐藏在被测程序深处的错误和安全漏洞,其安全漏洞检测能力有待进一步提高。
  一般而言,位于被测程序循环或嵌套深处的语句比较难以被测试用例覆盖,可以认为其对应分支被测试用例覆盖的次数较低(低命中分支),生成覆盖低命中分支的测试用例,更有可能发现隐藏在被测程序深处的错误和安全漏洞。因此,本文提出一种基于低命中分支的灰盒模糊测试方法。在对初始种子进行随机变异测试用例生成的基础上,以覆盖低命中分支的新基本块为指导,进行种子队列的更新及选择,生成大量的随机测试用例;并在变异阶段,为种子设置相应的字节是否变异标志,为后续随机测试用例生成提供指导,以提高模糊测试的安全漏洞检测能力和检测效率。
  为验证本文提出的基于低命中分支的灰盒模糊测试方法的有效性,编程实现了一个原型系统,并以AFL灰盒模糊测试工具为对象,在5个基准程序上,进行灰盒模糊测试实验,分析比较两者的安全漏洞检测能力和变异测试用例生成效率。实验结果表明,相较于AFL,基于低命中分支的模糊测试能够发现更多的安全漏洞,其测试生成效率有较大提升,并且基于低命中分支的模糊测试方法在24小时内的分支覆盖数提高了28.6%。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号