摘要
Android系统提供了多种应用间交互机制,其中开放活动(Exported Activity,EA)不需要复杂的跨进程交互就可以被其他应用在运行时调用.现在很多研究主要关注GUI组件的功能性测试,但是在Android应用本身往往不会启动内部的开放活动,所以开放活动有时候很难被覆盖到.本文提出了一种系统化测试开放活动的方法,使用该方法可以生成一组代理应用作为测试驱动程序启动应用中的开放活动.首先,使用静态分析技术解析APK文件,提取出开放活动列表和启动它们需要数据的键值和类型;其次,将相应的数据填充到预先设置好的模板中,生成测试驱动应用.本文基于提出的测试方法开发了一款原型工具——EASTER,使用一些真实的应用进行了实验.实验结果显示,所有测试应用共有65个开放活动,其中有20个开放活动在被外部应用启动过程中存在漏洞.
The Android system provides various mechanisms for interactions between apps, of which the exported activity is an activity that can be launched by other apps during runtime without complex inter-process communication. Most of the existing works on testing Android apps mainly focus on the functionalities bound to the GUI components in the app,while the app often does not include the GUI callbacks to activate its exported activities. This study proposes a method to systematically test the exported activities in the way of generating a set of agent apps as test drivers to launch these activities. It first statically analyzes the APK file to figure out the exported activities and extract the keys and types of their required data items, and then fills this corresponding data to a pre-set template to build the test drivers. All these proposed techniques are implemented into a prototype tool called EASTER. The preliminary experiments on several realworld apps show that without comprehensive testing, some exported activities are vulnerable to various external apps launches.
作者
王国珍
杨红丽
WANG Guo-Zhen;YANG Hong-Li(Faculty of Information Technology,Beijing University of Technology,Beijing 100124,China)
出处
《计算机系统应用》
2018年第9期262-267,共6页
Computer Systems & Applications