基于关键点的混合式漏洞挖掘测试用例同步方法
混合式漏洞挖掘利用模糊测试模块和符号执行模块相互协作以达到优势互补的目标,测试用例的同步是相互协作的关键.然而,现有混合式漏洞挖掘技术方案中,测试用例同步主要以交换和整合的方式实现,较为单一,忽略了符号执行模块在探索程序状态时的运行时信息.针对上述问题,本文提出了一种基于程序关键点的测试用例同步方法(简称Sol-QSYM),旨在分析挖掘符号执行模块的执行过程,定位与识别代码覆盖率导向的程序关键点,进而指导模糊测试的测试用例调度与变异过程,实现更细粒度的测试用例同步.首先,该方法在符号执行过程中识别模糊测试模块难以触及的分支对应的变量集合,并将其提取为程序的关键点.其次,为了充分利用符号求解的结果,该方法将单次求解得到的关键点信息进行进一步组合匹配,以帮助符号执行模块额外生成更多的能够被模糊测试模块导入的测试用例.最后,在模糊测试模块中,该方法在种子挑选步骤中优先选择包含关键点信息的测试用例去引导测试过程探索程序的特定区域,并在测试用例变异中着重对关键点位置进行变异以引导其产生能覆盖新代码分支的测试用例.基于混合式漏洞挖掘工具QSYM,本文实现了一个原型系统,并选取了12个真实程序进行了实验评估.实验结果表明,相较于QSYM,Sol-QSYM的测试用例成功导入率提升了12.73%,代码覆盖率提升了9.07%,并能够发现更多的程序崩溃.这些结果表明改进后的测试用例同步方法可以很好地提高混合式漏洞挖掘对符号执行模块中程序状态探索结果的利用率.
模糊测试、符号执行、测试用例同步、混合式漏洞挖掘
54
TP309(计算技术、计算机技术)
国家自然科学基金;国家自然科学基金;湖北省重点研发计划项目
2022-05-26(万方平台首次上网日期,不代表论文的发表时间)
共9页
55-63