FANS: Fuzzing Android Native System Services via Automated Interface Analysis

被引:0
|
作者
Liu, Baozheng [1 ,2 ]
Zhang, Chao [1 ,2 ]
Gong, Guang [3 ]
Zeng, Yishun [1 ,2 ]
Ruan, Haifeng [4 ]
Zhuge, Jianwei [1 ,2 ]
机构
[1] Tsinghua Univ, Inst Network Sci & Cyberspace, Beijing, Peoples R China
[2] Beijing Natl Res Ctr Informat Sci & Technol, Beijing, Peoples R China
[3] 360 Internet Secur Ctr, Alpha Lab, Beijing, Peoples R China
[4] Tsinghua Univ, Dept Comp Sci & Technol, Beijing, Peoples R China
基金
中国国家自然科学基金;
关键词
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Android native system services provide essential supports and fundamental functionalities for user apps. Finding vulnerabilities in them is crucial for Android security. Fuzzing is one of the most popular vulnerability discovery solutions, yet faces several challenges when applied to Android native system services. First, such services are invoked via a special interprocess communication (IPC) mechanism, namely binder, via service-specific interfaces. Thus, the fuzzer has to recognize all interfaces and generate interface-specific test cases automatically. Second, effective test cases should satisfy the interface model of each interface. Third, the test cases should also satisfy the semantic requirements, including variable dependencies and interface dependencies. In this paper, we propose an automated generation-based fuzzing solution FANS to find vulnerabilities in Android native system services. It first collects all interfaces in target services and uncovers deep nested multi-level interfaces to test. Then, it automatically extracts interface models, including feasible transaction code, variable names and types in the transaction data, from the abstract syntax tree (AST) of target interfaces. Further, it infers variable dependencies in transactions via the variable name and type knowledge, and infers interface dependencies via the generation and use relationship. Finally, it employs the interface models and dependency knowledge to generate sequences of transactions, which have valid formats and semantics, to test interfaces of target services. We implemented a prototype of FANS from scratch and evaluated it on six smartphones equipped with a recent version of Android, i.e., android-9.0.0_1 46 , and found 30 unique vulnerabilities deduplicated from thousands of crashes, of which 20 have been confirmed by Google. Surprisingly, we also discovered 138 unique Java exceptions during fuzzing.
引用
收藏
页码:307 / 323
页数:17
相关论文
共 29 条
  • [1] Fuzzing Android Native System Libraries via Dynamic Data Dependency Graph
    Zhu, Xiaogang
    Zhang, Siyu
    Li, Chaoran
    Wen, Sheng
    Xiang, Yang
    IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, 2024, 19 : 3733 - 3744
  • [2] Evolutionary Fuzzing of Android OS Vendor System Services
    Cotroneo, Domenico
    Iannillo, Antonio Ken
    Natella, Roberto
    EMPIRICAL SOFTWARE ENGINEERING, 2019, 24 (06) : 3630 - 3658
  • [3] Evolutionary Fuzzing of Android OS Vendor System Services
    Domenico Cotroneo
    Antonio Ken Iannillo
    Roberto Natella
    Empirical Software Engineering, 2019, 24 : 3630 - 3658
  • [4] Automated Hybrid Analysis of Android Malware through Augmenting Fuzzing with Forced Execution
    Wang, Xiaolei
    Yang, Yuexiang
    Zhu, Sencun
    IEEE TRANSACTIONS ON MOBILE COMPUTING, 2019, 18 (12) : 2768 - 2782
  • [5] FASSFuzzer-An Automated Vulnerability Detection System for Android System Services
    Weng, Le
    Feng, Chao
    Shi, Zhi-Yuan
    Zhang, Ying-Min
    Huang, Lian-Fen
    Journal of Computers (Taiwan), 2022, 33 (02): : 189 - 200
  • [6] Usability Evaluation Framework Automated Interface Analysis for Android Applications
    Lettner, Florian
    Holzmann, Clemens
    COMPUTER AIDED SYSTEMS THEORY - EUROCAST 2011, PT II, 2012, 6928 : 560 - 567
  • [7] CuriousDroid: Automated User Interface Interaction for Android Application Analysis Sandboxes
    Carter, Patrick
    Mulliner, Collin
    Lindorfer, Martina
    Robertson, William
    Kirda, Engin
    FINANCIAL CRYPTOGRAPHY AND DATA SECURITY, FC 2016, 2017, 9603 : 231 - 249
  • [8] Dynaldroid : A System for Automated Dynamic Analysis of Android Applications
    Reddy, K. P.
    Rajesh, Babu, V
    Pareek, Himanshu
    Patil, Mahesh U.
    2015 NATIONAL CONFERENCE ON RECENT ADVANCES IN ELECTRONICS & COMPUTER ENGINEERING (RAECE), 2015, : 124 - 129
  • [9] FragDroid: Automated User Interface Interaction with Activity and Fragment Analysis in Android Applications
    Chen, Jia
    Han, Ge
    Guo, Shanqing
    Diao, Wenrui
    2018 48TH ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS (DSN), 2018, : 398 - 409
  • [10] LibDroid: Summarizing information flow of android native libraries via static analysis
    Shi, Chen
    Cheng, Chris Chao-Chun
    Guan, Yong
    FORENSIC SCIENCE INTERNATIONAL-DIGITAL INVESTIGATION, 2022, 42