论文部分内容阅读
由于Android第三方应用程序市场众多,缺乏对应用安全性的统一审核和监管,针对Android移动设备的恶意软件数量急剧增加。个人隐私信息泄漏、恶意扣费等安全问题层出不穷。因此,对于Android平台的恶意软件检测与防护技术的研究具有重要意义。本文的主要工作内容如下:(1)在Android恶意软件静态检测方面,运用朴素贝叶斯分类算法的研究比较多,但是现有的研究并没有考虑到朴素贝叶斯分类算法的不足之处,该算法认为每个特征属性的权重一致,并且各个特征属性之间是相互独立的。因此本文提出了一种基于改进的朴素贝叶斯分类算法的检测方案:首先反编译APK文件获取到应用的权限特征、敏感API调用特征和签名特征;然后通过TF-IDF算法计算特征的权重,以提高朴素贝叶斯分类器的准确率;最后通过基于信息熵的方法计算特征之间的相似度,将具有高相关性的特征进行聚类去冗余,进一步改进分类器的性能。实验结果表明,该方案比使用传统朴素贝叶斯算法具有更高的恶意软件检测率和整体检测准确率,验证了该方案在恶意软件检测方面的有效性。(2)由于越来越多的正常软件为了完成复杂的业务功能,会需要用户的个人信息,如定位信息、通讯录信息等,这些类似于恶意软件的行为,导致现有的静态检测方法性能下降,往往有20%左右的高误检率。因此本文提出了一种基于用户行为特征的动态检测方案:将新增的用户行为特征与目前普遍使用的动态特征相结合,并使用基于K最近邻的SVM改进算法进行模型训练和类别检测。本方案中的用户行为特征是指让用户决定是否为第三方应用所申请的敏感系统服务授权,着重分析了与获取用户行为特征相关的技术,包括Android平台的进程注入、系统函数HOOK的实现以及Binder IPC数据的拦截与解析等;同时,结合K最近邻算法的思想,对传统SVM算法本身存在的一些缺陷进行了改进。实验结果表明,该方案在检测性能方面得到了提升,尤其是正常软件误检率的显著下降,验证了该方案在恶意软件检测方面的有效性。(3)针对静态检测方案误检率相对较高的问题,本文设计并实现了一套动静态结合的检测系统:将静态检测方案中的朴素贝叶斯分类模型由二分类模型改进为三分类模型,在初步检测结果中引入可疑软件结果集;并对可疑软件继续进行动态检测,两种检测方法互补,进一步提高了系统检测性能;最后,针对已经被判定为恶意软件的敏感系统服务调用行为,加入了自动拦截模块。因此该系统对Android平台的恶意软件起到了切实的检测和防护的作用。