查看原文
其他

研究人员推出智能灰盒模糊测试概念

Eduard Kovacs 代码卫士 2022-05-23

 聚焦源代码安全,网罗国内外最新资讯!

编译:360代码卫士团队

研究人员推出智能灰盒模糊测试 (smart greybox fuzzing) 的概念,表示和现有的模糊测试工具相比,智能灰盒模糊测试在解析复杂文件的库中能更加有效地找到漏洞问题。

模糊测试通过向目标应用程序发送格式不正确的输入找到软件漏洞问题。如果软件崩溃或者行为发生异常,那么可以推测存在安全缺陷。模糊测试主要分为三类:黑盒模糊测试,即测试人员对目标一无所知;白盒模糊测试,即对目标具有完整认识而且测试是通过源代码执行的;以及灰盒测试,即测试人员对目标应用程序具有一定的了解。

五名来自新加坡国立大学、澳大利亚莫纳什大学以及罗马尼亚布加勒斯特大学理工学院的研究人员一直在寻找改进灰盒模糊测试的方法,目前他们声称已经获得了显著结果。

研究人员基于安全专家 Michal Zalewski(即 lcamtuf)开发的 American Fuzzy Lop (AFL) 测试工具,创建了一款名为 AFLsmart 的工具,实现了他们所提出的智能灰盒模糊测试。

安全专家指出,AFLsmart 在分析解析结构复杂的文件如音频、视频、图像、文档和数据库文件的库中非常有效。

在基于覆盖率的灰盒模糊测试中,这款测试工具被提供了一个种子文件,它随机浏览、删除、复制或添加位,以便生成可由经测试库所解析的新文件,以便找到潜在的漏洞问题。然而,问题在于,在复杂的文件格式情境中,位翻转并会不生成有效文件。

研究人员解决这一问题的方法是,定义适用于虚拟文件结构而非位级别的“创新性变异操作符”,以确保文件仍然是有效的。

研究人员在论文中表示,“我们引入了一个新的基于有效性的功率调度 (power schedule),使得智能灰盒模糊测试能够花费更多的时间生成更可能通过程序解析阶段的文件,而这种文件可能会暴露出处理逻辑更深层次的漏洞问题。”

在实验中,研究人员测试了11款处理可执行二进制 (ELF)、图像、音频和视频文件的流行开源库,包括 Binutils、LibPNG、ImageMagick、LibJPEG-turbo、LibJasper、FFmpeg、LibAV、WavPack 和 OpenJPEG。

这些库都经过了 AFLsmart 工具的测试,而且和经过 AFL、AFLfast和 Peach 模糊测试工具的测试结果进行了比对。AFLsmart 披露了33个漏洞问题,是 AFL 发现问题数量的两倍,而 AFLfast 和 Peach 模糊测试工具并未发现任何问题。

AFLsmart 工具共在研究人员开展的测试中发现了42个漏洞问题,其中17个问题目前都已得到 CVE 编号。在之前提及的33个问题中,其中8个被分配了 CVE 编号。这些安全漏洞包括断言失败、堆和栈缓冲区溢出、空解指针引用和“被0除(divided-by-zero)”问题。

研究人员表示,打算将 AFLsmart 工具开源。





推荐阅读

电视节目模糊化处理二维码后,我是如何逆向成功并赢取1000美元的?(第二部分)



原文链接

https://www.securityweek.com/researchers-introduce-smart-greybox-fuzzing



本文由360代码卫士编译,不代表360观点,转载请注明“转自360代码卫士 www.codesafe.cn”。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存