摘要
基于覆盖率引导的模糊测试(Fuzzing)是当前最有效的漏洞自动挖掘技术.目前大部分的模糊测试工具对于新产生的测试用例实施全追踪策略.但是随着时间的流逝,模糊工具生成的测试用例都集中在程序的高频路径,使能够产生新覆盖的测试用例远少于已生成测试用例的总数,以至于全追踪策略花费了大量无意义的时间成本和运行开销.因此提出基于异常检测模型的模糊测试工具ADFuzz,筛选低频路径以减少高频路径的执行次数,从而加速模糊测试,持续引导模糊测试朝着低频路径方向变异运行,并扩大程序覆盖.通过ADFuzz,AFL,Untracer在 12个真实程序上运行 24h的实验结果显示,相比AFL,ADFuzz平均速度提升 23.8%,平均覆盖率增加 11.78%,最高增加 25.8%;相比Untracer,ADFuzz平均速度降低较少,但是漏洞数量和覆盖率都有较大提升.
基金项目
国家自然科学基金(61562040)
江西省教育厅科技项目(61562040)
Science and Technology Project of Jiangxi Provincial Education Department(GJJ200313)