Stagefright漏洞

科技工作者之家 2020-11-17

Stagefright漏洞由Zimperium zLabs于2015年8月份首次发现,该漏洞允许远程代码执行,通过利用发送一个特制的MMS消息。该漏洞对Android 2.2及更新版本均产生影响,对4.1及更新版本影响相对较弱。

Stagefright是一组影响2.2版本(“Froyo”)和更新的Android操作系统的软件错误的名称。该名称取自受影响的Lib,其中包括用于解开MMS消息。利用该漏洞,攻击者可以通过远程代码执行和特权升级,在受害者的设备上执行任意操作。安全研究人员利用概念证明来证明这个错误,它将特制的MMS消息发送给受害者设备,并且在大多数情况下,在消息接收成功时不需要最终用户的操作 - 用户不必为“接受”攻击做任何事情使用该错误,它发生在后台。电话号码是唯一的目标信息。

底层攻击媒介利用Android核心组件中的某些整数溢出漏洞,称为“Stagefright”,这是一个复杂的软件库,主要以C ++实现,作为Android开源项目(AOSP)的一部分,用作播放各种多媒体格式(如MP4文件)的后端引擎。

历史Stagefright错误是由Zimperium安全公司的Joshua Drake发现的,并于2015年7月27日首次公开发布。在宣布之前,Drake在2015年4月向Google报告了该错误,该错误将一个相关的错误修复程序内部源代码库在报告后两天。2015年7月,总部位于莫斯科的安全研究员Evgeny Legerov宣布他已经在Stagefright图书馆发现至少两个类似的堆溢出零日漏洞,同时声称图书馆已经被利用了一段时间。 Legerov还证实,通过应用Drake提交给Google的补丁程序,他发现的漏洞变得无法解决。

Drake发布的Stagefright bug的公开全面披露于2015年8月5日在Black Hat USA [15]计算机安全会议上,并于2015年8月7日在DEF CON 23 黑客大会上公布。 6]披露之后,2015年8月5日,Zimperium公开发布了概念验证漏洞的源代码,Stagefright库的实际补丁(尽管补丁已经从2015年5月初开始在AOSP和其他开源Repositories 和一个名为“Stagefright detector”的Android应用程序,用于测试Android设备是否易受Stagefright bug影响.

截至2015年8月3日,只有少数产品实际上已经针对该错误进行了修补:Blackphone的PrivatOS自117版以来,每晚发布CyanogenMod 12.0和12.1, Sprint的三星Galaxy Note 4 Moto E,G和X,Droid Maxx,Mini和Turbo 以及Mozilla Firefox从38版开始(以及Firefox 2.2以后的版本)(该网页浏览器在内部使用Android的Stagefright库)。

2015年8月13日,Exodus Intelligence发布了另一个Stagefright漏洞,CVE-2015-3864。已知漏洞的现有修复程序无法缓解此漏洞。 CyanogenMod团队发布了一项通知,指出CVE-2015-3864的修补程序已于2015年8月13日纳入CyanogenMod 12.1源代码中。

2015年10月1日,Zimperium发布了更多漏洞的细节,也被称为Stagefright 2.0。此漏洞影响使用Android Media服务器播放时执行其有效内容的特制MP3和MP4文件。该漏洞已分配标识符CVE-2015-6602,并在名为libutils的核心Android库中找到;自Android首次发布以来,Android的一个组件。 Android 1.5到5.1都容易受到这种新攻击,估计有十亿台设备受到影响1。

启示虽然Google维护Android的主要代码库和固件,但各种Android设备的更新由无线运营商和原始设备制造商(OEM)负责。结果,由于制造商,设备变体,Android版本以及制造商执行的各种Android定制之间的大量碎片化,向实际设备传播补丁通常会引入长时间延迟; 此外,许多较旧或较低低成本设备可能永远不会收到补丁固件。许多未维护的设备需要根植,这违反了许多无线合同的条款。因此,Stagefright bug的本质突出了与Android补丁传播有关的技术和组织方面的困难。

为了解决与Android补丁传播有关的延迟和问题,2015年8月1日,Zimperium成立了Zimperium手机联盟(ZHA),作为一个有兴趣交流信息并及时接收有关Android安全相关更新的各方协会的问题。 ZHA成员还在公开发布之前收到了Zimperium的概念验证Stagefright漏洞利用源代码。截至2015年8月6日,已有25家最大的Android设备原始设备制造商和无线运营商加入了ZHA。

缓和对于运行未打补丁的Android版本的设备,存在Stagefright错误的某些缓解措施,包括禁用MMS消息的自动检索并阻止接收来自未知发件人的文本消息。但是,这两种缓解措施在所有MMS应用程序中都不受支持(例如,Google环聊应用程序仅支持前者),并不涵盖所有可行的攻击媒介,因此可能会利用Stagefright bug通过其他方式,例如通过使用设备的网页浏览器打开或下载恶意多媒体文件。

起初,人们认为进一步的缓解可能来自Android 4.0“冰淇淋三明治”中引入的地址空间布局随机化(ASLR)功能,在Android 4.1“Jelly Bean”中完全启用; 版本的Android 5.1“Lollipop”包含针对Stagefright bug的补丁。不幸的是,后来的结果和像绕过ASLR的隐喻一样在2016年被发现。

本词条内容贡献者为:

李岳阳 - 副教授 - 江南大学

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。