基于决策树的恶意应用软件检测方法

来源:期刊VIP网所属分类:软件开发发布时间:2021-05-25浏览:

  摘要: 为了能够更精准检测恶意应用软件,保证计算机或个人移动中终端的数据安全以及个人财产安全,需要对传统的恶意应用软件检测方法进行改良,因此基于决策树对恶意应用软件检测方法进行研究。研究基本的决策树算法,分析得到决策树算法在恶意应用软件检测过程中的两种应用方式,并分别阐述CART决策树生成算法与CART决策树剪枝算法的应用原理。提取数据集中的样本特征、构建相应的样本特征数据集,基于决策树进行相应的样本特征筛选,并研究该算法的训练方法。最后设计实验,验证基于决策树的恶意应用软件检测方法达成了研究目的,具备算法的优越性和实用性。

  关键词:决策树;恶意应用软件;Android系统

软件工程论文

  人们在使用手机和电脑时,必然离不开对应用软件的操作,因此由应用软件衍生而来的恶意软件就成了当前互联网和计算机最重要的威胁。如果放任恶意软件在计算机中运行,很有可能对计算机系统本身造成威胁[1]。因此想要保证互联网环境的安全性,就需要首先确保个人设备中不会混入恶意应用程序,这就需要相关研发人员对于能够检测恶意应用软件的系统进行研究。因此本文使用决策树对恶意应用软件检测方法进行研究。

  1 决策树算法研究

  本文的决策树主要用于检测恶意应用软件,因此使用CART决策树作为本文的算法。CART决策树是一个树状的结构,通过基尼指数的检验,测试特征的不同,通过根节点逐一分裂,如此在分裂的过程中收集性状特征,逐渐达到子节点[2]。

  在检测恶意应用软件时,需要两种对于CART决策树的应用方式,其一便是在遍历恶意软件时的CART决策树生成算法,CART决策树生成算法是CART回归树中最简单的特征划分算法,使用了最小平方化的原则,以完成二叉树的构建[3]。首先输入训练集,终止所有已知条件,输出CART决策回归树[f(x)],此时应通过以下公式选择最优切分变量:

  其中[j]表示所求的最优切分变量;[s]表示待切分点;通过将所有最优切分变量遍历,得到所有能够切分点子树树枝,并得到公式(1)中数值最小的切分插入点[(j,s)]。

  需要将已经选定的[(j,s)]点划分出相应的区域,并输出切分点的最优变量值,此时得到的只是区域最优变量,若想要计算出全局最优解,还需要不断重复以上两个步骤的递归程序,直至满足性状特征条件。设定每一个性状特征都是一个子树树叶,就能够得到如下所示的决策树生成表达式:

  式中,[M]表示输入空间的总个数,即该决策树将空间划分为[M]个不相交的区域[R1,R2,R3,…,RM];[m]则表示每个区域的一个子树叶片,且满足[x∈Rm]。

  CART决策树的应用方式是在检测到恶意应用软件删除以上过程中生成数据时所需要的CART决策树剪枝算法,剪枝的过程实际上就是一个将算法简化的过程,检测恶意应用软件的目的达成以后,就需要删除一些已经不需要的底端子树,因此需要在CART决策应用树中先后进行两步操作[4]。决策树的剪枝操作需要从底端开始,逐步操作至根节点,就能够获得经过修剪的决策树[{T0,T1,T2,…,Tn}]。可以通過验证法,交叉验证独立集合中的决策树,对其进行测试,选择一条最优的子树[5]。

  2 恶意应用软件检测方法研究

  2.1 特征向量的提取和构建

  在研究检测方法时,为了方便设计算法以及验证算法的准确性,均需要首先构建数据集,在本文中,构建数据集时需要大量的良性应用软件和恶意应用软件,使良性应用软件和恶意应用软件达到1:1的比例。在数据集中提取特征向量并构建基于决策树的类别特征。

  在得到了.txt的数据集集合后,就能够对该数据集中的所有文件名称进行操作,通过读取和去重,能够获得数据及样本的特征向量,并与数据集中的每一个样本比对。若存在与之相仿的文件则标注为1,若不存在与之相对应的文件则标注为0,以1和0作为样本特征的标签,并以此构建样本的特征向量集合。获得标签后,还需要再次处理已经集结为集合的特征文件,以便之后的样本训练。假设特征数据集中共有N个样本,可以设计样本总体特征与样本单体特征的对比函数关系式,获取了特征向量的维度分析结果之后,需要首先对该特征向量维度进行压缩操作,之后再进行特征的判别。

  2.2 基于决策树的特征筛选

  在上文计算得到特征向量之后,还需要基于决策树对这些向量进行特征的筛选,以寻找到混杂在良性应用软件之中的恶意应用软件,本文使用特征重要度的度量进行特征筛选。对于上文中构建的数据集,假设其中共有y个样本,其中恶意应用软件在样本集中的比例为[p2],则此时可以使用基尼指数进行样本集中CART决策树的生成操作。由此,对样本特征数据集所得到相应的特征进行评分,以评分进行筛选,其筛选过程如下所示:

  其中,[F1,F2,…,FN]表示数据特征集合;[FS1,FS2,…,FSk]表示这些数据集合中各项数据所对应的评分。此时应设置一个特征阈值,若超过阈值,则可以将其筛选出来。其中[FSk]就表示第k个被筛选出来的特征。

  2.3 算法训练集成方法研究

  将以上特征的提取与筛选进行整合之后,就可以设计该恶意应用软件的检测方法如图1所示。

  如上图所示,将上文中的样本特征集合分别进行训练并将其分类,通过对样本的划分,可以得到整个算法的训练集,将这些训练集统一测试,得到Roting的结果,经过投票处理之后,对各个子结果统一合并,才能得到最终的结果。将最终的结果输出,就可以将此作为一个数据集中恶意应用软件和良性应用软件的评判结果。

  3 实验设计

  为了确定本文研究的基于决策树的恶意应用软件检测方法是否能够达成研究目的,在检测精度、检测过后的算法冗余度、检测效率等方面的综合成绩优于传统的几种算法,设计对比实验进行验证。

  推荐阅读:《电子技术与软件工程》杂志是面向电子技术与软件工程专业人员,报道该领域前沿技术进展和最新科研成果,介绍产品开发的新工具、新方法及典型案例,促进电子技术与计算机软件工程交叉学科发展。

期刊VIP网,您身边的高端学术顾问

文章名称: 基于决策树的恶意应用软件检测方法

文章地址: http://www.qikanvip.com/ruanjiankaifa/57614.html