结合路径标签和数据变异的模糊测试关键数据定位方法
2020-10-21焦龙龙罗森林刘望桐潘丽敏
北京理工大学学报 2020年9期
焦龙龙, 罗森林, 刘望桐, 潘丽敏
(北京理工大学 信息与电子学院,北京 100081)
模糊测试是威斯康星大学麦迪逊分校的Takanen等[1]在1988年提出的一种自动化漏洞挖掘方法[2]. 它首先生成大量畸形测试数据,然后监控被测程序处理这些畸形测试数据的过程,最后当被测程序发生异常时,就发现了一个潜在的安全漏洞[3]. 目前主要存在两种模糊测试方法:基于生成的模糊测试和基于变异的模糊测试[4].
基于生成的模糊测试需要利用输入规范来构建输入数据模型. 然而,在没有输入规范或者输入规范极端复杂的情况下,构建模型将是一件非常困难的事情[5],使基于生成的模糊测试并不能够直接对输入规范未知的程序进行测试. 基于变异的模糊测试通过对原有的测试数据进行变异来生成新的测试数据,能够在没有输入规范的情况下完成测试工作. 由于很多程序并没有对输入进行严格的检测,这种方法同样是一种很有效的测试方法[6].
国内外的研究人员已经对格式未知的输入数据中的关键数据定位问题进行了比较多的研究,主要有人工定位、基于污点分析的定位方法和基于程序执行路径的定位方法.
人工定位是在分析输入数据格式信息的基础上,对其中包含的关键数据进行定位. 人工定位对分析人员的要求比较高,且一般需要比较长的时间. 另外人工定位依赖于格式逆向分析的结果,但是由于程序中使用的混淆、加密等方法……
登录APP查看全文
