随着互联网的高速发展,越来越多的程序漏洞能够被黑客利用,漏洞带来的损失也大幅度增加,因此漏洞问题成为了安全领域研究的热点之一。如何有效地进行漏洞挖掘是研究漏洞的关键所在。模糊测试(Fuzzing)是目前进行漏洞挖掘的重要手段,但是现有的模糊测试方法都存在一个共同的缺陷:需要大量的测试用例,而大量的测试案例中存在冗余的测试用例,导致测试效率低下。针对现有模糊测试的缺陷,提出了一种利用动态污点跟踪来优化模糊测试的方法。该方法的核心思想是通过动态污点跟踪技术跟踪模糊测试每个测试用例在被测试端执行过程,记录执行路径,然后利用相似度算法判断路径的相似性,从而判断测试用例是否冗余。如果测试用例冗余,下次测试就可以跳过冗余测试用例,解决了现有模糊测试存在的大量冗余测试用例;如果测试用例有效,就对有效测试用例并行化漏洞挖掘,提高利用模糊测试进行漏洞挖掘的效率。根据所提出的方法,构建了一个优化的并行化模糊测试系统。该系统主要分为模糊测试器模块、污点跟踪模块、相似度处理模块和并行化处理模块。通过对FTP(File Transfer Protocol)协议和HTTP(Hypertext Transfer Protocol)协议进行测试,能够获得每种协议在模糊测试端全部有效测试用例,减少了冗余测试用例。获得的有效测试用例可以发现的异常与非优化的模糊测试系统可以发现的异常是一致的,证明了利用动态污点跟踪优化模糊测试方法的正确性。
暂无评论