Demystifying Android Non-SDK APls: Measurement and Understanding
Shishuai Yang, Rui Li, Jiongyi Chen, Wenrui Diao, Shanqing Guo
Abstract
During the Android app development, the SDK is essential, which provides rich APIs to facilitate the implementations of functionalities. However, in the Android framework, there still exist plenty of non-SDK APIs that are not well documented. These non-SDK APIs can be invoked through unconventional ways, such as Java reflection. On the other hand, these APIs are not stable and may be changed or even removed in future Android versions, providing no guarantee for compatibility. From Android 9 (API level 28), Google began to strictly restrict the use of non-SDK APIs, and the corresponding checking mechanism has been integrated into the Android OS. In this work, we systematically study the use and design of Android non-SDK APIs. Notably, we propose four research questions covering the restriction mechanism, the present usage status, malicious usage, and the API list evolution. To answer these questions, we conducted a large-scale measurement based on over 200K apps and the source code of three recent Android versions. As a result, a series of exciting and valuable findings are obtained. For example, Google's restriction is not strong enough and can still be bypassed. Besides, app developers use only a tiny part of non-SDK APIs. Our work provides new knowledge to the research community and can help researchers improve the Android API designs. CCS CONCEPTS • Software and its engineering → Software reliability.
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 acf434e1-9451-427e-84b9-cde27d9ce954Builds on1
Related papers
- Finding the Missing Piece: Permission Specification Analysis for Android NDKHao Zhou, Haoyu Wang, Shuohan Wu, Xiapu Luo et al.ASE 2021 · 14 citations
- Going Native: Using a Large-Scale Analysis of Android Apps to Create a Practical Native-Code Sandboxing PolicyVitor Monte Afonso, Paulo L. de Geus, Antonio Bianchi, Yanick Fratantonio et al.NDSS 2016 · 119 citations
- Dissecting Residual APIs in Custom Android ROMsZeinab El-Rewini, Yousra AaferCCS 2021 · 8 citations
- Exploring Covert Third-party Identifiers through External Storage in the Android New EraZikan Dong, Tianming Liu, Jiapeng Deng, Haoyu Wang et al.USENIX Security 2024 · 11 citations
- You Get Where You're Looking for: The Impact of Information Sources on Code SecurityYasemin Acar, Michael Backes, Sascha Fahl, Doowon Kim et al.S&P 2016 · 325 citations
