论文部分内容阅读
随着移动智能设备的快速普及,Android操作系统以其优异的性能,获得了巨大的成功。但同时,Android系统也成为了许多恶意应用的攻击目标。为了限制应用软件的行为,Android系统设计了权限机制。然而Android的权限机制存在设计缺陷:应用程序一旦获取用户的授权,就能够在用户不希望的时间里使用这项权限,从而造成用户个人隐私信息的泄露,这就是Android的权限滥用攻击。由于权限滥用攻击具有很强的隐蔽性,如何检测应用程序是否存在权限滥用攻击行为,成为了Android安全领域中的一个研究热点。针对权限滥用攻击的检测问题,本文首先介绍了Android系统的相关技术背景。其中重点介绍了Android的权限机制,及其在设计上存在的缺陷。接下来,本文介绍了软件检测领域传统的静态、动态检测方法。并分析了这两类方法对于检测权限滥用攻击的局限性。针对传统软件检测方法存在的局限性,以及Android权限滥用攻击的特点,本文进行了如下两部分的研究工作。第一,研究了Android权限滥用攻击的基本原理,并提出了检测Android权限滥用攻击的核心思想。良性应用中软件的行为基本上都是由用户触发的,软件行为和用户操作的关联性比较高;而存在权限滥用攻击的应用则相反。可以通过检测软件行为和用户操作关联性的高低,来判断待检测应用是否存在权限滥用攻击。第二,基于上述思想,设计并实现了一个Android权限滥用攻击检测系统一—DroidDect系统。DroidDect系统基于软件的动态检测方法,通过修改Android的相关系统代码,收集应用程序运行时产生的两类数据:应用行为数据和用户GUI操作数据。获得这两类数据后,利用关联分析的基本思想,DroidDect计算这两类数据之间的置信度。通过事先检测的良性应用样本,获取良性应用的置信度阈值。再将待检测应用的置信度和良性应用置信度阈值相比较,获得检测结果。最后,本文对DroidDect检测系统进行了实验测试和分析。实验结果显示,良性应用和存在权限滥用攻击的应用,在所测得的置信度上存在着较大差异。利用这个差异,DroidDect系统可以有效检测出应用是否存在某几类(录音、拍照、传感器、地理位置)的权限滥用攻击。同时,性能测试显示,DroidDect还具有系统额外开销低的优点。