节点文献
针对WebAssembly虚拟机的模糊测试方案
【摘要】 模糊测试是一种简单而高效的漏洞挖掘技术,但是对于具有复杂文件格式输入的应用程序,随机的变异策略会带来效率低下的问题。在使用基于覆盖率的灰盒模糊测试对WebAssembly虚拟机进行测试时,由于WebAssembly二进制文件遵循严格的格式,随机变异的方式难以生成合法有效的文件,导致代码覆盖率较低,并且难以检测虚拟机的深层逻辑。针对这一问题,本文提出了一种基于指令修正的分层模糊测试方案,分别在段表层和指令层对WebAssembly进行合理变异。同时引入了指令的修正机制,在保证文件整体有效性的同时,生成具有丰富语义的测试样例,有效地增加了模糊测试的覆盖率。文章还引入一种基于合法性的能量调度算法,使得具有高覆盖率的种子得到更多的执行时间,从而能够暴露出目标程序处理逻辑中深层次的漏洞。本文基于开源模糊测试工具AFL进行开发,对EOS的WebAssembly虚拟机进行了测试,执行24小时比原生的AFL覆盖率提高了35%,并发现了更多的崩溃。
【关键词】 模糊测试;
WebAssembly虚拟机;
分层变异;
指令修正;
- 【文献出处】 网络安全技术与应用 ,Network Security Technology & Application , 编辑部邮箱 ,2020年06期
- 【分类号】TP302;TP309
- 【下载频次】122