趋势科技最近读到一个Android系统崩溃漏洞会影响Google的Bouncer服务(自动扫描恶意软件服务)。而令人担忧的是这个漏洞也会影响到Android OS版本4.0及以上的移动设备,相信网络犯罪份子可能会利用这个漏洞来对Android智能手机和平板电脑进行实质性的损害。设备会进入无限重新启动的循环,这可能会导致设备无法使用,其中一些可能就会“变砖”。
他们如何做到?
趋势科技的分析显示,第一次崩溃是因为窗口管理程序的内存损毁,这是应用程序用来控制给定屏幕位置和窗口外观的界面。大量数据被放到Activity卷标,这是窗口都会有的窗口标题。
如果网络犯罪分子制造一个应用程序,内含具备巨大标签的隐藏活动,用户根本不知道它会触发这个漏洞。网络犯罪分子可以进一步地掩饰漏洞,设定定时器来触发会停止当前应用程序活动和打开隐藏活动的事件。当定时事件被触发就会执行这个漏洞,造成系统服务崩溃。这会停止移动设备的所有功能,并且该系统会被强制重新启动。
更糟的是,当恶意软件被设计成在设备启动时自动执行。这样会让设备陷入无限重启循环,无法再被使用。此时只有透过boot loader回复修补程序才可以解决,这代表所有储存在设备内的数据(联络人、照片、档案等)都会被删除。
发现会使一连串服务崩溃的臭虫
趋势科技进一步的研究发现,除了WindowManager以外,PackageManager和ActivityManager也容易出现类似的崩溃漏洞。请注意,这样的漏洞攻击应用程序并不需要任何特殊权限。
在AndroidManifest.xml档案中,应用程序的卷标名称可以在元素的“andoid:label”属性设定,它可以是原始字符串,而不只是字符串资源的引用。在一般情况下,在AndroidManifest.xml声明超长原始字符串卷标的应用程序会无法安装,因为Android
Blender的交易缓冲区大小限制。但透过了ADB(Android Debug Bridge)这被许多第三方市场客户端所使用的界面,就可以安装这样的应用程序,导致PackageManager服务立刻崩溃。
图一、PackageManager服务崩溃
跟着就会发生连锁反应,依赖PackageManager的所有其他程序也会崩溃,让Android设备完全无法使用。下面是一些崩溃服务的通知信息,其中包括Launcher和android.process.acore。
图二、依赖PackageManager的服务崩溃
系统服务ActivityManager也会受到影响,因为Blender交易的持续错误。这可能导致Blender驱动程序崩溃,然后让设备自动重启。在这时候,使用者并没有其他办法,只能抱着让所有数据都被删除的风险将设备硬恢复出厂值。
图三、Binder驱动程序崩溃
使用者应该怎么办?
跟往常一样,趋势科技建议用户不要从第三方应用程序下载平台下载软件。对于第三方应用程序都要抱着怀疑的态度,因为网络犯罪分子会持续地找寻以发现和攻击Android设备的每一个可能漏洞。相关漏洞已经通知了Google,但是使用者还是要采取必要的预防措施来保护自己的移动设备。
熟悉Android
Debug Bridge的开发者也可以利用它来移除有问题的应用程序,(趋势科技要感谢rmack指出这方法可以提供给开发者和其他升级使用者)趋势科技已经将这个问题通知给了Google的Android安全小组。
了解趋势科技移动安全软件个人版,请点击链接:
http://www.trendmicro.com.cn/pccillin/mobile-security-for-android.html
|