论文部分内容阅读
Android操作系统成为市场占有率最高的终端系统,智能终端的功能也与PC越来越接近,但由于普通用户安全意识的缺失和市场监管的落后,基于Android系统的移动终端的安全检测技术成为研究的热点,本文研究Android软件静态分析技术来检测潜在的恶意应用。由于Android平台是最近几年刚出现的移动系统,Android平台的病毒检测技术相比于PC还不够成熟,同时由于Android病毒应用的更迭周期较短,传统的特征码检测技术已不能适应移动平台的发展,且该方法对未知类型的病毒和变种程序病毒的检测率较低,很多学者将机器学习用于检测Android平台的病毒程序。本文提出了将贝叶斯网络分类算法用于Android软件的恶意行为检测。本文主要完成以下两个任务:(1)提取Android软件的静态特征,由于提取的APK文件的静态特征数量过多,为了提取对分类影响较大的特征,去除对分类没有影响的特征,研究分析了三种不同的特征选择方法,以选择有效的特征用于贝叶斯网络的分类,提高模型的检测率,并通过实验验证三种不同的选择方法对分类结果的影响,最后选择效果较好的特征选择方法用于构建贝叶斯网络模型。(2)本文提出了基于贝叶斯网络(BN)分类算法的Android软件的恶意行为检测模型。由于实现Android应用的恶意行为需要不同的特征组合,而且不同的特征之间存在一定的因果依赖关系,为了充分表达特征之间存在的依赖关系,采用贝叶斯网络分类算法有利于提高Android恶意程序的检测率,本文将改进的关联规则算法用于贝叶斯网络结构的构建,根据Noisy-OR模型完成条件概率表的学习,最终将模型用于检测Android软件存在的恶意行为。本文将Android恶意应用的静态分析与贝叶斯网络相结合,使用Python实现特征的提取,使用本文提出的方法构建贝叶斯网络模型,通过实验验证了本文提出的Android恶意行为检测模型的有效性。