云顶4008网站-云顶娱4008网址

联系我们

售前服务电话:800-820-8876
售后服务电话:800-820-8839
手机用户可拨打:400-820-8839

2015年8月移动客户端安全威胁概况

本月,截至2015.8.31日,发布中国区移动客户端病毒码1.943.00,大小4475603字节。


样本检测数量


APK检测数量


  十大恶意软件家族


十大广告软件家族


Android Mediaserver曝出最新漏洞


本次出现漏洞的又是Android的Mediaserver组件。我们发现了一个Android Mediaserver的漏洞,可以导致任意代码执行。利用该漏洞,攻击者可以以mediaserver的权限运行攻击代码。该漏洞编号为 CVE-2015-3842。影响范围是从Android版本2.3到5.1.1,Google已经修复该漏洞并将详细信息通过Android Open Source Project (AOSP) 公布。目前,尚没有针对该漏洞的攻击活动。最近,在这个漏洞之前,还有几个mediaserver被披露出来。 CVE-2015-3823可以导致手机无限重启。 ANDROID-21296336可以导致手机静音。 CVE-2015-3824 (Stagefright) ,可以导致黑客通过彩信安装恶意软件。


How it works

该漏洞涉及AudioEffect,AudioEffect是mediaserver的一个组件。它接收一个未经检查的参数,通常是一个app。攻击开始时,黑客通过社工等手段诱使用户安装一个不需要任何权限的程序。



系统对pReplyData和pCmdData两个buffer大小的检查不合理。这两个buffer的大小、和pCmdData的数据都来自于客户端提供的参数。当mediaserver组件使用这两个buffer时,会从pCmdData读取buffer的长度,系统默认pReplyData和pCmdData的长度大于这个值。我们可以把pReplyData这个客户端提供的参数变得比pCmdData缓冲区更小,这就会导致堆溢出。


下面是有漏洞的代码,位置在EffectBundle.cpp,源码的版本是Android 5.1.1。


另外一个有漏洞的地方在EffectReverb.cpp。



POC

我将使用Nexus 6,系统版本为Android 5.1.1 LMY47Z。编写程序通过pReplyData制造堆溢出并导致mediaserver崩溃。下图是POC的Java代码。


下图是Java调用的C++代码


一旦恶意程序在设备上安装,应用就会触发pReplyData缓冲区溢出,Android mediaserver组件就会崩溃。如果没有崩溃,PoC应用就会关闭重新运行。

下面是崩溃日志:

F/libc ( 357): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x7777776b in tid 4757 (Binder_5)

I/DEBUG ( 354): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***

I/DEBUG ( 354): Build fingerprint: 'google/shamu/shamu:5.1.1/LMY47Z/1860966:user/release-keys'

I/DEBUG ( 354): Revision: '33696'

I/DEBUG ( 354): ABI: 'arm' W/NativeCrashListener( 855): Couldn't find ProcessRecord for pid 357

I/DEBUG ( 354): pid: 357, tid: 4757, name: Binder_5 >>> /system/bin/mediaserver <<<

I/DEBUG ( 354): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7777776b

I/DEBUG ( 354): r0 b3123bb4 r1 b3123bb4 r2 77777777 r3 b404e380

I/DEBUG ( 354): r4 b3123bb4 r5 b589a1c0 r6 b3123bb4 r7 00000003

I/DEBUG ( 354): r8 0000030e r9 b3123bdc sl 00000009 fp b5873b20

I/DEBUG ( 354): ip b6e46d7c sp b3123ba8 lr b6fb1db7 pc b6fb1c26 cpsr 80000030

I/DEBUG ( 354):

I/DEBUG ( 354): backtrace:

I/DEBUG ( 354): #00 pc 0001ec26 /system/lib/libaudioflinger.so

I/DEBUG ( 354): #01 pc 0001edb3 /system/lib/libaudioflinger.so

I/DEBUG ( 354): #02 pc 0002341b /system/lib/libaudioflinger.so

I/DEBUG ( 354): #03 pc 0002045f /system/lib/libaudioflinger.so

I/DEBUG ( 354): #04 pc 00009bef /system/lib/libaudiopolicyservice.so

I/DEBUG ( 354): #05 pc 00016d95 /system/lib/libaudiopolicymanagerdefault.so (android::AudioPolicyManager::getInputForAttr(audio_attributes_t const*, int*, audio_session_t, unsigned int, audio_format_t, unsigned int, audio_input_flags_t, android::AudioPolicyInterface::input_type_t*)+736)

I/DEBUG ( 354): #06 pc 00009701 /system/lib/libaudiopolicyservice.so

I/DEBUG ( 354): #07 pc 00069647 /system/lib/libmedia.so (android::BnAudioPolicyService::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+890)

I/DEBUG ( 354): #08 pc 0001a6cd /system/lib/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned

int)+60)

I/DEBUG ( 354): #09 pc 0001f77b /system/lib/libbinder.so (android::IPCThreadState::executeCommand(int)+582)

I/DEBUG ( 354): #10 pc 0001f89f /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+38)

I/DEBUG ( 354): #11 pc 0001f8e1 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)

I/DEBUG ( 354): #12 pc 00023a5b /system/lib/libbinder.so

I/DEBUG ( 354): #13 pc 000104d5 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+112)

I/DEBUG ( 354): #14 pc 00010045 /system/lib/libutils.so

I/DEBUG ( 354): #15 pc 00016baf /system/lib/libc.so (__pthread_start(void*)+30)

I/DEBUG ( 354): #16 pc 00014af3 /system/lib/libc.so (__start_thread+6)

I/BootReceiver( 855): Copying /data/tombstones/tombstone_03 to DropBox (SYSTEM_TOMBSTONE)


可能的攻击场景

这个攻击可以被很好的控制,也就是说恶意程序可以决定何时开始攻击已经何时停止攻击。并且利用成功后的攻击代码和mediaserver具有相同的权限。因为mediaserver涉及到许多和多媒体有关的任务,如拍照,读取MP4文件,录像,所以用户的隐私将会受到威胁。只要mediaserver组件的版本相同,无论Android版本是否一样,都受到该漏洞的影响。一旦攻击发生,用户将很难确定问题的原因。在我们上边的例子里,为了方便介绍这个漏洞,我们运行了一个app来触发攻击。然而真实世界里的黑客不会用这么容易察觉的程序发起攻击。恶意程序将会尽可能地伪装自身并利用动态加载技术来避免被检测到。


解决方案

趋势科技用户可以使用趋势移动安全 Trend Micro Mobile Security (TMMS) 检测针对这个漏洞的恶意程序。其他Android用户可以重启手机到安全模式来卸载恶意程序,然而这种操作对于不擅于操作手机的用户显得有点困难。我们同时建议手机厂商及时更新设备补丁来避免终端用户受到此类漏洞的威胁。


漏洞披露时间表

6.19:我们向Google安全团队报告了该漏洞,包含POC。

6.19:Android Security Team确认为高危漏洞并分配ID AndroidID-21953516

6.24:Android Security Team分配ID CVE-2015-3842

8.1:Android Security Team在AOSP中修复了该漏洞


法律声明隐私政策
? 2020 版权所有 云顶4008网站,云顶娱4008网址 蜀ICP备15028617号
XML 地图 | Sitemap 地图