基于遗传算法的模糊测试技术研究

基于遗传算法的模糊测试技术研究

论文摘要

随着软件安全漏洞数量的逐渐增多,漏洞挖掘技术日益受到研究人员的关注,模糊测试技术是目前使用最广泛的一种漏洞挖掘方法。现有模糊测试方法在协议漏洞挖掘上存在着难以评估测试完成情况、测试用例命中率低、无法自动化解析协议等缺陷,使得模糊测试效率非常低下,难以发现更多的安全漏洞。针对现有模糊测试技术在测试用例生成和自动化协议解析上的不足,借鉴演化测试的思想,在模糊数据的生成过程中引入遗传算法以搜索最符合协议规约的测试用例,设计了一种演化模糊测试方法,以实现自动化协议模糊测试。针对网络交互数据的特点,设计实现了演化模糊测试中使用的遗传算法,包括模糊数据的编码方式、测试用例集的初始化、适应度函数的设计、会话及会话池的交叉变异方式等,讨论了演化模糊测试基本跟踪单位的选择方法,并制定了模糊测试的启发式变异规则。借助静态分析工具IDA和逆向分析框架PaiMei,在GPF框架的基础上,结合演化模糊测试思想,设计实现了演化模糊测试器。使用演化模糊器在Golden FTP server上进行了三组漏洞挖掘实验。对三组实验测试用例的适应度值和发现的异常进行了详细的分析和比较,总结了影响实验结果的各种因素。实验结果表明,演化模糊测试方法通过不断提高模糊数据的代码覆盖率,可以进行自动化协议模糊测试。由于代码覆盖和路径覆盖还是存在较大的差异,演化模糊测试如果要覆盖所有的攻击接口,还需要进行路径覆盖分析。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 课题背景及研究意义
  • 1.2 国内外研究概况
  • 1.3 主要研究工作
  • 1.4 论文组织结构
  • 2 相关理论及技术
  • 2.1 模糊测试技术
  • 2.2 遗传算法
  • 2.4 本章小结
  • 3 一种改进的自动化协议模糊测试方法
  • 3.1 现有的网络协议模糊测试方法
  • 3.2 一种改进的自动化协议模糊测试方法
  • 3.3 演化模糊测试遗传算法的设计
  • 3.4 演化模糊测试基本跟踪单位的选择
  • 3.5 本章小结
  • 4 演化模糊测试系统的设计及部分实现
  • 4.1 总体设计
  • 4.2 演化模块的设计与实现
  • 4.3 模糊测试启发式规则的设计和实现
  • 4.4 本章小结
  • 5 实验及结果分析
  • 5.1 实验环境
  • 5.2 实验过程
  • 5.3 实验结果与分析
  • 5.4 本章小结
  • 6 总结与展望
  • 6.1 总结
  • 6.2 工作展望
  • 致谢
  • 参考文献
  • 附录A 相关数据结构
  • 相关论文文献

    • [1].一种动态约简的多目标测试用例优先级排序方法[J]. 计算机科学 2019(12)
    • [2].一种面向路径覆盖的测试用例进化生成方法[J]. 牡丹江师范学院学报(自然科学版) 2020(01)
    • [3].航天软件测试用例设计质量的评估及提升[J]. 质量与可靠性 2020(02)
    • [4].基于运行剖面的测试用例分配与选择方法[J]. 计算机工程 2020(06)
    • [5].基于测试用例库的复用方法研究[J]. 电脑知识与技术 2018(32)
    • [6].基于变异分析的测试用例约简方法[J]. 计算机应用 2017(12)
    • [7].测试用例复用在电子采购交易平台中的应用[J]. 计算机与数字工程 2018(01)
    • [8].融入自适应迁移的路径覆盖测试用例进化生成[J]. 计算机应用研究 2016(12)
    • [9].测试用例修复的方法与工具综述[J]. 现代计算机(专业版) 2017(02)
    • [10].基于模型的软件测试用例生成方法比较研究[J]. 现代计算机(专业版) 2017(04)
    • [11].符号执行技术在测试用例生成中的应用[J]. 现代计算机(专业版) 2017(04)
    • [12].面向测试用例生成的集合进化算法实现[J]. 牡丹江师范学院学报(自然科学版) 2017(02)
    • [13].组合测试用例自动生成软件设计[J]. 自动化技术与应用 2017(05)
    • [14].基于死锁的并发类单元测试用例自动生成[J]. 计算机应用与软件 2017(04)
    • [15].多目标测试用例优先级排序研究进展[J]. 重庆工商大学学报(自然科学版) 2017(03)
    • [16].基于消息交互的测试用例编写方法的实现[J]. 萍乡学院学报 2017(03)
    • [17].基于变力度组合覆盖的信号处理软件测试用例生成[J]. 微电子学与计算机 2017(06)
    • [18].C语言软件错误定位的测试用例库构建[J]. 太原师范学院学报(自然科学版) 2015(04)
    • [19].基于聚类算法的测试用例排序[J]. 计算机工程与应用 2016(05)
    • [20].一种提高错误定位效率的测试用例选择方法[J]. 华东理工大学学报(自然科学版) 2016(04)
    • [21].软件测试用例设计[J]. 信息与电脑(理论版) 2016(12)
    • [22].基于正交试验设计的测试用例选择方法[J]. 计算机与数字工程 2016(08)
    • [23].一种基于蜕变关系的测试与失效测试用例定位模型[J]. 计算机科学 2016(10)
    • [24].基于需求特征的软件测试用例设计模型研究[J]. 高技术通讯 2013(08)
    • [25].基于开发思维的功能测试用例设计方法[J]. 汽车电器 2016(10)
    • [26].基于状态图的航天器测试用例设计[J]. 航天器工程 2014(06)
    • [27].软件测试用例管理方法初探[J]. 电子技术与软件工程 2015(05)
    • [28].一种测试用例库的建设方法研究与实践[J]. 电子制作 2015(06)
    • [29].优化遗传算法在软件测试用例方面的应用[J]. 科技创新导报 2015(08)
    • [30].测控软件测试用例库管理系统的研发[J]. 质量与可靠性 2015(03)

    标签:;  ;  ;  ;  

    基于遗传算法的模糊测试技术研究
    下载Doc文档

    猜你喜欢