中文

JNI 全局引用仍然脆弱:攻击与防御

密码学与安全 2024-05-02 v1

摘要

Android 系统的系统服务和资源通过基于 IPC 的机制进行访问。先前的研究表明,这些机制可能遭受 denial-of-service(DoS 攻击)。例如,广泛用于系统服务的 JNI 全局引用(JGR)可被耗尽,从而导致系统重启(故称 JGRE 攻击)。尽管 Android 团队通过强制执行安全检查尝试修复此问题,但我们发现即使在最新版本的 Android 系统中,也仍可构建 JGR 耗尽 DoS 攻击。本文提出了一种新的 JGR 耗尽 DoS 攻击,此攻击在不同 Android 版本(包括最新版本 Android 10)中均有效。具体而言,我们开发了 JGREAnalyzer 工具,通过调用图分析和转发可达性分析系统性地检测 JGR 漏洞服务 API。我们将此工具应用于不同 Android 版本,发现多个漏洞。具体而言,在 Android 10 的 148 个系统服务中,12 个服务存在 21 个漏洞,其中 9 个漏洞可在无任何权限的情况下成功利用。我们进一步分析了这些漏洞的根源,并提出了一种通过限制全局引用计数来消耗资源的新型防御方法,以缓解 JGRE 攻击。

关键词

引用

@article{arxiv.2405.00526,
  title  = {JNI Global References Are Still Vulnerable: Attacks and Defenses},
  author = {Yi He and Yuan Zhou and Yacong Gu and Purui Su and Qi Li and Yajin Zhou and Yong Jiang},
  journal= {arXiv preprint arXiv:2405.00526},
  year   = {2024}
}