论文部分内容阅读
如今,随着移动通信技术的不断发展和芯片运算能力的逐步提高,越来越多的人开始用手机来实现快捷支付、收发邮件、影音娱乐等以往只能在PC端实现的功能。而在所有的移动操作系统中,曾经风靡一时的Symbian系统渐渐淡出人们视野,苹果公司IOS系统的占有率也趋于稳定,而Android系统从2012年起,就牢牢占据了市场的主要份额。由于其免费性和开源性的特点,越来越多手机厂商加入了Android阵营,使之成为了目前最为主流的操作系统。然而,Android系统在给人们带来了极大便利的同时,也成为了很多恶意软件作者的攻击目标。Android系统下的恶意软件层出不穷,恶意技术更新迭代,使得安全问题的相关研究变得更加迫切,无论是学术界还是安全厂商都对Android系统的安全问题给予了极大的关注。所有的Android应用都需要通过APK文件进行安装,相比于在系统层面修改内核代码来增强安全性,在应用安装之前对其进行安全检测显得更为直接有效。本文提出了一种基于机器学习的Android恶意软件静态检测方案,主要成果如下:1.对Android的系统框架和自身安全机制进行了总结,归纳了目前恶意软件的主要类型及具体攻击手段,分别对两种主流的检测技术进行了说明,分析了各自的优势和不足。针对已有检测技术的缺陷,设计了一种基于机器学习的Android恶意软件静态检测方案。2.在传统的静态特征之外,根据代码中每个函数涉及的指令和函数间的调用关系,生成了一种新型的函数调用图特征。这种静态特征有效的克服了代码混淆技术,可以更为清晰准确的表达出软件的具体行为。3.引入了机器学习算法,以分类模型作为最终的判别器。分别采用k-NN、SVM、Naive Bayes三种经典的分类算法进行了判别实验,通过准确率、检测率、误报率三项指标对其进行评价和分析。4.建立了最新的恶意软件样本库。目前大部分文献的实验样本都是来自于Jiang[7]在2012年提出的较为落后的恶意软件,如今继续使用该样本库显然不符合实际情况。本文通过爬虫程序,从VirusShare论坛上收集了最新的2015年发现的来自10个类别的恶意软件共500个,建立了最新的恶意软件样本库并对所有样本进行了全面细致的分析。