Firefox远程代码执行漏洞技术分析与防护方案

火狐浏览器上暴露出一个 JavaScript 0Day漏洞CVE-2016-9079,而且已经被用于攻击 Tor 用户。据绿盟科技预警通告称,“该漏洞是一个存在于SVG Animation模块中的释放后重用(UAF)漏洞,当用户使用Firefox浏览包含恶意Javascript和SVG代码的页面时,会允许攻击者在用户的机器上远程执行代码。受该漏洞影响的平台包括Windows,Mac OS以及Linux。这个漏洞利用程序据说包含一个HTML文件和一个CSS文件,最初被报告出现在Tor项目的邮件列表中  。企业安全公司Trail of Bits 分析了这个漏洞利用程序  ,确定它利用了影响火狐SVG解析器的一个释放后使用(Use-after-Free)漏洞。其他人说这是一个堆缓存溢出漏洞,但Trail of Bits说对其分析结果“相当有信心”。

Trail of Bits的首席执行官Dan Guido在Twitter上解释说,这些类型的漏洞几年前就在WebKit上发现过,但仍未在火狐中得到解决。Guido说,由于内存分区,这个漏洞很难在谷歌Chrome和微软Edge中被利用;但这一措施并未出现在火狐中。

漏洞显然还会影响 Mac OS 中,但目前来看该漏洞主要是针对 Windows 计算机。目前尚不清楚,是谁创造了利用此漏洞,但 Trail of Bits 认为它是重新编写的。

几年前 ,MWR 就在 WebKit 上发布过这一领域的研究成果 看来火狐落后了几年。

— Dan Guido (@dguido) November 30, 2016

The researcher known online as “TheWack0lian” has analyzed the payload  delivered by the exploit and determined that it’s similar to the one used by the FBI in 2013 to  identify Tor users suspected of being child-pornography traders.

那不是美国联邦调查局唯一一次利用火狐零日漏洞来揭露Tor网络上的罪犯。今年早些时候,Mozilla请求华盛顿西区一个法庭,要求政府公布执法部门2015年逮捕儿童色情嫌犯时利用的一个漏洞。

虽然部分专家认为Tor用户应该在浏览器中禁用JavaScript,避免成为这类攻击的受害者;但其他人指出,禁用JavaScript会导致许多网站无法正常工作。Tor项目对此表示同意。这就是为什么在Tor浏览器中NoScript默认允许JavaScript运行。

绿盟科技《Firefox远程代码执行漏洞技术分析与防护方案》

2016年11月30日,Mozilla Firefox官网发布了一个紧急更新,修补了编号为CVE-2016-9079的漏洞。该漏洞是一个存在于SVG Animation模块中的释放后重用(UAF)漏洞,当用户使用Firefox浏览包含恶意Javascript和SVG代码的页面时,会允许攻击者在用户的机器上远程执行代码。受该漏洞影响的平台包括Windows,Mac OS以及Linux。详情请见如下链接:

https://www.mozilla.org/en-US/security/advisories/mfsa2016-92/

漏洞分析

此漏洞存在于SVG动画模块中,是一个释放后再引用(UAF)的漏洞。

根据已曝光的漏洞代码来看,此漏洞影响Firefox的所有运行平台,包括Windows,Linux和Mac OS。

漏洞位于SVG动画的 nsSMILTimeContainer::NotifyTimeChange() 函数中。以下是触发此漏洞的简单示例代码:

图1 POC示例代码

但其中的攻击代码目前只针对Windows,一旦攻击成功后,会将受害者的主机名和MAC地址发送到远程服务器。

攻击者通过堆喷射技术在内存中大量分配填充预定义的指令从而绕过地址空间随机化(ASLR),如下图所示:

图2 使用堆喷射技术

然后动态构造ROP,绕过DEP,执行shellcode:

图3 构造ROP链

shellcode的功能为获取受害者机器的主机名和MAC地址,连接远程服务器(5.39.27.226):

图4 shellcode部分反汇编代码

通过HTTP请求将受害者机器的主机名和MAC地址,发送出去。

图5 通过HTTP请求发送信息

影响的版本

  • Firefox version < 50.0.2
  • Firefox ESR < 45.5.1
  • Thunderbird < 45.5.1

不受影响的版本

  • Firefox version = 50.0.2
  • Firefox ESR = 45.5.1
  • Thunderbird = 45.5.1

官方解决方案

官方已经发布了版本更新,建议用户升级到最新版本。在火狐浏览器中勾选自动更新后,浏览器会自动更新到该最新版;或者手动下载最新版本安装,下载页面如下:

  • Firefox 50.0.2  https://www.mozilla.org/en-US/firefox/50.0.2/releasenotes/
  • Firefox ESR 45.5.1  https://www.mozilla.org/en-US/firefox/organizations/all/
  • Thunderbird 45.5.1  https://www.mozilla.org/en-US/thunderbird/

技术防护方案

产品类

  • 使使用绿盟科技防护类产品NIPS/NIDS/NF进行防护。
  • 使用绿盟科技的远程评估系统RSAS进行安全评估。

服务类

  • 短期服务:绿盟科技工程师现场处理(渗透测试+应急响应)。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
  • 中期服务:提供 3-6个月的风险监控与巡检服务。根除风险,确保事件不复发。
  • 长期服务:基于行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务)

 

本安全公告仅用来描述可能存在的安全问题,绿盟科技不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,绿盟科技以及安全公告作者不为此承担任何责任。绿盟科技拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经绿盟科技允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称绿盟科技)成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究,绿盟科技在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称:绿盟科技,股票代码:300369。

如果您需要了解更多内容,可以
加入QQ群:486207500、570982169
直接询问:010-68438880-8669

Spread the word. Share this post!

Meet The Author

Leave Comment