基于动态优化的分级多粒度Fuzzing测试漏洞挖掘系统研究与实现
发布时间:2021-04-15 12:48
伴随互联网的发展,日趋严重的信息安全事件不断影响着社会的安全稳定。软件漏洞作为引发黑客攻击的根本原因之一,给信息安全带来了巨大的威胁。由于它的强危害性、广覆盖性和类别多样性,在当前全球信息安全的博弈中,作为一种资源被各方密切关注。本文在深入分析现有漏洞挖掘方法的基础上,针对当前覆盖跟踪Fuzzing测试漏洞挖掘方法因为测试用例覆盖跟踪消耗过大、目标程序块无测试区分和遗传算法优化不足而导致漏洞挖掘效率和准确率不高的问题,提出了一种动态优化的分级多粒度Fuzzing测试漏洞挖掘方法。该方法通过动态递减式插桩策略构建满足不同粒度需求的两级测试用例集,动态地选择测试用例输入到目标程序,然后依据测试执行的反馈信息,使用动态化的适应度函数遗传算法优化测试用例。在此基础上,设计并实现了Fuzzing测试原型系统。本文的主要工作如下:(1)分析典型的漏洞挖掘方法,对基于二进制程序的Fuzzing测试漏洞挖掘方法进行深入分析。(2)为了不断减小覆盖跟踪的消耗,基于二进制插桩技术,提出一种动态递减式插桩策略。然后通过建立满足不同测试粒度需求的两级测试用例集,根据不同的测试阶段和安全需求,动态地选择测试粒度...
【文章来源】:江苏大学江苏省
【文章页数】:90 页
【学位级别】:硕士
【部分图文】:
轮盘赌法示意图
江苏大学硕士学位论文在目标程序映像被装载时调用,将程序主模块的装载基地址记件中。E_AddInstrumentFunction(Trace, 0)函数:注册名为‘Trace’的Trace()函数判断本次跟踪是否在程序主模块中,若不是则直接;然后遍历每一个基本块。同时在 Trace()函数中的 BBL_Ins了指定在基本块前进行插桩的 IPOINT_BEFORE 参数,插入。最终只需要在 BBLHit 函数中进行基本块地址的登记。要注意ap 数据结构保存已登记的基本块,以避免一个基本块被重复ddFiniFunction()函数:实现对文件打开和关闭的清理工作。lock.log 文件内容如图 5.2 所示。
江苏大学硕士学位论文址。异常信息处理模块是整个系统的最后一个模块,当经过 Fuzzing 测试之后,在程序监控模块的基础上,收到程序崩溃信息,包括时间、测试用例路径和各种寄存器的地址等,经过分析处理,最后形成异常报告。系统输出的异常报告函数接口如图 5.6 所示。{#是否测到问题
【参考文献】:
期刊论文
[1]一种模块化可拓展策略的模糊测试工具[J]. 陈鹏. 电子设计工程. 2018(23)
[2]基于动态适应度函数的模糊测试技术研究[J]. 邓一杰,刘克胜,朱凯龙,常超. 计算机应用研究. 2019(05)
[3]软件与网络安全研究综述[J]. 刘剑,苏璞睿,杨珉,和亮,张源,朱雪阳,林惠民. 软件学报. 2018(01)
[4]一种面向快速条件断点的代码优化与生成策略[J]. 朱浩,应欢,王东辉,侯朝焕. 微电子学与计算机. 2014(04)
[5]多维Fuzzing技术综述[J]. 吴志勇,夏建军,孙乐昌,张旻. 计算机应用研究. 2010(08)
[6]一种遗传算法适应度函数的改进方法[J]. 张思才,张方晓. 计算机应用与软件. 2006(02)
硕士论文
[1]基于Fuzzing测试的电力工控系统漏洞挖掘技术研究[D]. 张学聪.南昌航空大学 2018
[2]面向路径的测试数据自动生成研究[D]. 于笳韵.南京理工大学 2018
[3]基于改进遗传算法的应用研究[D]. 曹道友.安徽大学 2010
本文编号:3139368
【文章来源】:江苏大学江苏省
【文章页数】:90 页
【学位级别】:硕士
【部分图文】:
轮盘赌法示意图
江苏大学硕士学位论文在目标程序映像被装载时调用,将程序主模块的装载基地址记件中。E_AddInstrumentFunction(Trace, 0)函数:注册名为‘Trace’的Trace()函数判断本次跟踪是否在程序主模块中,若不是则直接;然后遍历每一个基本块。同时在 Trace()函数中的 BBL_Ins了指定在基本块前进行插桩的 IPOINT_BEFORE 参数,插入。最终只需要在 BBLHit 函数中进行基本块地址的登记。要注意ap 数据结构保存已登记的基本块,以避免一个基本块被重复ddFiniFunction()函数:实现对文件打开和关闭的清理工作。lock.log 文件内容如图 5.2 所示。
江苏大学硕士学位论文址。异常信息处理模块是整个系统的最后一个模块,当经过 Fuzzing 测试之后,在程序监控模块的基础上,收到程序崩溃信息,包括时间、测试用例路径和各种寄存器的地址等,经过分析处理,最后形成异常报告。系统输出的异常报告函数接口如图 5.6 所示。{#是否测到问题
【参考文献】:
期刊论文
[1]一种模块化可拓展策略的模糊测试工具[J]. 陈鹏. 电子设计工程. 2018(23)
[2]基于动态适应度函数的模糊测试技术研究[J]. 邓一杰,刘克胜,朱凯龙,常超. 计算机应用研究. 2019(05)
[3]软件与网络安全研究综述[J]. 刘剑,苏璞睿,杨珉,和亮,张源,朱雪阳,林惠民. 软件学报. 2018(01)
[4]一种面向快速条件断点的代码优化与生成策略[J]. 朱浩,应欢,王东辉,侯朝焕. 微电子学与计算机. 2014(04)
[5]多维Fuzzing技术综述[J]. 吴志勇,夏建军,孙乐昌,张旻. 计算机应用研究. 2010(08)
[6]一种遗传算法适应度函数的改进方法[J]. 张思才,张方晓. 计算机应用与软件. 2006(02)
硕士论文
[1]基于Fuzzing测试的电力工控系统漏洞挖掘技术研究[D]. 张学聪.南昌航空大学 2018
[2]面向路径的测试数据自动生成研究[D]. 于笳韵.南京理工大学 2018
[3]基于改进遗传算法的应用研究[D]. 曹道友.安徽大学 2010
本文编号:3139368
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3139368.html