2018-12-21

50天53个漏洞:Adobe Reader 模糊测试结果

nana 安全牛

安全公司 Check Point 使用流行 Windows 模糊测试框架WinAFL进行了为期50天的实验,在 Adobe Reader 中找出53个新关键漏洞。

该公司透露,2017年报告的新漏洞总数约为1.4万个,远远超出以往年份,是2016年的2倍还多。究其原因,可能是模糊测试器(即自动化漏洞查找工具)功能的完善和流行度的上升。

模糊测试器并非新鲜事物,早在20多年前就已出现,但如今变得更加强大和易用了。Fortinet预测AI模糊测试在2019年将迎来增长,因为人工智能能令模糊测试器更加高效。该趋势下零日漏洞利用可能会更加常见,影响设备及系统的安全保护过程。

专业威胁研究人员通常在实验室环境下用模糊测试查找硬件和软件中的漏洞。他们往接口和程序中输入无效或半随机数据,然后观察程序崩溃、潜在内存泄漏、无记录的调试过程跳转、代码断言失败和其他行为。

安全专家往往避免使用模糊测试器,因为他们觉得这是一种麻烦。虽然采用在增加,Check Point 还是想看看有多少触手可得的漏洞被漏掉了。50天的实验期里,他们在 Adobe Reader 中找出了50多个新CVE。平均每天找出一个CVE可不是漏洞研究的正常速度。

Check Point 的报告中称,他们选择了很常见的Windows模糊测试框架WinAFL,测试目标也是所能想到的最普通的 Adobe Reader。50天的时间框架涵盖了整个测试项目:逆向工程代码、搜寻可能有漏洞的库、编写框架,以及运行模糊测试工具。

WinAFL是AFL的Windows分叉,由谷歌 Project Zero 的 Ivan Fratric 创建并维护,是能让研究人员测试闭源程序的另一类工具,在查找文件格式漏洞上很有效果,尤其是对压缩二进制文件而言。

知道WinAFL更善于对付二进制格式,研究人员便选择集中精力攻击特定解析器。问题就在于找到这么一个解释器,并为之编写框架。在模糊测试领域,框架用于针对 Adobe Reader 之类的复杂软件,因为找出目标函数(模糊测试过程的入口点)从本质上讲并不那么容易。

在模糊测试会话开始前,研究人员必须确保总路径数量是在增加的——模糊测试器以该框架探索新路径的标识。如果路径数量是零或者接近于零,那就要调查一下有没有什么问题了。框架的稳定性应该在80%以上,且对模糊测试器的准确性和性能有很大影响。

模糊测试器的运行相当简单直观,但应按下列顺序进行:启动模糊测试器、检查覆盖率和崩溃、调查覆盖、使用cmin,然后重复。应该写个机器人程序来检查所有模糊测试器的状态,绘制每个测试器尝试过的路径,分类崩溃和产生报告,以及重启锁死的模糊测试器。

必须自动化上述操作,否则模糊测试就是相当繁琐而容易出错的。

Check Point 的策略让他们在 Adobe Reader 和 Adobe Pro 中发现了53个关键漏洞,且他们针对不同解析器重复该过程才得出最终的CVE列表。

Check Point 报告:

https://research.checkpoint.com/50-adobe-cves-in-50-days/

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启...
    执笔梦一场阅读 8,694评论 2 10
  • 小组第三次复盘,根据5-3-1进行了小组行为改善计划,并设定时间点完成执行计划 以下为小组复盘结果: 1、关雪敏:...
    派啦阅读 4,280评论 0 3
  • 不速之客? 夜遇见了谁? 夜也不知道。 只是她就这么出现在她眼前,让夜没有一点点防备。因为根本就没有一点点的声响。...
    神游的鱼阅读 1,589评论 0 0
  • ◆◆◆ 文 | 李家小猫 大部人都有意识地开始读书了,年底总结的时候,很多人晒出一年100本,200本,少的也有几...
    李家小猫阅读 8,799评论 3 77
  • [天下熙熙皆为利来,天下攘攘皆为利往。如今时代,利是最大的驱动力,是人前行的动力之源~也因此人们早已忘记内心的声音...
    芰荷塘阅读 4,463评论 2 2

友情链接更多精彩内容