关于Android存在APP FakeID签名漏洞的情况公告

2014-08-05 14:42:13

安全公告编号:CNTA-2014-0022

根据BlueBox在7月30日披露的公告称,Android 操作系统存在APP FakeID签名漏洞(CNVD-2014-04764 ,对应Google Bug 13678484)。攻击者可以利用漏洞开发恶意APP并绕过Android操作系统权限认证限制,发起后续攻击。

漏洞产生原因在于Android校验应用身份时采取的方式存在“单个证书充分条件”风险。 PackageManger在安装APP软件(APK格式)时并不校验证书链上所有证书的合法性,只要存在被指定的签名(SIGN)能够校验APK中所有文件的合法性即可。Android操作系统使用getPackageInfo获取安装包证书时,如果获取到多个证书,只要有一个证书可确保APK可信即可。

FakeID签名漏洞可导致恶意程序取得信赖应用的签名,绕过Android操作系统的安全验证机制,在高权限下甚至可以取得Android终端设备的控制权限。潜在的攻击场景包括:该漏洞可导致使用了webview组件的应用被恶意监控或隐私数据失窃;可能对Google Wallet类的支付应用产生威胁,如可获得NFC(近距离无线通信)设备的控制权限。

CNVD对该漏洞的综合评级为“高危”。

解决方案:

该漏洞影响部分4.4及所有4.4以下版本的安卓系统, Google已经在今年4月针对这个代码为13678484的漏洞发布修补程序,并通报给Android合作伙伴。主要在签名校验的JarVerifier类的代码JarUtils中,添加了chainCheck的选项,可以对所有证书进行校验。CNVD技术组成员单位——奇虎360公司对该漏洞进行了验证。


参考链接:

1、漏洞信息

http://bluebox.com/blog/technical/android-fake-id-vulnerability/

http://blogs.360.cn/360mobile/2014/08/04/all-about-fakeid/


2、POC

https://github.com/retme7/FakeID_poc_by_retme_bug_13678484/