论文部分内容阅读
近几年Android操作系统在智能手机中的市场份额排名第一,Android用户数量和Android应用数量也与日俱增。与此同时越来越多的黑客也将目光转向了 Android,从Android系统的Bootkit到恶意应用,每一个可能的攻击面都有黑客在关注并尝试实施攻击。Android系统为了安全的考虑设计了权限机制,虽然对Android应用权限的申请和使用进行了严格控制,但权限泄漏是安卓应用中较为普遍存在的一类漏洞,可导致较为严重的安全问题,如“串谋提权”、“信息泄漏”等。由此可见,如何有效地对Android应用的权限泄漏漏洞进行挖掘具有十分重要的研究意义和实际应用价值。本文围绕Android应用权限泄漏问题,着重研究了 Android的权限机制及Android应用权限泄漏漏洞的挖掘方法,提出了一种轻量级的Extra信息静态获取方法,建立了Android应用模糊测试耗时的预估模型,最后提出一种基于模糊测试耗时预估的动态任务调度方法。基于实验室OpenStack上的云平台架构实现了并行的漏洞挖掘系统paraIntentFuzz。论文的主要研究工作与贡献如下:(1)通过分析Android应用中组件间通信时Extra信息的传递方式,借助于对Android应用的逆向提出一种高效的Extra信息静态获取方法,为模糊测试中的命令生成提供了Extra名字和类型等重要参数,使Android应用源码中更多的路径能够得到执行,提升了路径覆盖度,从而提高了权限泄漏漏洞的发现能力。同时,我们的方法比现有工作具有更低的性能开销和更好的健壮性。(2)在分析对Android应用执行模糊测试的过程中,我们发现Android应用分析的耗时主要和应用的大小以及暴露的组件数目相关。在此基础上我们建立了 Android应用模糊测试过程的耗时预估模型。为了实现不同运行结点间的负载均衡,提出了一种基于耗时预估的动态任务分配算法。(3)基于OpenStack云计算平台搭建了并行的分析架构,分析了 10064个常用的Android应用,发现有7367个应用存在潜在的权限泄漏漏洞。此外paraIntentFuzz获得较优的性能提升,测试结果表明,在一定范围内将系统布置于N台机器可以得到接近N倍的效率提升。本文在Android应用权限泄漏漏洞的研究中开展了一些有效的探索性研究工作,实验结果表明所提出的方法在Android应用权限泄漏漏洞挖掘中具有很好的实际应用价值,可为提升Android应用权限泄漏漏洞挖掘能力提供重要的技术支撑。