arrow
返回

Fuzzing Android Native System Libraries via Dynamic Data Dependency Graph

delete2024-01-01
delete0
PRE
AI
X
Xiaogang Zhu
S
Siyu Zhang
C
Chaoran Li *
S
Sheng Wen
向
向阳 (Yang Xiang)
DOI:10.1109/TIFS.2024.3369479delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Google suggests using only the APIs documented in Android SDK. However, many app developers still choose Java Native Interface (JNI) to access system libraries because of the flexibility and freedom that non-SDK methods provide in implementing complex functions. However, using JNI may have unexpected consequences, including low-level bug-driven crashes. The bugs in system libraries can propagate to Android apps, and further cost much time and energy for developers to debug them. We develop a fuzzing tool, called JDYNUZZ, that exposes the bugs in system JNI to mitigate the aftermath of direct invocation of JNI. To fuzz a system library, one needs to not only prepare appropriate inputs, but also deal with the challenge of maintaining a correct sequence of API calls, both syntactically and semantically. To solve the challenge, the crux of JDYNUZZ is the dynamic refinement of a data dependency graph, which gradually resolves the problem of syntactic and semantic incorrectness when constructing API sequences. JDYNUZZ achieves the dynamic refinement based on the feature of Java reflection, which enables us to dynamically modify API sequences and test different code regions. We evaluate JDYNUZZ on the most recent version of Android Open Source Project (AOSP), i.e., version android-12.0.0_r31. In our experiments, JDYNUZZ discovers 34 new bugs in system JNI libraries, all confirmed by Google.
Keyword:
Libraries
Fuzzing
Operating systems
Java
Computer bugs
Reflection
Internet
Android native library
fuzzing
dynamic data dependency

期刊

IEEE Transactions on Information Forensics and Security 封面图
IEEE Transactions on Information Forensics and Security
IF:
8
论文数:
5.3K
被引数:
2.3W

机构

S
Swinburne University of Technology
学者数:
9.3K
论文数: 1.2W
被引数: 2.0W
引用论文

引用论文

err分享
err收藏
err分享
err收藏
Field Research Cooperative Wearable Systems: Challenges in Requirements, Design and Validation
err2019-10-12
err0
errOAAI
errMateus C. Silva; Vicente J. P. Amorim; Sérvio P. Ribeiro; Ricardo A. R. Oliveira
err分享
err收藏
NDroid: Toward Tracking Information Flows Across Multiple Android Contexts
err2019-03-01
err41
PREAI
errXue, Lei; Qian, Chenxiong; Zhou, Hao; Luo, Xiapu; Zhou, Yajin; Shao, Yuru; Chan, Alvin T. S.
err分享
err收藏
Genomewide Analysis of mRNA Processing in Yeast Using Splicing-Specific Microarrays
err2002-05-03
err0
PREAI
errTyson A. Clark; Charles W. Sugnet; Manuel Ares
err分享
err收藏
Fuzzing: A Survey for Roadmap模糊测试: 路线图调查
err2022-09-09
err105
PREAI
errZhu, Xiaogang; Wen, Sheng; Camtepe, Seyit; Xiang, Yang
err分享
err收藏
Deep architectures for protein contact map prediction
err2012-07-30
err0
errOAAI
errPietro Di Lena; Ken Nagata; Pierre Baldi
err分享
err收藏
学者 查看更多内容