-
-
[资讯](12.11)Android 高危漏洞:可被绕过签名验证机制、注入恶意代码替换合法 APP
-
发表于: 2017-12-11 10:02 2924
-
攻击者能向 Android 的签名应用中注入恶意代码
在上周 Android 修复的四十多个漏洞中,有一个漏洞能允许攻击者绕过签名验证机制而直接向程序注入恶意代码。据研究人员介绍,通过该方法能够在目标设备上实现提权操作,同时还能避开反病毒程序的检测。
错误是今年夏天由 GuardSquare 公司 CTO Eric Lafortune 发现的,他在 7 月份时向 Google 报告了该问题(CVE-2017-13156),在本月的 Android 系统更新中 Google 对此进行了修复,并于上周四对外公开了漏洞。
作为研究的一部分,Lafortune 还编写了一个 PoC 工具 Janus,能够将恶意的 DEX 文件注入到 APK 应用中。
“攻击者能将恶意代码注入到正常应用中,任何下载并安装的用户都会受到感染。” Lafortune 解释道。
“任何 Android 应用 - 从银行应用、游戏应用到 Google 地图应用 - 都有可能成为目标。一旦用户安装了受感染的程序,那么攻击者将会获得与应用程序相同的系统权限。这意味着攻击者有可能窃取银行证书、读取消息记录并进一步感染目标设备。” Lafortune 补充说。
对于系统版本低于 7.0(Nougat)以及 APK 签名方案为 v1 的 Android 设备都受到了影响,而签名方案已更新为 v2(16 年 7 月份引入)的设备则不受影响。
在 Google 的描述中,APK 签名能提升应用的验证速度,并且还通过检测 APK 是否被更改来加强完整性方面的保护。
Lafortune 表示,借助 Janus 工具可以使系统在验证 APK 签名时自动忽略文件中新增的那些额外字节。
“一方面,APK 文件是一个 zip 压缩文档,可以在 zip 标识头前包含任意的字节。” 研究人员解释。“另一方面,DEX 文件的末尾也可以包含任意的字节,即在字符串、类、方法等常规定义部分之后添加内容。因此,修改后的文件可以同时是有效的 APK 文件和有效的 DEX 文件。”
借助 Janus 工具之所以能绕过验证,是因为受影响的签名方案按相关标识头开始计算或验证应用程序的签名。
由于使用 v2 方案进行 APK 签名的应用不会受到影响,因此 Lafortune 建议开发人员应使用 v2 签名方案以确保程序不被篡改。
原文链接:https://threatpost.com/android-flaw-poisons-signed-apps-with-malicious-code/129118/
本文由看雪翻译小组 BDomne 编译
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
- [话题] 9月10日 教师节到了,说说你记忆深刻的老师 4500
- [原创] 我和程序猿男朋友的爱恨情仇【结帖】 8624
- [推荐]看雪杯AFSRC造洞节,最棒的福利送给看雪的你! 6426
- [注意]某白帽未授权渗透测试政府网站被抓 8497
- [分享] 本周 安全类会议 大汇总 4657