paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Aper

Aper:检测 Android 运行时权限问题的静态分析器
ICSE Proceedings of the 44th International Conference on Software Engineering2022匹配度 3/10 · 论文属于传统程序静态分析,使用到达定义与支配分析检测 Android 权限管理中的 ARP 错误,与用户关注的 ML/Agentic 程序静态分析、LLM 与静态分析/形式化验证、浮点程序分析或贝叶斯程序分析均无直接关联。仅在“静态分析+真实 benchmark+工业工具对比”的研究方法上具有间接参考价值。引用 31 inbox
Sinan Wang, Yibo Wang, Xian Zhan, Ying Wang, Yepang Liu, Xiapu Luo, Shing-Chi Cheung
crossref: 2026-09-12dblp: 2026-09-12arxiv: 2026-09-12

AI 速览

一句话:提出静态分析器 Aper,通过到达定义与支配分析检测 Android 异步权限管理和权限规范演化引发的 ARP 错误。

Android 6.0 的运行时权限模型允许用户随时撤销权限,且权限规范持续演化,导致应用出现异步权限管理与规范演化两类 ARP 错误。现有检测工具难以有效应对。本文先对 13,352 个 Google Play 应用实证分析,发现 86.0% 异步调用危险 API、61.2% 使用演化中的危险 API。为此提出静态分析器 Aper,通过到达定义与支配分析检测两类 ARP 错误,并构建 60 个真实错误组成的 ARPFIX 基准。实验显示,Aper 的 F1 平均比 ARPDROID、Revdroid 和 Lint 提升 46.3%,还在 214 个开源应用中检出 34 个 ARP 错误,17 个确认、7 个修复。

问题
Android 运行时权限模型允许动态撤销且权限规范不断演化,开发者若未正确检查权限状态,会引发异步权限管理和规范演化导致的 ARP 运行时错误;现有工具难以有效检测。
方法
Aper 对 Android 应用进行静态到达定义分析和支配点分析,以识别危险 API 的异步权限管理错误与权限规范演化错误。
评估
在 60 个真实错误构建的 ARPFIX 基准上,Aper 的 F1 平均比 ARPDROID、Revdroid 和 Lint 高 46.3%;在 214 个开源应用中检出 34 个 ARP 错误,17 个被确认、7 个已修复。
原文摘要(Abstract)

The Android platform introduces the runtime permission model in version 6.0. The new model greatly improves data privacy and user experience, but brings new challenges for app developers. First, it allows users to freely revoke granted permissions. Hence, developers cannot assume that the permissions granted to an app would keep being granted. Instead, they should make their apps carefully check the permission status before invoking dangerous APIs. Second, the permission specification keeps evolving, bringing new types of compatibility issues into the ecosystem. To understand the impact of the challenges, we conducted an empirical study on 13,352 popular Google Play apps. We found that 86.0% apps used dangerous APIs asynchronously after permission management and 61.2% apps used evolving dangerous APIs. If an app does not properly handle permission revocations or platform differences, unexpected runtime issues may happen and even cause app crashes. We call such Android Runtime Permission issues as ARP bugs. Unfortunately, existing runtime permission issue detection tools cannot effectively deal with the ARP bugs induced by asynchronous permission management and permission specification evolution. To fill the gap, we designed a static analyzer, Aper, that performs reaching definition and dominator analysis on Android apps to detect the two types of ARP bugs. To compare Aper with existing tools, we built a benchmark, ARPFIX, from 60 real ARP bugs. Our experiment results show that Aper significantly outperforms two academic tools, ARPDROID and Revdroid, and an industrial tool, Lint, on ARPFIX, with an average improvement of 46.3% on F1-score. In addition, Aper successfully found 34 ARP bugs in 214 open-source Android apps, most of which can result in abnormal app behaviors (such as app crashes) according to our manual validation. We reported these bugs to the app developers. So far, 17 bugs have been confirmed and seven have been fixed.

链接与引用

DOI 原文 · arXiv · DBLP

BibTeX
@inproceedings{WangWZWLLC22,
  title = {Aper},
  author = {Sinan Wang and Yibo Wang and Xian Zhan and Ying Wang and Yepang Liu and Xiapu Luo and Shing-Chi Cheung},
  booktitle = {ICSE},
  year = {2022},
  doi = {10.1145/3510003.3510074}
}