paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Borrowing your enemy’s arrows: the case of code reuse in Android via direct inter-app code invocation

借敌之箭:Android 中通过直接跨应用代码调用的代码复用案例
FSE Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2020匹配度 2/10 · 论文是 Android 跨应用代码调用机制的静态检测与安全分析,属于程序分析/静态分析在移动安全领域的应用,但与用户关注的 PL 与 AI/LLM/Agent 交叉、浮点程序分析、贝叶斯程序分析等核心方向没有直接关联。引用 10 inbox
Jun Gao, Li Li, Pingfan Kong, Tegawendé F. Bissyandé, Jacques Klein
crossref: 2026-09-12

AI 速览

一句话:揭示 Android 直接跨应用代码调用机制的工作流程及其代码复用与安全绕过风险,并提出静态检测工具 DICIDer。

Android 生态中,除已被广泛研究的组件间通信(ICC)外,还存在直接跨应用代码调用机制,可让开发者调用其他应用中实现的 Java 类、方法或对象字段,带来合法复用与恶意复用的双重可能。本文首先刻画该机制的工作流程,并实验展示其可被用于“抄袭”受保护功能:作者绕过某流行视频广播应用对其视频数据库的外部访问限制。随后提出静态分析工具 DICIDer,用于检测应用中的直接跨应用代码调用,并进行使用流行度的实证分析。最后讨论该复用机制的使用场景及其影响。

问题
论文研究 Android 中除 ICC 之外的直接跨应用代码调用机制,如何被用于功能复用、代码抄袭或绕过安全防护。
方法
通过刻画机制工作流程、开展绕过安全防护的案例实验,并实现静态分析工具 DICIDer 检测此类调用。
评估
对 Android 应用进行实证分析,统计直接跨应用代码调用的使用流行度,并讨论其使用场景与影响。
原文摘要(Abstract)

The Android ecosystem offers different facilities to enable communication among app components and across apps to ensure that rich services can be composed through functionality reuse. At the heart of this system is the Inter-component communication (ICC) scheme, which has been largely studied in the literature. Less known in the community is another powerful mechanism that allows for direct inter-app code invocation which opens up for different reuse scenarios, both legitimate or malicious. This paper exposes the general workflow for this mechanism, which beyond ICCs, enables app developers to access and invoke functionalities (either entire Java classes, methods or object fields) implemented in other apps using official Android APIs. We experimentally showcase how this reuse mechanism can be leveraged to “plagiarize" supposedly-protected functionalities. Typically, we were able to leverage this mechanism to bypass security guards that a popular video broadcaster has placed for preventing access to its video database from outside its provided app. We further contribute with a static analysis toolkit, named DICIDer, for detecting direct inter-app code invocations in apps. An empirical analysis of the usage prevalence of this reuse mechanism is then conducted. Finally, we discuss the usage contexts as well as the implications of this studied reuse mechanism.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot5709,
  title = {Borrowing your enemy’s arrows: the case of code reuse in Android via direct inter-app code invocation},
  author = {Jun Gao and Li Li and Pingfan Kong and Tegawendé F. Bissyandé and Jacques Klein},
  booktitle = {FSE},
  year = {2020},
  doi = {10.1145/3368089.3409745}
}