前情回顾·漏洞威胁态势

安全内参11月6日消息,攻击者只需诱导用户安装一个经过特殊构造的应用。该应用无需申请任何权限,也无需启动,就能让安卓设备持续重启,导致设备无法正常使用。

这一漏洞可造成持续性的拒绝服务(DoS)攻击。研究人员将其命名为“GhostMap”。该漏洞会让安卓系统把文件映射到未分配的内存区域,当相关进程尝试读取该区域时,就会发生崩溃。

欧洲网络安全公司Bitdefender在分析一款安卓银行木马时发现了这一漏洞。当时,该木马在尝试读取应用资源时,导致研究人员使用的模拟器反复崩溃。

为验证漏洞,研究人员专门开发了一款测试应用。该应用不包含任何可执行代码,安装时不申请任何权限,也不需要用户手动启动。只要安装,就能触发漏洞。

Bitdefender表示,谷歌早在8月就已获悉这一漏洞,但随后以“无法复现”为由关闭了该问题,且没有发布修复补丁。

设备可能因此彻底无法使用

11月15日,Bitdefender发布报告指出,GhostMap漏洞源于安卓系统中的两个库对ZIP压缩方法的解析方式不同。攻击者可以利用这一差异,构造格式异常的APK(安卓应用安装包),绕过文件大小检查,让系统把文件映射到超出其实际内容范围的内存区域。

研究人员解释称:“任何进程一旦尝试读取此类文件条目,就会触发SIGBUS信号。该信号由CPU发出,用于终止访问无效内存空间的进程。”

为演示漏洞引发的循环崩溃,Bitdefender开发了一款测试应用,其中包含一个资源文件。安装完成后,安卓核心系统服务system_server会自动尝试读取该文件。

读取操作随即触发漏洞,导致相关进程崩溃并重启。进程重启后,又会读取同一资源文件,再次崩溃,形成无限循环。

测试中,研究人员使用了一台运行安卓17系统、安装了8月5日安全补丁的Pixel 10手机。安装测试应用后约1秒,设备便开始反复崩溃。在正常启动模式下,崩溃循环重复了110次;在安全模式下,则重复了72次。

Bitdefender警告称,这种持续崩溃还会导致用户无法进入安全模式。通常情况下,用户可以进入安全模式排查故障,让设备恢复正常运行。但在此次攻击中,这一常规排查手段也可能失效。

谷歌尚未发布修复补丁

目前,有两种方法可以终止崩溃循环:

一是将设备恢复出厂设置,但这会清除设备本地存储的所有数据;二是通过安卓调试桥(ADB)删除格式异常的文件。

不过,第二种方法有一定限制:设备必须事先开启USB调试功能,而且必须在系统再次崩溃之前,通过ADB运行相关脚本完成恢复操作。

Bitdefender于8月20日向谷歌报告了这一漏洞,但收到的回复是“不会修复(无法复现)”。谷歌还认为,该问题不在安全更新的处理范围内。

研究人员认为,谷歌可能对最初提交的漏洞报告分类有误,因此于8月25日提交了补充报告,提供了更详细的漏洞信息。然而,谷歌仍认定该问题不属于安全更新的处理范围,但表示会考虑在未来更新中评估是否修复。

参考资料:https://www.bleepingcomputer.com/news/security/ghostmap-android-flaw-lets-malicious-app-trigger-persistent-boot-loop/

声明:本文来自安全内参,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。