Android ION Hazard: the Curse of Customizable Memory Management System
Hang Zhang, Dongdong She, Zhiyun Qian
Abstract
ION is a unified memory management interface for Android that is widely used on virtually all ARM based Android devices. ION attempts to achieve several ambitious goals that have not been simultaneously achieved before (not even on Linux). Different from managing regular memory in the system, ION is designed to share and manage memory with special constraints, e.g., physically contiguous memory. Despite the great flexibility and performance benefits offered, such a critical subsystem, as we discover, unfortunately has flawed security assumptions and designs. In this paper, we systematically analyze the ION related vulnerabilities from the conceptual root causes to the detailed implementation decisions. Since ION is often customized heavily for different Android devices, the specific vulnerabilities often manifest themselves differently. By conducting a range of runtime testing as well as static analysis, we are able to uncover a large number of serious vulnerabilities on the latest Android devices (e.g., Nexus 6P running Android 6.0 and 7.0 preview) such as denial-of-service and dumping memory from the system and arbitrary applications (e.g., email content, passwords). Finally, we offer suggestions on how to redesign the ION subsystem to eliminate these flaws. We believe that the lessons learned can help guide the future design of similar memory management subsystems.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 001dfbb7-1d3e-4fa1-b9da-0d22aa22f59eCited by top-tier papers16
- Drammer: Deterministic Rowhammer Attacks on Mobile PlatformsVictor van der Veen, Yanick Fratantonio, Martina Lindorfer, Daniel Gruss et al.CCS 2016 · 381 citations
- AceDroid: Normalizing Diverse Android Access Control Checks for Inconsistency DetectionYousra Aafer, Jianjun Huang, Yi Sun, Xiangyu Zhang et al.NDSS 2018 · 95 citations
- Understanding and Detecting Disordered Error Handling with Precise Function PairingQiushi Wu, Aditya Pakki, Navid Emamdoost, Stephen McCamant et al.USENIX Security 2021 · 31 citations
- Invetter: Locating Insecure Input Validations in Android ServicesLei Zhang, Zhemin Yang, Yuyu He, Zhenyu Zhang et al.CCS 2018 · 30 citations
- Detecting Android Root Exploits by Learning from Root ProvidersIoannis Gasparis, Zhiyun Qian, Chengyu Song, Srikanth V. KrishnamurthyUSENIX Security 2017 · 27 citations
Builds on2
- Kratos: Discovering Inconsistent Security Policy Enforcement in the Android FrameworkYuru Shao, Qi Alfred Chen, Zhuoqing Morley Mao, Jason Ott et al.NDSS 2016 · 85 citations
- Harvesting Inconsistent Security Configurations in Custom Android ROMs via Differential AnalysisYousra Aafer, Xiao Zhang, Wenliang DuUSENIX Security 2016 · 43 citations
Related papers
- DROIDFUZZ: Proprietary Driver Fuzzing for Embedded Android DevicesJianzhong Liu, Yuheng Shen, Yifei Chu, Qiang Zhang et al.DAC 2025
- The Doom of Device Drivers: Your Android Device (Most Likely) has N-Day Kernel VulnerabilitiesLukas Maar, Florian Draschbacher, Lorenz Schumm, Ernesto Martínez García et al.USENIX Security 2025
- Call Me Back!: Attacks on System Server and System Apps in Android through Synchronous CallbackKai Wang, Yuqing Zhang, Peng LiuCCS 2016 · 22 citations
- Exploit the Last Straw That Breaks Android SystemsLei Zhang, Keke Lian, Haoyu Xiao, Zhibo Zhang et al.S&P 2022 · 10 citations
- IoTFuzzer: Discovering Memory Corruptions in IoT Through App-based FuzzingJiongyi Chen, Wenrui Diao, Qingchuan Zhao, Chaoshun Zuo et al.NDSS 2018 · 311 citations
