A method of using random forest classifier for real-time detection of the Android malware, including (1) collecting network data; (2) application interface data packet flow; (3) extracting data flow minimum unit; (4) extracting call sequence characteristics; (5) Cin Marco's training model; (6) training random forest model; (7) to extract the application interface data detected by flow characteristics; (8) the feature vector samples the input random forest detection model, determine the output field network feature detection model whether the malicious software category; (9) the output of the detecting sample corresponding to the malware category. The invention can detect the malicious software in real time and detect the software transmitted in the network, and has good detection accuracy.
【技术实现步骤摘要】
利用随机森林分类器实时检测安卓恶意软件的方法
本专利技术属于通信
,更进一步涉及网络安全
中的一种利用随机森林分类器实时检测安卓恶意软件的方法。本专利技术可用于实时检测安卓软件中是否存在恶意软件,以便其他网络安全技术对安卓软件中所存在的恶意软件进行处理,从而保障安卓软件的信息安全。
技术介绍
安卓恶意软件检测技术用于发现移动设备上存在的恶意软件,以便于其他网络安全技术阻止恶意软件对移动设备的危害活动。利用随机森林分类器的安卓恶意软件检测技术在近些年受到了学者的关注,这种方法通常是对应用程序产生的特征数据进行分析,从中提取出能够区分正常软件和恶意软件的特征,作为恶意软件的检测依据。目前基于分类器分析的安卓恶意软件检测技术有:董航在其发表的博士论文“移动应用程序检测与防护技术研究”(北京邮电大学,中国知网)中提出一种基于HMMs-SVM模型的移动恶意行为动态分析方法。该方法分两个阶段,首先,通过将所有应用程序按照功能分类,分别运行各个分类中的所有学习样本,对其运行时行为进行捕获,对捕获的运行时行为数据进行预处理和特征提取,作为隐马尔可夫模型的观测值输入,使 ...
【技术保护点】
一种利用随机森林分类器实时检测安卓恶意软件的方法,包括以下步骤:(1)收集网络数据:使用数据包捕获工具,分别收集正常软件样本和恶意软件样本所产生的运行时应用程序接口调用数据流,将收集到的运行时应用程序接口调用数据流作为训练恶意软件检测模型的初始数据集;(2)应用程序接口调用数据流分组:应用程序接口利用数据流的分组规则,对初始应用程序接口调用数据集进行分组,得到多个不同应用程序接口数据流类型的分组;(3)提取数据流最小单元:应用程序接口利用数据流最小单元的分组规则,提取不同应用程序接口数据流类型的分组,从运行时trace文件生成的应用程序接口数据流调用关系树中,提取应用程序接 ...
【技术特征摘要】
1.一种利用随机森林分类器实时检测安卓恶意软件的方法,包括以下步骤:(1)收集网络数据:使用数据包捕获工具,分别收集正常软件样本和恶意软件样本所产生的运行时应用程序接口调用数据流,将收集到的运行时应用程序接口调用数据流作为训练恶意软件检测模型的初始数据集;(2)应用程序接口调用数据流分组:应用程序接口利用数据流的分组规则,对初始应用程序接口调用数据集进行分组,得到多个不同应用程序接口数据流类型的分组;(3)提取数据流最小单元:应用程序接口利用数据流最小单元的分组规则,提取不同应用程序接口数据流类型的分组,从运行时trace文件生成的应用程序接口数据流调用关系树中,提取应用程序接口数据流最小单元;(4)提取调用序列特征:(4a)根据运行时trace文件对应的应用程序接口数据流最小单元,分别从每个应用程序接口数据流最小单元的头部字段调用信息中,提取多种网络行为特征序列;(4b)将提取到的多种网络行为特征中每一项网络行为特征作为对应向量的每一列特征元素,组成字段网络特征向量;(5)训练隐马尔科夫模型:(5a)分别将每个字段网络特征向量标记为与该特征向量对应的软件样本类别,将所有标记后的字段网络特征向量组成隐马尔科夫模型的训练样本集;(5b)利用Baum-Welch算法,对训练样本集进行训练,得到隐马尔科夫模型;(5c)利用最大似然推导公式,计算在Baum-Welch算法下得到的隐马尔科夫模型的最大似然输出,将多个类型的最大似然输出组成最大似然向量;(6)训练随机森林模型:(6a)将最大似然向量作为随机森林模型的观测值训练样本集;(6b)利用随机森林算法,对训练样本集进行训练,得到随机森林分类器检测模型;(7)提取待检测样本的应用程序接口数据流特征:(7a)利用网络数据包捕获工具,实时捕获待检测样本的应用程序接口数据流特征;(7b)根据数据流的分组规则,得到待检测样本的应用程序接口数据流分组;(7c)根据数据流最小单元的分组规则,从待检测样本的应用程序接口数据流分组中提取应用程序接口数据流最小单元;(7d)提取到网络行为特征作为向量的元素,组成字段网络特征向量;(8)将待检测样本的特征向量输入随机森林检测模型,判断特征检测模型的输出是否为恶意软件类别,若是,则执行步骤(9),否则,执行步骤(10);(9)将待检测样本标记为恶意软件,输出待检测样本对应的恶意软件类别;(10)将待检测样本标记为正常软件,输出待检测样本对应的正常软件类别。2.根据权利要求1所述的利用随机森林分类器实时检测安卓恶意软件的方法,其特征在于,步骤(2)、步骤(7b)中所述的数据流的分组规则是指,对于初始数据集中的应用程序接口数据流,按照数据流的时间顺序,将两个数据流时间间隔小于4.5秒的相邻应用程序接口数据流,划分为一个数据流分组。3.根据权利要求1所述的利用随机森林分类器实时检测安卓恶意软件的方法,其特征在于,步骤(3)、步骤(7c)中所述的应用程序接口数据流最小单元的分组规则是指,对于每一个应用程序接口数据流分组内的数据包,按照数据包的时间顺序,将具有相同的应用程序接口数据包,划分成一个应用程序数据流最小单元,7<Count<256,其中,Count为应用程序数据流最小单元中数据包的总数。4.根据权利要求1所述的利用随机森林分类器实时检测安卓恶意软件的方法,其特征在于,步骤(4a)中所述的多种网络行为特征序列包括:硬件访问、隐私信息获取、网络请求、网络数据传输、频繁文件读写、系统资源高负载、空闲状态字段。5.根据权利要求1所述的利用随机森林分类器实时检测安卓恶意软件的方法,其特征在于,步骤(5a)中所述的软件样本类别包括,正常软件样本和恶意软件样本两种类别。6.根据权利要求1所述的利用随机森林分类器实时检测安卓恶意软件的方法,其特征在于,步骤(5b)所述Baum-Welch算法的具体步骤如下:第1步,将字段特征向量作为训练样本集,其中每个字段特征向量的所有字段特征组成特征集合;第2步,创建一个树节点;第3步,判断训练样本集中的样本是否全属于同一类别,若是,则执行第4步,否则,执行第5步;第4步,将树...
【专利技术属性】
技术研发人员:董庆宽,曾敏,张文博,陈原,白丽娜,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:陕西,61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。