论文部分内容阅读
Android自诞生以来就一直在快速发展,如今已经超越Windows成为市场占有率最高的操作系统。但同时恶意软件在Android应用市场中也出现了爆炸性增长,它们的行为也越发猖獗。这些恶意软件经常伪装成正常软件,在用户不知情的情况下触发一些恶意扣费,信息泄漏,隐私窃取等恶意行为,给用户造成重大的损失。作为全球最流行的移动设备操作系统,Android平台对恶意软件的防护的重要性也凸显出来。 目前在Android系统下有两种最常见的应对恶意软件的方式。第一种是在安装A应用程序App前提示用户该应用所需求的一些权限,但这种做法并不是很有效。因为对于用户来说仅仅通过权限来分辨出恶意软件和正常软件需要一定的专业知识要求,一些常用的权限对于正常软件和恶意软件都是必须的,并且权限提醒仅是静态分析的一部分,如果能把静态分析和动态分析结合起来可以更全面地对恶意软件进行鉴别。另外一种常见的方式是基于应用签名的检测方式,这种方式也不是很理想,它很容易在字节码层面被找到漏洞进而检测不出恶意软件。 基于以上原因,本文将机器学习用于恶意软件的鉴别中,分类算法使用的是基于k-Times的Markov抽样SVM分类算法,该算法相对于传统SVM分类算法而言,训练样本量更小,分类准确率更高。本文首先从每个Android应用程序App中提取出静态特征和动态特征,接着进行k-Times的Markov抽样得到Markov链样本,对样本进行模型训练,生成相应的分类模型。然后本文基于Android平台对恶意软件鉴别系统进行设计与实现,将得到的SVM分类模型用于恶意软件鉴别中,来实现对应用市场上恶意软件的检测。 本文的创新在于,传统SVM算法因为训练样本规模非常大,采用基于k-Times的Markov抽样SVM分类算法来做特征向量的分类和训练,具有训练样本量更小,分类准确率更高等优点。将该算法用于Android恶意软件的鉴别中具有切实的理论意义和应用价值。