JNI Global References Are Still Vulnerable: Attacks and Defenses

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: He, Yi, Zhou, Yuan, Gu, Yacong, Su, Purui, Li, Qi, Zhou, Yajin, Jiang, Yong
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866911861239185408
author He, Yi
Zhou, Yuan
Gu, Yacong
Su, Purui
Li, Qi
Zhou, Yajin
Jiang, Yong
author_facet He, Yi
Zhou, Yuan
Gu, Yacong
Su, Purui
Li, Qi
Zhou, Yajin
Jiang, Yong
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2405_00526
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle JNI Global References Are Still Vulnerable: Attacks and Defenses
He, Yi
Zhou, Yuan
Gu, Yacong
Su, Purui
Li, Qi
Zhou, Yajin
Jiang, Yong
Cryptography and Security
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.
title JNI Global References Are Still Vulnerable: Attacks and Defenses
topic Cryptography and Security
url https://arxiv.org/abs/2405.00526