内容简介:来自3所高校的5名研究人员致力于改进灰盒模糊(Fuzzing)测试方法,并于近期宣称取得了惊人的成果。相比现有模糊测试工具,查找复杂文件解析库中漏洞的效率要高得多。模糊测试通过向目标应用发送格式不正确的输入来查找软件漏洞。如果软件崩溃或执行非预期操作,就意味着可能存在安全漏洞。
来自3所高校的5名研究人员致力于改进灰盒模糊(Fuzzing)测试方法,并于近期宣称取得了惊人的成果。相比现有模糊测试工具,查找复杂文件解析库中漏洞的效率要高得多。
模糊测试通过向目标应用发送格式不正确的输入来查找软件漏洞。如果软件崩溃或执行非预期操作,就意味着可能存在安全漏洞。
共有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页面:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 对安全研究人员和渗透测试人员有用的Firefox 插件
- 研究人员训练 AI 识别人的脚步
- 安全研究人员:英伟达GPU存在旁路攻击漏洞
- 研究人员锁定 Collection #1 大型数据泄露背后黑客
- 研究人员披露可绕过 Gatekeeper 的 macOS 漏洞
- 研究人员利用人工智能技术来预测恶劣天气
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++数据结构与算法
[美]乔兹德克(Adam Drozdek) / 徐丹、吴伟敏 / 清华大学出版社 / 2014-10-1 / 63.00元
本书全面系统地介绍了数据结构,并以C++语言实现相关的算法。书中主要强调了数据结构和算法之间的联系,使用面向对象的方法介绍数据结构,其内容包括算法的复杂度分析、链表、栈、队列、递归、二叉树、图、排序和散列。书中还清晰地阐述了同类教材中较少提到的内存管理、数据压缩和字符串匹配等主题。书中包含大量的示例分析和图形,便于读者进一步理解和巩固所学的知识。一起来看看 《C++数据结构与算法》 这本书的介绍吧!