一、 漏洞说明
2017年12月, Google发布 “Janus”安卓漏洞(CVE-2017-13156)。该漏洞可以让攻击者绕过Android系统的签名机制,在不改变开发者签名的情况下对APP进行篡改。
在Android 5.0到8.0系统中,所有基于signature scheme V1签名机制的App均受“Janus”漏洞影响。仅基于signature scheme V2签名的APP在Android 7.0及以上版本系统中不受影响。
二、 漏洞危害
Android应用进行更新时,Android运行时会检查更新包签名,只有签名与原安装包一致才允许更新包安装到系统。基于Janus漏洞,攻击者可以修改APP而不影响其原始签名,篡改后的APP可以成功安装运行。具体风险产生于APK被篡改后植入的恶意代码,可能造成的后果如下:
- 对存储在原手机上的数据进行读取,例如金融类APP的银行密码、支付密码、token; 通信类APP的聊天记录、图片、通信录
- 对用户的输入做各种监听、拦截、欺诈,引导用户输入密码,转账。
- 利用这个漏洞可以更新Android的系统APP,从获得更高的系统权限,甚至root/越狱,为其他攻击做准备。
三、 解决方案:
方案一:使用Android studio 2.3及以上版本的studio工具进行打包,打包时同时勾选V1,V2签名
勾选v1和v2签名说明:
1)只勾选v1,跟以前是一样的,但是在7.0上不会使用更安全的