安装应用的时候包管理检查签名不知检查了多少次,在这里针对系统应用却只检查manifest.xml一个文件的签名。Google Android工程师真的是为了效率么?不管怎样,他一定是深思熟虑之后的结果,因为这里有段注释:“If this package comes from the system image, then we can trust it... we'll just use the AndroidManifest.xml to retrieve its signatures, not validating all of the files.”(所以如果真是这段代码导致的漏洞,他真伤自尊了...)
(先声明:我所描述的不一定是Bluebox Security最近宣称的漏洞,只是一种系统应用修改代码而绕过Android签名校验的方法。Bluebox Security所描述的漏洞据官网消息称,将由Bluebox的CTO Jeff Forristal,在本月27号到8月1号的拉斯维加斯美国黑帽安全大会上讲话时,公布具体的技术细节并放出相应的工具和资料)
Insertion of arbitrary code without changing package signature due to incorrect parsing of APKs (update to previous bulletin)
First published: March 4th, 2013
Last Updated: May 31st, 2013
ID: ANDROID-8219321
Severity: High
Affected Android Versions: all
ANDROID: ONE ROOT TO OWN THEM ALL
This presentation is a case study showcasing the technical details of Android security bug 8219321, disclosed to Google in February 2013. The vulnerability involves discrepancies in how Android applications are cryptographically verified & installed, allowing for APK code modification without breaking the cryptographic signature; that in turn is a simple step away from system access & control. The vulnerability affects a wide number of Android devices, across generations & architectures, with little to no modifications of the exploit. The presentation will review how the vulnerability was located, how an exploit was created, and why the exploit works, giving you insight into the vulnerability problem and the exploitation process. Working PoCs for major Android device vendors will be made available to coincide with the presentation.