论文部分内容阅读
随着装有安卓系统的设备越来越普遍,以及安卓应用市场的应用数量越来越多,种类越来越丰富,如何在一定的时间内有效且充分地对上传到应用市场的数量巨大的安卓应用进行自动化测试,是安卓应用自动化测试面临的一个挑战。同时近年来安卓应用市场中的恶意应用也越来越多,给人们造成了极大的损失。使用动态分析检测安卓应用成为恶意软件研究人员最近关注的焦点。动态分析有效检测恶意应用的前提是,如何有效且全面地自动触发应用的恶意行为。因此针对恶意软件检测的安卓自动化测试技术研究也是很有必要的。针对普通的安卓应用自动化测试,目标是在一定时间内达到较高的测试覆盖率。我们发现基于动态符号执行技术探索策略的acteve工具由于支持的事件输入不全以及对部分Activity的漏测,导致无法达到理想的测试覆盖率,基于这些不足我们提出了改进策略称为acteve++。最后在一个开放测试集上对现有的有代表性的安卓自动化测试工具比如 monkey,dynodroid,GUIRipper,acteve 和改进的acteve++分别做了实验和分析,实验证明,acteve++在可接受的时间内,实现了较高的平均测试覆盖率。针对恶意应用的自动化测试,我们对比较有代表性的IntelliDroid进行了分析。我们发现IntelliDroid的静态分析模块无法分析安卓应用内的组件间通信,导致对恶意行为的漏测。对此,我们提出了改进方案称为 IntelliDroid+ICC。我们分别在 Droidbench 和 Android Malware Genome测试集上做了实验,证明了 IntelliDroid+ICC在合理的时间内,可以有效分析安卓应用的组件间通信,从而更全面地触发恶意行为。