一句话:提出 PermDroid,用静态状态转移图引导动态探索,自动测试 Android 应用在权限动态授予/撤销下的行为并发现漏洞。
Android 运行时权限模型允许用户动态授予和撤销权限,开发者需在大量权限组合下反复测试应用鲁棒性,但现有测试技术很少显式考虑不同权限组合,且难用于回归测试。PermDroid 首先静态构造应用的状态转移图(STG),再基于 STG 进行权限导向探索,仅在相关权限组合下测试权限相关行为,从而提高测试效率。对 50 个真实 Android 应用的实验表明,其在 10 分钟内平均达到 72.38% 的权限相关 API 调用覆盖率,并发现 7 个权限相关缺陷,其中 6 个未被对比工具检测到。
The Android runtime permission model allows users to grant and revoke permissions at runtime. To verify the robustness of apps, developers have to test the apps repeatedly under a wide range of permission combinations, which is time-consuming and unsuited for regression testing. Existing app testing techniques are of limited help in this context, as they seldom consider different permission combinations explicitly. To address this issue, we present PermDroid to automatically test the permission-related behaviour of apps with permissions granted/revoked dynamically. PermDroid first statically constructs a state transition graph (STG) for the app; it then utilizes the STG for the permission-directed exploration to test permission-related behaviour only under the combinations of the relevant permissions. The experimental results on 50 real-world Android apps demonstrate the effectiveness and efficiency of PermDroid: the average permission-related API invocation coverage achieves 72.38% in 10 minutes, and seven permission-related bugs are uncovered, six of which are not detected by the competitors.
DOI 原文 ·
@inproceedings{paperbot7373,
title = {PermDroid: automatically testing permission-related behaviour of Android applications},
author = {Shuaihao Yang and Zigang Zeng and Wei Song},
booktitle = {ISSTA},
year = {2022},
doi = {10.1145/3533767.3534221}
}