文档下载
网盘链接: https://pan.baidu.com/s/1qROa8xm54X0I2czsGjJ0Uw
提取码: owbf
部分内容展示
安卓恶意软件主要包括木马、后门、蠕虫、僵尸网络、攻击高性广告等不同类型,一旦这些恶意软件窃取手机信息,将造成巨大的损失。目前关于安卓恶意软件安全检测主要是静态检测和动态检测两种方法。本文在借鉴前人研究成果基础上,采用机器学习方法对安卓恶意软件进行动态与静态的混合检测方法,在提取安卓恶意软件静态和动态特征基础上,提出基于KNN算法和K-means算法的安卓恶意软件检测算法。实验表明,基于KNN算法和K-means算法的安卓恶意软件检测算法准确率较高,具有一定的可行性。
关键词:安卓恶意软件;机器学习;K-means算法;KNN算法;
毕业论文;
更多范文
随着社会经济与无线通信技术的跨速发展,智能手机已经成为人们身边必不可少的移动设备。智能手机具有丰富的功能,可以满足人们多样化生活需求,但是其存在很多安全隐患。其中,安卓系统因其开放性的特点导致恶意软件泛滥。安卓恶意软件主要包括木马、后门、蠕虫、僵尸网络、攻击高性广告等,手机信息一旦被这些恶意软件窃取,将带来巨大损失。为此,国内外学者对安卓恶意软件安全检测进行了探索,检测方法主要分为动态和静态两种,静态检测能分析源代码,速度较快,在程序运行之前执行,但是误报率较高。动态检测在程序运行过程中执行,虽然费时,但是能有效监测恶意软件变种。还有一种混合方法,它能充分利用静态检测和动态检测的优点,把应用程序分为正常软件和恶意软件。例如,MAIER等人(2014)提出了Sand-Finger方法,通过分析特殊环境的指纹,他们发现了分析环境和真实手机环境的不同,恶意软件运行时会表现出恶意行为或者加载恶意代码,不但结合了指纹识别和动态代码加载,而且包含了静态分析和动态分析。SPREITZENBARTH(2015)提出将静态分析结果用于引导动态分析并扩大执行代码的覆盖率,得到手机沙盒系统,使用特殊技术来记录API调用,从而检测出恶意软件。部分学者采用机器学习方法对安卓恶意软件进行分类,例如,滕越,王天宝等人(2017)提出了动态分析和静态分析相结合的机器学习检测方案,主要使用KNN算法、SVM算法和Native Bayes算法进行了实验,对动态特征的实验结果和静态特征的实验结果进行了分析,但是提出的混合检测方案并没有综合的评价结果。为此,本文在借鉴前人研究成果的基础上,提出基于机器学习的安卓恶意软件安全检测方案,具有重要的理论与实践意义。
目录