国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:林高毅,崔展齐,陈翔,郑丽伟
单位:林高毅,北京信息科技大学 计算机学院, 北京 10010111,崔展齐,北京信息科技大学 计算机学院, 北京 10010102,陈翔,南通大学 信息科学技术学院, 江苏 南通 22601903,郑丽伟,北京信息科技大学 计算机学院, 北京 10010104
关键词:Android应用;Android运行时权限错误;权限误用;自动化测试工具;状态转换图
基金:江苏省前沿引领技术基础研究专项(BK20202001); 北京信息科技大学“勤信人才”培育计划(QXTCP C201906)
Android应用开发人员需要在保持应用频繁更新的同时快速检测出应用中Android运行时权限(Android runtime permission, ARP)错误. 现有的Android应用自动化测试工具通常未考虑ARP机制, 无法有效测试Android应用内的权限相关行为. 为帮助开发人员快速检测出应用中ARP错误, 提出状态转换图制导的Android应用运行时权限错误检测方法. 首先, 对被测应用APK文件进行权限误用分析, 插桩APK文件中可能导致ARP错误的API, 并对APK文件重新签名; 然后, 安装插桩后的APK文件, 动态探索应用以生成其状态转换图(state transition graph, STG); 最后, 使用STG制导自动化测试, 快速检测出应用中ARP错误. 基于所提出方法实现原型工具RPBDroid, 并与ARP错误动态检测工具SetDroid、PermDroid和传统自动化测试工具APE进行对比实验. 实验结果表明, RPBDroid成功检测出17个应用中的15个ARP错误, 比APE、SetDroid、PermDroid分别多14、12和14个. 此外, 相比于测试工具SetDroid、PermDroid和APE, RPBDroid检测ARP错误的平均用时分别减少86.42%、86.72%和86.70%.
来源:2025年第2期
《软件学报》期刊编辑部