- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Stagefright漏洞详细分析报告
Stagefright漏洞详细分析报告1 前言本文将会描述stagefright漏洞原理、POC以及如何防御。2 详述先来看下攻击面和攻击向量这两个概念。从技术角度讲攻击面指的是攻击者可以执行并进而攻击的代码,简单的讲就是代码中可能存在着的尚待挖掘的安全漏洞位置。和攻击面关系紧密的就是攻击向量,同样从技术角度将攻击向量指的是攻击者实施行动的方式,用来描述执行攻击的方法,简单的讲攻击向量描述的攻击者是如何达到并触发任意给定的漏洞代码。为了描述stagefright漏洞的攻击面和获得更多的攻击向量,有必要简要的分析分析一下stagefright框架在整个对媒体播放器(mediaplayer)框架中的地位和作用。2.1 MediaPlayer概述Android的MediaPlayer框架为系统提供多媒体(Audio和video)的播放功能,并提供应用层调用的本地代码。整体架构图如图2.1。图 2.1 MediaPlayer框架整体架构图从架构图中我们可以看到,MediaPlayer在本地框架中由MediaPlayerService负责多媒体的功能的对外服务接口,其中把多媒体播放相关的功能交由真正的多媒体播放器引擎StagefrightPlayer和nuplayer来实现,Android在2.2版本后默认的播放器引擎换成StagefrightPlayer。MediaPlayerService把对多媒体文件的元数据解析和获取的功能委托给MetadataRetrieverClient,MetadataRetrieverClient只是起到功能中转作用,中的实现由StagefrightMetadataRetriever和MidiMetadataRetriever完成。MediaPlayerService把对多媒体(Audio和video)的记录的功能委托给MediaRecorderClient,功能的最终实现者是StagefrightRecorder。2.2 攻击面stagefright漏洞的攻击面就是MediaPlayer多媒体架构中对多媒体文件的元数据解析的代码位置。媒体文件的解析功能由StagefrightPlayer播放引擎调用MPEG4Extractor类来实现,其中漏洞的代码就存在于MPEG4Extractor和SampleTable中,具体的漏洞代码分析可以参考《Stagefright漏洞简单的分析报告》中对代码的分析。2.3 攻击向量我们再来看一下触发漏洞的攻击向量。从MediaPlayer的架构以及对漏洞代码位置的调用关系研究,最终可以确定获取多媒体元数据和播放多媒体的功能都会触发该漏洞,那么攻击向量看上去非常广泛,只要分为以下两大类。对媒体的播放。该类攻击向量包括:使用Android内置的播放器播放。基于MediaPlayer多媒体框架实现的多媒体播放功能的应用(包括浏览器打开远程对媒体URL方式的播放)都会触发漏洞。获取多媒体元数据。该类别的攻击向量包括:多媒体消息服务,eg,彩信功能。使用文件管理器及类似可以浏览文件夹并生成文件缩略图功能的APP,eg,Root Explorer和图库类APP。开机扫描SD卡中的文件并进行解析(该攻击向量由于测试困难,存在不确定性)。2.4 威胁从上面获得的攻击面和攻击向量信息中可以获得该漏洞的特点。攻击面是多媒体的元数据解析的代码,那么除了已经暴露的几个和MP4文件相关多媒体的解析外,可能存在更多的攻击面。从攻击向量来看最具威力的攻击向量是彩信触发,彩信作为Android的移动通信技术,本身就存在高危的远程攻击攻击面,远程攻击面具有无须物理位置接近、无须任何用户交互等特点,使其具有特别的威力。同时从其他网络途径下载和打开链接的多媒体文件也存在的风险,可能被恶意攻击者有针对性的攻击用户,例如诱导用户打开URL或下载恶意多媒体文件。同时,由于Stagefight的糟糕设计,使其在一些设备上Stagefight高级的权限(很接近root)和网络访问使用被利用后会造成更大的威胁。3 POC多媒体框架在运行时,存在于/system/bin/mediaserver进程中,由于stagefright的功能代码以Linux共享库方式存在/system/lib/libstagefright.so中,可以通过IDA pro远程附加进程的方式来观察漏洞的触发。下面以《Stagefright漏洞简单的分析报告》中的第三个漏洞为例,看下在IDA中观察到的触发过程。先来看下漏洞patch代码,如图 3.1。media/libstagefright/MPEG4Extractor.cpp ---- MPEG4Extractor::parseChunk图 3.1 漏洞patch代码从代码中可以看到是stagefri
文档评论(0)