论文部分内容阅读
随着移动互联网快速发展,移动终端面临的安全威胁也日益突出。Android系统凭借其开源、易定制的特性,已占据移动智能操作系统绝大部分的市场份额。自2008年的1.0版本以来,Android操作系统的功能不断完善,代码也日益庞杂,操作系统自身的安全问题日益凸显。近年来,由Android操作系统自身的安全缺陷引发的安全事件层出不穷,Android系统安全形势严峻。 论文通过对Android框架体系的系统分析,深入研究了Android权限机制、系统服务机制、资源管理机制,提出了相应的安全分析方法,发现了多个安全缺陷,并设计了相关的安全增强方案;以上述三方面系统安全机制分析的结果为基础,提出了一套面向Android应用软件的安全分析框架。论文主要贡献如下: 1)系统分析了Android权限机制,发现了权限机制的重要缺陷,提出了实际攻击方案,验证和评估了缺陷危害,并设计了安全增强方案。该缺陷是由Android系统无法正确关联资源本身和资源拥有者引发。论文提出了一种面向应用程序的安全缺陷分析方法,并对Android官方应用商店中的多个应用程序进行了评估。分析结果表明,大量流行的应用程序受到此缺陷的威胁,可导致隐私泄漏等后果。针对此缺陷,论文设计并实现了一种基于签名的Android资源命名方法,用于防御此类攻击。该方法扩展了Android系统对权限、组件等资源的命名方式,在资源名称中加入了应用程序的签名信息。论文对防御方法的有效性进行了实验评估,实验结果表明该方法能在带来很小性能损耗的前提下,有效的达到防御效果。 2)系统分析了Android系统服务机制,发现了Service Helper安全机制的漏洞,并提出了攻击方案。论文提出了一种针对此类漏洞的自动化分析方法,使用静态分析技术,找出所有的在Service Helper之中和相应的系统服务之中实施的安全机制,并检查其是否满足安全规则,从而发现潜在的漏洞。论文实现了分析方法的原型系统,针对Android6.0.1系统展开分析,共发现了22个新的漏洞,并得到Android安全团队的确认。这些漏洞可导致多种安全问题,包括权限扩张、拒绝服务(DoS)攻击、隐私泄露等。 3)系统分析了Android资源管理机制,提出了一种针对JNI Global Reference(JGR)资源泄露问题的系统化分析方法,并提出了安全增强方案。分析方法以静态分析技术为基础,首先找出所有可能导致系统服务进程资源消耗的IPC接口,然后使用动态压力测试的方法,实际验证IPC接口是否存在可被实际利用于DoS攻击的漏洞(JGRE漏洞)。论文实现了分析方法的原型系统,并针对Android6.0.1系统展开分析,在总共104个系统服务中,发现有32个(30.7%)系统服务存在54个JGRE漏洞,所有的漏洞均已上报至Android安全团队,并得到了确认。针对JGRE攻击,论文提出了一种针对JGR资源泄露问题的防御方法。该方法通过时间关联分析,计算出每个应用程序向受害者进程发起的可疑IPC的调用数量,从而找出可疑应用程序,并实施防御。论文通过实验验证了该方法能够有效的防御论文发现的所有漏洞,也验证了该方法能够防御多个恶意应用的协同攻击。 4)提出了一套Android应用软件安全性分析框架。该框架采用虚拟化技术和动态程序分析方法,可针对Android平台进行恶意代码分析和应用软件安全评估。该框架在深入分析Android操作系统的内核关键数据结构、安全机制及系统调用过程的基础上,实现了高仿真的Android应用程序虚拟执行环境。在动态行为分析方面,基于虚拟CPU指令分析,实现了Android内核层系统调用的实时监控;在Android安全机制的关键流程加入监控代码,实现了Android框架层敏感行为的实时监控,如收发短信、操作数据库等。同时,提出了一种基于控件元素的UI自动遍历方法,该方法结合Android平台自身的特色,基于UI控件元素自动构造不同的执行路径,可有效提高动态分析的覆盖率。论文实现了原型系统并进行了实验评估,验证了原型系统对Android应用软件的安全性分析能力。