模糊测试是漏洞挖掘中最为常用的方法之一,然而在测试具有高度结构化输入的软件时,传统模糊测试技术存在生成样本合法性弱和依赖人工参与的问题.针对该问题,本文在Learn&Fuzz方法的基础上,提出了一种基于深度学习的高效模糊测试技术...模糊测试是漏洞挖掘中最为常用的方法之一,然而在测试具有高度结构化输入的软件时,传统模糊测试技术存在生成样本合法性弱和依赖人工参与的问题.针对该问题,本文在Learn&Fuzz方法的基础上,提出了一种基于深度学习的高效模糊测试技术.该技术使用双向长短时记忆(bi-directional long short-term memory,BLSTM)神经网络和注意力(Attention)机制构建样本自动生成模型,通过训练使模型学习样本的内在格式特征,从而能够自动化生成符合一定语法规范的样本.另外,该技术通过改进Learn&Fuzz的采样算法,增加了测试样本的多样性和变异性,从而进一步提高了模糊测试的效率.与Learn&Fuzz方法相比,该技术能够达到更高的代码覆盖率,生成的触发崩溃样本也更多.展开更多
文摘模糊测试是漏洞挖掘中最为常用的方法之一,然而在测试具有高度结构化输入的软件时,传统模糊测试技术存在生成样本合法性弱和依赖人工参与的问题.针对该问题,本文在Learn&Fuzz方法的基础上,提出了一种基于深度学习的高效模糊测试技术.该技术使用双向长短时记忆(bi-directional long short-term memory,BLSTM)神经网络和注意力(Attention)机制构建样本自动生成模型,通过训练使模型学习样本的内在格式特征,从而能够自动化生成符合一定语法规范的样本.另外,该技术通过改进Learn&Fuzz的采样算法,增加了测试样本的多样性和变异性,从而进一步提高了模糊测试的效率.与Learn&Fuzz方法相比,该技术能够达到更高的代码覆盖率,生成的触发崩溃样本也更多.