研究人员发明智能灰盒模糊测试工具 有可能开源

栏目: 编程工具 · 发布时间: 6年前

内容简介:来自3所高校的5名研究人员致力于改进灰盒模糊(Fuzzing)测试方法,并于近期宣称取得了惊人的成果。相比现有模糊测试工具,查找复杂文件解析库中漏洞的效率要高得多。模糊测试通过向目标应用发送格式不正确的输入来查找软件漏洞。如果软件崩溃或执行非预期操作,就意味着可能存在安全漏洞。

来自3所高校的5名研究人员致力于改进灰盒模糊(Fuzzing)测试方法,并于近期宣称取得了惊人的成果。相比现有模糊测试工具,查找复杂文件解析库中漏洞的效率要高得多。

研究人员发明智能灰盒模糊测试 <a href='https://www.codercto.com/tool.html'>工具</a>  有可能开源

模糊测试通过向目标应用发送格式不正确的输入来查找软件漏洞。如果软件崩溃或执行非预期操作,就意味着可能存在安全漏洞。

共有3种主流模糊测试方式:

  • 测试员对目标毫不了解的黑盒测试;
  • 测试员完全了解目标应用且测试在源码层面执行的白盒测试;
  • 以及测试员对目标应用部分了解的灰盒测试。

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

专家介绍,AFLsmart在分析结构复杂文件(比如音频、视频、图像、文档和数据库文件)解析库上效率很高。

在基于覆盖面的灰盒模糊测试中,模糊测试工具会就一个种子文件执行随机翻转、删除、拷贝或增加比特的操作,产生新的文件供被测库解析,以便找出潜在漏洞。该测试过程的问题在于,针对复杂文件格式,比特翻转产生不出有效文件。

研究人员通过定义“创新变异操作符”解决了这个问题。这些操作符执行在虚拟文件结构层级而非比特级,可以保留文件的有效性。

研究人员在论文中解释道:

我们引入了一种先进的基于有效性的调度方法,能让SGF花更多时间产生更有可能通过程序解析阶段的文件,有助于暴露出处理逻辑中更深层次的漏洞。

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

为进行对比,这些库不仅经受了AFLsmart的测试,也经历了AFL、AFLfast和Peach模糊测试工具的测试。AFLsmart发现了33个漏洞,是AFL和AFLfast发现漏洞数的两倍,而Peach测试工具一个漏洞都没发现。

研究人员利用该新工具所做的所有测试共发现了42个漏洞,其中17个已经被赋予了CVE编号。至于上文提到的33个漏洞,其中8个有了CVE编号。这些安全漏洞的类型包括断言失败、堆栈缓冲区溢出、空指针引用和除零错误。

研究人员发明智能灰盒模糊测试工具 有可能开源

研究人员计划将AFLsmart开源。

论文链接:

https://arxiv.org/pdf/1811.09447.pdf

AFLsmart模糊测试器GitHub页面:

https://github.com/aflsmart/aflsmart


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++数据结构与算法

C++数据结构与算法

[美]乔兹德克(Adam Drozdek) / 徐丹、吴伟敏 / 清华大学出版社 / 2014-10-1 / 63.00元

本书全面系统地介绍了数据结构,并以C++语言实现相关的算法。书中主要强调了数据结构和算法之间的联系,使用面向对象的方法介绍数据结构,其内容包括算法的复杂度分析、链表、栈、队列、递归、二叉树、图、排序和散列。书中还清晰地阐述了同类教材中较少提到的内存管理、数据压缩和字符串匹配等主题。书中包含大量的示例分析和图形,便于读者进一步理解和巩固所学的知识。一起来看看 《C++数据结构与算法》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具