论文部分内容阅读
随着安卓(Android)系统以及智能手机的快速发展,安卓应用程序呈现爆炸式的增长。由于安卓第三方应用市场的监管不严,一些正常应用被嵌入窃取用户隐私的恶意代码并重新打包上传至安卓市场。常见的窃取用户隐私的手段包括:通过获取非法权限读取用户的隐私数据,通过监控特定的系统广播动作读取用户的隐私数据,通过自定义API Hook绕过传统的HIPS检测读取用户的隐私数据等。因此,如何有效地分析、检测和拦截泄露用户隐私的安卓恶意应用是目前安卓系统安全亟待解决的重要问题。针对上述问题,本文通过分析安卓系统的特点以及安卓用户的隐私保护需求,提出一种安卓平台下面向隐私保护的恶意程序分析和检测框架(RbBayes),并重点突破了其中的安卓广播动作(Broadcast action)分析、隐私意识的权限分析以及恶意应用的检测和拦截三个关键技术。主要研究结果如下:1、提出了一种基于朴素贝叶斯的安卓广播动作分析方法。首先,该方法使用关键字匹配静态获取应用程序在manifest.xml中静态注册的广播动作;其次,借鉴Xpose框架的Hook广播回调方法onReceive()来发现应用程序实际运行时所触发的广播动作;最后,基于Drebin dataset恶意程序数据集,采用基于朴素贝叶斯的机器学习算法来分析总结出可能泄漏用户隐私的广播动作,为后续恶意安卓应用的拦截提供基础。2、提出了一种基于最小授权的隐私意识权限分析方法。首先,该方法基于APKTool解析并提取安卓应用的manifest.xml文件,通过关键字匹配提取应用程序注册的权限信息;其次,基于最小授权原则构建RBAC策略库,明确合法安卓应用角色应具有的最小权限集,阻止恶意应用通过获取非法权限窃取用户隐私;最后,真实安卓设备上的实验结果表明,该方法对于具有非法权限的恶意安卓应用具有较高的检测准确率,并且构建的RBAC策略库可为后续恶意安卓应用的拦截提供基础。3、提出了一种基于RBAC的恶意安卓程序检测和拦截方法。首先,该方法通过动态插入Linux内核模块,实现对安卓应用恶意行为内核层函数调用的监控;其次,通过Netlink技术将内核层检测到的恶意行为传递到用户层,结合前面提出的安卓广播动作分析方法和构建的RBAC策略库确定该安卓应用是否包含泄漏用户隐私的安卓广播动作以及是否存在泄漏用户隐私的权限集合,综合判定其泄漏用户隐私的安全风险;接着,与传统HIPS系统进行安全性比较讨论,结果表明由于提出方法工作在内核层,可规避恶意程序通过自身实现Hook功能而绕过系统检测的风险,具有更高的安全性;最后,实验评估结果表明提出方法具有较高的恶意程序检测率。4、实现RbBayes原型。首先,基于提出的安卓广播动作分析方法、隐私意识权限分析以及恶意应用的检测和拦截方法,给出了RbBayes原型的设计思想、体系结构和执行流程;其次,在真实安卓设备下模拟了用户使用场景、部署了RbBayes原型;最后,与经典的恶意安卓应用检测方法进行比较,实验结果表明RbBayes具有更高的恶意程序检测准确率和较好的性能。