
我们宣布了一个星期的史前错误。 Check Point Software专家详细描述了WinRAR存档程序中的漏洞(于1月底发现并关闭)(
新闻 ,原始
研究 )。 在最坏的情况下,破坏可让您将恶意文件解压缩到硬盘驱动器上的任意位置,例如Windows自动运行目录。
此漏洞使您考虑在软件中使用难以验证的第三方库,而不仅限于此。 今天,我们将简单地讨论问题本身,WinRAR开发人员决定放弃该库以解压缩ACE格式的存档,并且还将提出在用户计算机上更新WinRAR的主题。 展望未来:尽管这一新闻引起了严重的共鸣,但它的故事却有着圆满的结局。 但是,与计算机上到达的任何存档的处理相关的漏洞类别值得特别注意。
在原始报告中,在演示问题之前,有许多(有趣的)细节,但让我们立即查看结果。
准备好的归档文件保存在桌面上,用户尝试在此处解压缩,但是将可执行文件写入自动运行目录。 怎么发生的? 研究人员使用了模糊技术,即
WinAFL软件包,该软件包由Google Project Zero团队支持,并且是Windows版本的
美国模糊循环 。 与其他类似工具一样,WinAFL允许您通过将随机(或不完全)数据传输到应用程序并保留响应来调查软件的安全性(或稳定性)。 模糊器可以被视为安全研究人员的一种“魔杖”。 它们有助于在不应该发生的地方检测各种程序崩溃。
但是,检查点报告显示事情并非如此简单。 WinAAR与WinAFL的研究有助于发现应用程序的几次意外崩溃,并将研究人员带到使用ACE格式(专有的归档标准)处理归档的库。 该库(unacev2.dll)的最新更新于2006年,没有标准的保护机制(例如ASLR或DEP)。 而且,在过去的19年中,她出现在所有版本的WinRAR中,并且后来证明,所有这些时间都是脆弱的。 在发现该错误时,WinRAR开发人员无法访问其源代码。 ACE通常是一次商业存档程序,解压缩库是免费的,但是您只能使用WinACE专有实用程序以这种格式合法地创建存档文件(该文件一直更新到2007年,
程序网站存在到2017年;现在显然已经废弃了该软件)
为了找到一个类似Path Traversal的简单漏洞,当存档程序将文件解压缩到任意目录中后,它无法正常工作,我不得不再次设置一个模糊测试实用程序,但这一次是在使用原始WinACE程序和自由分发的
代码来研究格式特性之后, Python。 在下一次随机故障之旅中,研究人员发现一个根本没有保存的文件,而WinAFL则应该保存该文件以运行该库的结果。
事实是,ACE Archiver允许您保存压缩文件的完整路径。 在正常情况下,此路径会添加到解压缩时选择的解压缩路径中。 在模糊测试过程中,事实证明,某些数据集可以使路径绝对化,也就是说,不在用户指示的位置解压缩文件,而是在任何地方解压缩文件,但这不是很好。 此外,这似乎很简单-当您不直接与库一起使用,而是与WinRAR本身一起使用时,您需要应用相同的技巧,对吗? 并非完全如此:该漏洞未复制。 我不会讲述在WinRAR本身中找到正确的参数组合并绕过验证的另一个阶段的整个历史:该程序检查并从保存路径中删除犯罪,以避免出现这种情况。 但事实证明,它并不检查所有可能的选项。
就是这样 这是使用上述Python代码对“准备好的”存档进行分析的屏幕快照。 路径开头的双精度c:\\由unacev2库和WinRAR本身处理,以便将该文件写入任意目录。 似乎已经准备好利用漏洞了? 再一次不,或者不是真的。 尝试在此配置中将可执行文件写入自动运行目录将触发Windows保护。 但是研究人员设法找到一种方法来解决此限制,方法是将文件保存在用户的目录中,例如保存在“下载”文件夹或桌面上(这很有可能)。 如开头的视频所示,通过导航到文件路径中较高的一个文件夹,将准备好的文件保存到用户自动运行目录中。
结果如何? 在WinRAR 5.70 Beta 1中,通过完全放弃使用过时的库来处理ACE文件来修复此漏洞。 任何人都不太可能对此感到严重不安。 顺便说一句,ZDNet网站上的
文章中提供的建议“不要以ACE格式打开可疑档案”是有点错误的。 WinRAR不会通过许可检测文件,即使准备好的ACE归档文件具有RAR扩展名(或其他任何扩展名),该漏洞也可以与该程序的漏洞版本一起使用。 不要打开可疑档案-这很好,但是通常需要更新。
现在,让您暂时离开该职位,看看安装了哪个版本的WinRAR(当然,除非使用此存档器)。 供参考:5.50版本于2017年发布,5.00-2012年发布,3.90-2009年发布。 由于该程序中仍然没有自动更新功能,因此WinRAR的发布日期大约有可能与系统的初始设置日期相对应。 从Zerodium漏洞代理公司的推文中可以看到,对存档器中的可利用漏洞存在需求。 诸如ACE档案库中的漏洞可用于对受害者计算机的大规模或有针对性的攻击。 应当指出,成功地运行此错误的机会绝非绝对。 邮件服务(例如,对于GMail,例如,受密码保护的存档和其中包含可执行文件的存档不会在此处被跳过)很可能会阻止受感染的存档。 当然,除非您拥有它。
尽管如此,所有这些烦人的提醒提醒需要更新计算机上安装的数十种程序之一。 否则,很容易错过一个严重的漏洞,该漏洞将在最不适当的时候起作用。 公平地说,我们注意到WinRAR中的严重问题很少出现。
免责声明:本摘要中表达的观点可能并不总是与卡巴斯基实验室的官方立场相符。 亲爱的编辑们通常建议以健康的怀疑态度对待任何观点。