Stagefright漏洞爆出没多久,Android平台又爆出一重大漏洞,影响55%的手机。IBM的X-Force应用安全研究团队近日发现了这一漏洞。攻击者可以利用这个任意代码执行漏洞给一款没有权限的恶意应用授权,提升其权限,黑客就可以借此操控设备。除了这个Android漏洞,研究人员还发现了几个存在漏洞的第三方Android SDK,可以帮助攻击者操控APP。
我们最近在Hacking Team泄露的文件中看到过类似的攻击技巧。该种攻击使用一款名为BeNews的新闻APP,其实是伪造的APP,应用请求的权限看起来都没有恶意,以此躲过了Google Play的过滤机制。一旦用户运行APP,它就会下载另外一些代码,还会使用Futex漏洞(CVE-2014-3153)exp提升权限。这次研究人员发现的攻击类型也和这个很类似,即使是安全意识很强的用户也难以防范。
漏洞介绍
这个Android序列化漏洞(CVE-2015-3825)存在于Android平台本身,影响的版本包括4.3至5.1,也就是Jelly Bean、KitKat、棒棒糖和Android M预览版1,波及55%的Android设备。
研究人员的论文中介绍了一个可靠的PoC,能够演示攻击的可行性。这个PoC能够攻击高权限的system_server进程,这样就能够将权限提升至系统用户的级别,这种级别有相对宽松的SELinux配置,从而破坏行为会加大。
举例来说,攻击者可以通过替换目标应用的apk接管受害者手机上的任意应用。这就可以让攻击者以受害者的身份执行操作。另外,我们还可以利用Android Keychain应用运行shell命令,从设备中的所有应用中窃取数据。甚至还可以更改SELinux策略,在某些设备上还可以加载恶意的内核模块。
攻击过程
首先攻击者会做一个看起来没有安全隐患的APP,安装后,应用不会请求读取设备数据,因此用户会放松警惕。
但是一旦安装后,恶意软件就会用OpenSSLX509Certificate中的漏洞修改手机内存值,然后提权。进而用假的APP替换正规的APP,重启设备,重启后攻击者就可以收集用户数据了。
演示视频
以下是PoC的演示视频。一旦恶意软件被执行,它就会用假APP替代真APP,攻击者便可以从应用中窃取敏感数据或者制造钓鱼攻击。视频中,研究人员将真的Facebook应用替换为名为Fakebook的假APP。
SDK漏洞(CVE-2015-2000/1/2/3/4/20)
研究人员还在几款SDK中发现了漏洞:
Jumio (CVE-2015-2000)
MetaIO (CVE-2015-2001)
PJSIP PJSUA2 (CVE-2015-2003)
GraceNote GNSDK (CVE-2015-2004)
MyScript (CVE-2015-2020)
esri ArcGis (CVE-2015-2002)
另外,Google Play Services APK中同样包含了带漏洞的OpenSSLX509Certificate类。
补丁
好消息是Google已经修复了Android 4.4、5.1、5.0平台中的漏洞,在Android M (build MPZ79M)版本中漏洞也已被修复。上述的SDK厂商也同样修复了产品中的漏洞。但你的设备要等多久才能有更新推送就是另一回事了。
研究人员将在华盛顿举办的USENIX WOOT ’15大会上分享更多细节。你也可以查看他们的论文了解更多。