推荐星级:
- 1
- 2
- 3
- 4
- 5
基于改进随机森林算法的Android恶意软件检测
资料介绍
针对随机森林(RF,random forest)算法的投票原则无法区分强分类器与弱分类器差异的缺陷,提出一种加权投票改进方法,在此基础上,提出一种检测Android恶意软件的改进随机森林分类模型(IRFCM,improved random forest classification model)。IRFCM选取Android Manifest.xml文件中的Permission信息和Intent信息作为特征属性并进行优化选择,然后应用该模型对最终生成的特征向量进行检测分类。Weka环境下的实验结果表明IRFCM具有较好的分类精度和分类效率。
部分文件列表
文件名 | 大小 |
基于改进随机森林算法的Android恶意软件检测.pdf | 778K |
部分页面预览
(完整内容请下载后查看)第 38 卷第 4 期
2017 年 4 月
通
信
学
报
Vol.38 No.4
April 2017
Journal on Communications
doi:10.11959/j.issn.1000-436x.2017073
基于改进随机森林算法的 Android 恶意软件检测
杨宏宇,徐晋
(中国民航大学计算机科学与技术学院,天津 300300)
摘 要:针对随机森林(RF, random forest)算法的投票原则无法区分强分类器与弱分类器差异的缺陷,提出一种
加权投票改进方法,在此基础上,提出一种检测 Android 恶意软件的改进随机森林分类模型(IRFCM, improved
random forest classification model)。IRFCM 选取 AndroidManifest.xml 文件中的 Permission 信息和 Intent 信息作为
特征属性并进行优化选择,然后应用该模型对最终生成的特征向量进行检测分类。Weka 环境下的实验结果表明
IRFCM 具有较好的分类精度和分类效率。
关键词:随机森林;加权投票;恶意软件;分类检测
中图分类号:TP309
文献标识码:A
Android malware detection based on improved random forest
YANG Hong-yu, XU Jin
( School of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China)
Abstract: Aiming at the defect of vote principle in random forest algorithm which is incapable of distinguishing the dif-
ferences between strong classifier and weak classifier, a weighted voting improved method was proposed, and an im-
proved random forest classification (IRFCM) was proposed to detect Android malware on the basis of this method. The
IRFCM chose Permission information and Intent information as attribute features from AndroidManifest.xml files and
optimized them, then applied the model to classify the final feature vectors. The experimental results in Weka environ-
ment show that IRFCM has better classification accuracy and classification efficiency.
Key words: random forest, weighted vote, malware, classification detection
素贝叶斯(NB, naive Bayes)的 Android 应用恶意
1 引言
行为识别方法,抽取软件是否申请过多权限、是否
存 在 敏 感 权 限 组 合 等 作 为 分 类 属 性 , 通 过 对
Android 安全框架的扩展,实现了对恶意行为的实
时分析和处理。文献[2]利用 Android 权限间、
Android 权限和软件恶意倾向间的相关性,通过改
进贝叶斯算法实现了恶意软件的检测。文献[3]使用
Android 权限信息作为特征并采用信息增益(IG,
information gain)算法对其进行优化选择,再利用
拉普拉斯校准和乘数取自然对数对 NB 算法进行改
进,从而对 Android 恶意应用进行分析检测。然而,
上述研究只针对 Android 应用的权限信息进行检测
Android 系统是一款基于 Linux 内核的开源操
作系统,已经成为目前市场占有量最大的移动设备
终端平台。Android 系统的开放性使它成为恶意软
件最大的发展平台,2015 年,国家互联网应急中心
捕获和厂商获得的针对安卓平台的移动互联网恶
意程序数量位居第一。随着 Android 恶意软件的占
有率逐年上升,如何将其快速高效地分析并检测出
来已经成为目前的研究热点。
目前,机器学习中的很多分类算法被应用于
Android 恶意软件检测中。文献[1]提出一种基于朴
收稿日期:2016-12-03;修回日期:2017-02-21
基金项目:国家科技重大专项基金资助项目(No.2012ZX03002002);中国民航科技基金资助项目(No.MHRD201009,
No.MHRD201205)
Foundation Items: The National Science and Technology Major Project (No.2012ZX03002002), The Science & Technology Project
of CAAC (No.MHRD201009, No.MHRD201205)
2017073-1
第 4 期
杨宏宇等:基于改进随机森林算法的 Android 恶意软件检测
·9·
分析,检测范围不够全面。文献[4]利用危险 API
调用和权限组合创建了 SVM 分类器,从而自动地
将恶意软件分辨出来。文献[5]应用 k 均值(k-means)
算法和微小批处理 k 均值算法(mini batch k-means)
2 种聚类算法实现对恶意软件的分类。文献[4,5]虽
然实现了对 Android 恶意软件的检测,但是检测精
度都不够高。文献[6]利用深度学习算法实现了一个
在线恶意软件检测工具 Droid Detector,实现了
Android 应用的在线检测分析,但是其算法复杂度
较高,对计算机内存消耗较大。文献[7]提出了基
于手机端和服务器端的协作恶意代码检测方案,
文献[8]设计了一种 3 层混合系综算法(THEA, triple
hybrid ensemble algorithm),并实现了检测工具
Androdect 进行恶意代码检测,但这 2 种方法在技
术实现方面相对比较复杂。
器根据输入的测试样本集 x 产生分类结果,最终通
过投票原则确定测试样本类别。RF 算法的流程如
图 1 所示。
该算法的具体步骤如下。
步骤 1 给定原始训练集 S,样本数量为 N,特
征属性数量为 M。采用 bagging 抽样技术对 S 进
行有放回抽样,共抽取 ntry(ntry=N)个样本形成训
练子集。
步骤 2 从 M 个特征属性中随机选取 mtry
(mtry<<M,通常取■U0(M)+1ꢀ)个属性,按照决策
树生成算法(C4.5、CART 等)选择最优属性进行
节点分裂,分裂过程是完全分裂不进行剪枝,从而
对步骤 1 中抽取的训练子集生成一棵决策树。
步骤 3 重复步骤 1 和步骤 2 共 k 次,建立 k
棵决策树,生成随机森林。
综上所述,目前的检测研究成果在检测精度、
检测效率和实现复杂度等方面还存在诸多不足。本
文应用加权投票机制对随机森林(RF, random for-
est)算法进行改进,提出改进随机森林分类模型
( IRFCM, improved random forest classification
model)对 Android 应用程序进行逆向处理,并提取
Permission 信息及 Intent 信息作为特征属性,分别
步骤 4 应用生成的随机森林对测试样本集进
行分类检测,汇总所有决策树共 k 个分类结果,采
用简单投票原则计算出最终的分类结果。
2.2 算法特点
RF 算法有很多优点,首先,它是一种集成学
习算法,通过组合若干单个分类器的分类结果,从
而对测试样本的类别做出分类,该算法与单个分类
器相比具有更好的分类效果和泛化能力;由于特征
子集是随机选取的,因而该算法能够处理高维度数
据且不必做特征选择;该算法的训练过程中决策树
间相互独立,训练速度快且易于做成并行化方法。
但是,RF 算法也存在不足,以下将针对其投票原
则无法区分强分类器与弱分类器差异的缺陷进行
改进。
[9,10]
[11,12]
采用 IG 算法
和 ReliefF 算法
对特征属性进
行优化选择,并建立分类器对 Android 应用进行检
测分类,可有效提高对 Android 平台下的恶意软件
检测效率。
2 随机森林算法
2.1 算法分析
[13,14]
RF 算法由 Leo 和 Adele 提出
,该算法结合了
3 随机森林算法的改进
bagging 以及由 Ho 和 Amit 提出的随机属性选择思
想,是一个由多棵决策树分类器{h(x,θk)}组成的集
成学习分类器。其中,{θk}是独立同分布的随机向
量,k 表示决策树分类器的数量,每个决策树分类
投票决策过程是 RF 算法的重要组成部分,它
决定了对测试样本的最终分类结果。RF 算法采用
简单投票原则,对每个决策树赋予相同的权重,忽
图 1 RF 算法流程示意
2017073-2
全部评论(0)