据http://bluebox.com/corporate-blog/bluebox-uncovers-android-master-key/报道。The vulnerability involves discrepancies in how Android applications are cryptographically verified & installed, allowing for APK code modification without breaking the cryptographic signature.就是修改了代码,签名保持不变,仍能安装!!!很奇怪的问题,一定是安装时的签名认证除了问题啊!!
解释一下代码签名:
对比一个没有签名的APK和一个签名好的APK,我们会发现,签名好的APK包中多了一个叫做META-INF的文件夹。里面有三个文件,分别名为MANIFEST.MF、CERT.SF和CERT.RSA。
CERT.RSA文件里面存储的有签名值和证书链。证书链一方面用于认证签名,另一方面就是共享签名的证据,系统就是通过证书链判定两个应用是否用同一个签名。
现在的结果就是代码改变了。。。签证值没变。。证书链肯定没变。但签名校验通过了。。。
后果很严重:
1、repackage本就非常普遍,但修改了签名。如果签名都保持不变,你就很难检测了
2、shareuid.修改原来的应用,加料,修改包名。然后就开始窃取信息。如修改微信,包名改为他信!签名一样,同样的UID,从此围观屌丝和女神的呵呵!
3、无权限玩遍android。你需要啥权限,就找谁申请了这个权限。然后给他加料!!修改包名安装,共享UID。
4、依据代码签名的软件升级机制,以后升完级,发现变成怪物了!!
下面的这个图就是漏洞发现者修改了系统应用,没有改变签名啊!自己成了系统应用了!!!关键是获取了UID,牛逼的身份啊!