arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2405.00526cs.CR
收藏

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

JNI Global References Are Still Vulnerable: Attacks and Defenses

Yi He, Yuan Zhou, Yacong Gu, Purui Su, Qi Li, Yajin Zhou, Yong Jiang

AI总结:

本文提出一种在最新 Android 系统中仍可实施的 JNI 全局引用耗尽型 DoS 攻击,并开发 JGREAnalyzer 工具系统检测相关漏洞,同时提出基于全局引用计数的防御方案。

摘要:

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

英文摘要:

System services and resources in Android are accessed through IPC based mechanisms. Previous research has demonstrated that they are vulnerable to the denial-of-service attack (DoS attack). For instance, the JNI global reference (JGR), which is widely used by system services, can be exhausted to cause the system reboot (hence the name JGRE attack). Even though the Android team tries to fix the problem by enforcing security checks, we find that it is still possible to construct a JGR exhaustion DoS attack in the latest Android system. In this paper, we propose a new JGR exhaustion DoS attack, which is effective in different Android versions, including the latest one (i.e., Android 10). Specifically, we developed JGREAnalyzer, a tool that can systematically detect JGR vulnerable services APIs via a call graph analysis and a forwarding reachability analysis. We applied this tool to different Android versions and found multiple vulnerabilities. In particular, among 148 system services in Android 10, 12 of them have 21 vulnerabilities. Among them, 9 can be successfully exploited without any permissions. We further analyze the root cause of the vulnerabilities and propose a new defense to mitigate the JGRE attack by restricting resource consumption via global reference counting.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑