核心:近年来用深度学习的方法来进行漏洞检测成为热门研究。但是,这类方法相较于传统的模糊测试等方法误报较多, 且由于模型可能会学习到较多的训练集上的特征,泛化性较差。因此,提出一种通过相似性漏洞检测和定向模糊测试相结合的方法,通过切片程序定位敏感点并获得代码切片,用于模型训练和检测,从而用模型检测的结果来指导模糊测试。
实现方法
主要通过代码切片、模型训练及检测、定向模糊测试3个步骤来实现漏洞检测,具体步骤:
(1)利用切片程序根据敏感点对代码进行切片,获得漏洞切片;
(2)利用获得的漏洞切片进行检测模型的训练及漏洞检测;
(3)根据模型检测的结果,对模型检测出的有漏洞的代码进行定向模糊测试。
整个实验过程主要在SARD数据集上进行, 未来可以通过扩充数据集来重新训练检测模型,提高其泛化能力。目前主要是利用模糊测试来对模型预测的结果进行漏洞可触发性的检测,消除了模型的误报,但对模型的漏报还有待改进。后续可以考虑对模型预测的无漏洞代码中分值较高的一部分进行模糊测试,以降低漏报率。此外,由于SARD数 据集中的代码相对短小,无法体现出该方法对模糊测试效率的提升。未来可通过检测工程文件,测试该方法对模糊测试效率的提升。
参考:基于深度学习的动静结合的漏洞挖掘方法 (qq.com)
原文:宁馨,易平 . 基于深度学习的动静结合的漏洞挖掘方法 [J]. 通信技术,2021,54(2):430-436.