论文部分内容阅读
Android是目前市场占有率最高的智能手机平台,在2017年第一季度中,Android的市场占有率高达85.0%。在智能Android设备日益普及的同时,移动支付、拍照摄影、定位导航、语音通话、社交媒体等应用走进了用户生活,这些应用需要用户授权以访问联系人、地理位置、相册、麦克风、浏览器历史等隐私数据,这也带来了极大的隐私数据泄露的风险。由于Android安全机制存在根本的缺陷,Android安全现状严峻,保护Android用户隐私数据刻不容缓。当前的Android恶意应用检测方法通常将应用的描述文字、申请的权限、调用的应用程序编程接口等作为特征,运用机器学习中的分类方法,来识别恶意应用。然而这些分类方法需要大量的有标签数据作为学习数据,在已知的攻击模式上识别的效果较好,难以应对新型的攻击模式。针对这些检测方法识别出的恶意应用,我们仍难以描述为什么这个应用是恶意的,以及这个应用泄露了用户的哪些隐私数据,使用什么样的方式泄露了用户的隐私数据。为了更好的保护Android用户的隐私数据,本文提出一个更加细粒度的检测方案,以识别恶意的数据使用行为为目标,着力于分析恶意应用攻击模式。本文的工作和创新点主要包括以下几个方面。1.当前的研究工作通常将识别恶意应用作为目标,虽然可以检测出恶意应用,但难以分析恶意应用的具体攻击模式。本文提出更加细粒度的检测方案,不再将每个应用作为一个整体,而是将应用中的每个数据使用行为作为检测实体。这些检测出的恶意数据使用行为,可以从本质上反应恶意应用窃取用户隐私数据的类型和窃取用户隐私数据的方式。2.为了有效区分正常的数据使用行为和恶意的数据使用行为,本文定义了三类特征来描述数据使用行为。· Source和Sink。Source反应了该行为获取了用户的何种数据,Sink反应了该行为通过什么样的方式将获取的数据发送出去。·触发事件。触发事件包括生命周期的回调、GUI事件和系统事件,触发事件可以在一定程度上反应用户的意图。·条件。恶意应用为了躲避检测,通常只在某些特定条件下才执行其恶意的数据使用行为。因此数据使用行为的条件可以很大程度上区分正常的数据使用行为和异常的数据使用行为。在定义了这三类特征之后,本文基于当前的静态检测工具,从Android应用中提取这些特征。3.由于当前不存在具有标签的数据使用行为数据集,如何在无标签数据上训练模型和检测恶意数据使用行为是一个很大的挑战点。本文利用同类别的应用在数据使用行为上具有较高的相似性这一特点,针对不同类别的应用分别构建检测模型,将恶意的数据使用行为作为异常,使用异常检测算法检测恶意数据使用行为。通过实验论证,本文提出的恶意数据使用行为检测模型能够在有效检测恶意应用的同时,通过提供恶意数据使用行为反应恶意应用的攻击模式。