安卓Stagefright高危漏洞初探


发布人:admin分类:网络安全浏览量:24发布时间:2017-12-12

惊闻Stagefright曝出重大漏洞,可以造成远程代码执行,甚至发条彩信,就有可能入侵用户移动设备。这听起来可是难得一遇的大漏洞啊,作为安全人员,自然要好好扒一扒内幕了。

山重水复

从新闻来看,出于某些考虑,漏洞的发现者目前并没有公布相关的细节,而是决定要留到BlackHat上再进行详细的说明。也就是说,目前所知道就是Android系统的Stagefright库存在重大安全问题,具体是什么?想知道自己去Fuzz。

虽然,看起来关于漏洞细节,并没有任何头绪。但是,作为安全人员,首先要坚信的一点,就是世界上没有不透风的墙!仔细研读漏洞的新闻稿,可以发现,该漏洞已经提交给了Google,并且Google迅速的进行了修复。同时发现,Google也已经把漏洞相关信息交给了部分合作伙伴。看完这些,就能确定,这漏洞目前还能扒。

既然Google针对此漏洞,已经在源码中进行了修复。那么首先查看了Google的相关源码提交状态。

简单翻阅了提交的log。发现了一些关于libstagefright安全问题的修复,但大多言简意赅,难以确定。

柳暗花明

看起来从Google方面下手并不容易,好在Google已经将漏洞相关资料交给了合作伙伴,所以我们发现了CyanogenMod公布的一条消息。

也就是说,在CM12中已经对此漏洞进行了修复!

顺藤摸瓜

随后,我们在github上找到了CM12的提交记录

可以看到,在CM12的最近提交中,都是对Stagefright相关漏洞的修复,根据这些修复内容,对漏洞大体上也就能有一些了解了!

抽丝剥茧

我们对部分修复方案进行了简单分析。

Bug: 20139950

该bug的位置在frameworks/av/media/libstagefright/SampleTable.cpp文件的SampleTable::setSampleToChunkParams函数中,从该bug的说明和修复上来看。是由于mNumSampleToChunkOffets值太大,可能造成溢出。相关代码如下

注意红线标注部分。可能会造成访问越界。从而引发安全问题。   

Bug: 20139950

该bug在frameworks/av/ media/libstagefright/ESDS.cpp的ESDS::parseESDescriptor函数中。直接从描述和修复代码中,就能看出来,是由于在解析过程中,对变量校验不严格,可能造成越界访问的问题。

Bug: 20923261

此漏洞产生于frameworks/av/media/libstagefright/MPEG4Extractor.cpp的MPEG4Extractor::parseChunk函数中。从截图就可以看到漏洞的全貌了。当chunk_data_size小于kSkipBytesOfDataBox时,红线部分就会变成一个负数,由于setData的最后一个参数类型是size_t,所以就会被解析成很大的正数,从而造成错误。

其余漏洞产生原因类似,就不再一一进行描述了。

总结

概览全部的修复代码,发现产生漏洞的原因,都是因为对数据校验完善造成的。此次曝光的只是Stagefright的问题。考虑到Android系统中包含了大量的文件解析代码,包括图片、压缩包、音频、视频等解码库。这些库在解析文件过程中,对数据进行严格的校验了吗?会不会明天又会爆出音频解码存在严重bug?这应该是值得开发者和安全从业者深思的问题。

*作者:金山毒霸,转载须注明来自FreeBuf黑客与极客(FreeBuf.COM)


被黑站点统计 - 文章版权1、本主题所有言论和图片纯属会员个人意见,与本文章立场无关
2、本站所有主题由该文章作者发表,该文章作者与被黑站点统计享有文章相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和被黑站点统计的同意
4、文章作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、被黑站点统计管理员有权不事先通知发贴者而删除本文

免责声明

本站主要通过网络搜集国内被黑网站信息,统计分析数据,为部署安全型网络提供强有力的依据.本站所有工作人员均不参与黑站,挂马或赢利性行为,所有数据均为网民提供,提交者不一定是黑站人,所有提交采取不记名,先提交先审核的方式,如有任何疑问请及时与我们联系.

admin  的文章


微信公众号

微信公众号


Copyright © 2012-2022被黑网站统计系统All Rights Reserved
页面总访问量:21230664(PV) 页面执行时间:120.095(MS)
  • xml
  • 网站地图