基于Bagging-SVM的Android恶意软件检测模型
2018-05-21谢丽霞
谢丽霞,李 爽
(中国民航大学 计算机科学与技术学院,天津 300300)
0 引言
恶意软件具有隐蔽性强、窃取用户隐私和恶意扣费等特点,给Android手机用户带来日益严重的安全威胁[1],Android手机的安全形势日益严峻。Android恶意软件的快速高效检测成为目前的一个研究热点。
随着机器学习算法的广泛应用,许多研究者尝试借助机器学习方法进行Android恶意软件检测研究。通过训练机器学习分类器可模拟Android软件的行为,从而准确地区分良性软件和恶意软件。训练机器学习分类器的特征包括Android软件的静态特征和动态特征,通过对Android软件安装包(Android PacKage, APK)逆向处理可获得如权限、API和意图等静态特征;通过监测APK文件运行过程的实时信息可获取如系统调用、网络流量等动态特征。相比之下,静态特征的获取不需要执行恶意软件,对系统的干扰小且易于统计分析,已成为较常用的特征提取方法。
文献[2]通过提取软件运行时的用户操作场景和行为习惯等信息作为特征,使用朴素贝叶斯(Naive Bayes, NB)分类器检测Android恶意软件。文献[3]通过提取Android软件的组件、函数调用和系统调用类作为特征,采用NB、部分决策树和J48等算法构造3层混合分类器检测恶意软件。上述两种方法可以实现对Android恶意软件的检测,但检测精度低。文献[4]提取Android软件中Java字节码信息作为特征,采用主成分分析法对特征降维,并运用随机森林(Random Forest, RF)、NB和支持向量机(Support Vector Machine, SVM)等算法构建分类器检测恶意软件。文献[5]提取网络流量属性作为特征,采用卡方检验和信息增益(Information Gain, IG)融合的方法筛选最优特征子集,运用朴素贝叶斯分类器检测Android恶意软件。……
