基于数据挖掘的移动互联网数据包安全检测技术分析
2022-09-09杨倩倩王龙张晓娜
杨倩倩 王龙 张晓娜
(晋中信息学院大数据学院 山西省晋中市 030800)
随着各种移动设备和物联网技术的发展,人和物的数据都可以得到记录与存储,移动互联网的特性就在于可以锁定一个特殊用户,进而获取用户的地理位置信息,通过这一方式可以传输数据和信息。本文主要针对于移动互联网上的数据包进行分析,讨论这一技术的安全水平。
1 技术背景
1.1 移动互联网中的入侵检测系统
入侵检测技术属于一种安全检测方式,这一技术被广泛应用在互联网当中用来进行安全防护,入侵检测属于一种通过收集信息来发现系统当中违背安全策略或者直接对系统安全造成影响的行为,进而寻找造成这种行为的数据包,这一技术主要分为异常入侵检测以及误用入侵检测两种。异常入侵检测的概念是将正常行为与当下的行为进行对比分析,一旦出现异常就能够找到。误用入侵检测属于将一些恶意行为与当下的行为进行对比,一旦出现重合部分,就会进一步检测是否存在异常。
入侵检测技术在移动互联网安全防护技术方面得到了广泛的应用与落实,通过采集与分析设备实际特征,比如说发送数据包的数目以及运行数目的程序等等,就可以使用数据挖掘方式来找出移动终端时候存在恶意数据包。
然而在这一技术使用的过程中需要考虑到CPU、内存、电池等等方面的限制,各种入侵检测方式对于算法的时间和空间复杂度要求比较高,近些年来各项入侵检测技术在移动互联网当中的应用表明,各种安全检测技术都针对于移动终端的内存和电池产生不同程度的干扰与影响。只有主动发起安全检测的用户才能够发现系统当中存在的恶意数据包,因此如何建设自主防护的安全系统成为了当下入侵检测技术研究过程中面临的重大问题。
1.2 基于数据挖掘的入侵检测系统
数据挖掘属于使用统计、机器学习等等方式从大量的数据当中寻找到自己需要的内容,具体来说主要使用了数据处理、模型训练、知识发现、特征提取几个部分。在近些年来发展的过程中,数据挖掘技术成为了入侵检测技术当中的主要技术支撑,想要达到这一目的与要求,首先需要具有良好的训练数据集。训练数据集当中一般来说都会使用容易体现恶意程序行为模式的特征,比如说CPU 消耗大小、数据包数目、运行程序权限查看等等。为了增加检测准确性,经常考虑建立恶意行为规则来进行检测。本文主要收集了一部分的恶意移动数据包以及安全移动数据包,并且将数据包使用特征向量来进行表示,随后再填写缺失值、归一化、去重等等数据预处理工作,这样就可以将这些数据用于挖掘建模。为了对学习的检测模型进行性能对比,本文在分析的过程中使用了朴素贝叶斯算法、决策树算法。
2 实验模型
2.1 模型框架
使用数据挖掘技术来建设安全检测技术当中主要包括模型训练以及数据检测两方面部分,模型训练部分当中则是包括特征向量化移动数据包、数据预处理、数据挖掘算法来学习检测模型。数据检测技术当中包括特征向量化移动数据包、数据预处理和利用建设好的模型对全新移动数据包进行安全检测。训练模型的流程如下:首先安全移动数据包和恶意移动数据包一起开展特征获取,而特征向量表示移动数据包,通过数据预处理之后将正好的数据经过模型训练以及朴素贝叶斯算法和决策树算法得出对应的朴素贝叶斯模型以及决策树模型,图1为具体的实际流程图。
图1:训练模型流程图
其次则是检测模型流程图,首先选择移动数据包,通过特征探索来得到特征向量表示移动数据包,再经过数据预处理之后,得到直接整理好的数据。在这些数据当中进行分类,使用两种不同的模型来进行分类,其中包括朴素贝叶斯模型以及决策树模型。最后根据对应的检测结果,可以分析出数据包是恶意数据包还是正常的数据包。图2为检测模型流程图。
图2:检测模型流程图
2.2 特征向量化移动数据包
在这一过程中,需要选择有效的特征来对移动数据包进行向量化处理,不合理的特征不仅仅无法准确的刻画数据包模型,同时也会可能得到的正确结果产生干扰以及影响。为了找到恶意行为的行为模型,需要收集到正确有效的特征来描述数据包。具体来说用于移动互联网入侵检测系统的数据可以分为两种类型,首先是移动终端内部数据包括系统状态数据、软件状态数据等等,比如说电量消耗、运行进程数。而另一类则是属于跨越移动终端类型,比如说联网数据、蓝牙数据等等。本文主要针对于移动数据包内容进行分析,无需收集到任何移动终端的数据,因此属于第二种类型的入侵检测数据。
本文在研究的过程中,参照了KDD CUP1999 数据集的特征以及在构建入侵检测系统方面的应用,提取了15 个特征来描述每条移动数据包,这15 个特征主要包括基本特征以及统计特征两种类型。
首先是基本特征,这一特征可以从数据包当中直接获取到数据信息,主要涉及到的是与数据包相关的内容特征,其中包括状态响应码,请求类型,数据包长度等等7 种类型。
其次这是统计特征,这一特征属于针对于数据包当中部分特征进行统计与分析的特征,考虑到有些恶意行为特征与时间有关,本文主要针对于具有相同IP 地址的移动终端进行统计,计算在一定时间当中的统计特征,其中包括发送数据包数目、发送字节数目等等8 个特征。
2.3 数据挖掘算法
为了更好的明确选择的特征时候针对于恶意数据和安全数据具有良好的区分性,本文主要使用了分类算法来对数据开展分类工作。首先需要将数据包划分成为安全与恶意两种类型,随后根据设定的特征来将数据进行特征向量化。由于需要考虑到朴素贝叶斯以及决策树算法属于应用最广泛的两种分类算法,因此本文分别采用了朴素贝叶斯算法以及决策树算法来对数据开展分类。
2.3.1 朴素贝叶斯算法
朴素贝叶斯算法属于一种根据概率与统计的分类模型,整体核心实现属于需要得到分类的样本属于各个类别的概率,将其划分到概率较大的类别当中可以实现分类,具体来说流程主要如下所示:
假设有一条数据需要进行分类,而数据当中具有一个专属的特征属性,那么计算特征的重合内容,就能够完成分类。根据贝叶斯的公式可以发现,出现各个特征的概率是分类的主要依据,可以直接通过计算各个类别样本的比例来得到。那么可以说在分类的过程中直接计算各个类别样本比例就可以得到,在朴素贝叶斯分类算法当中架设数据特征属性之间相互独立,那么就可以通过计算各个类别中各个属性的概率,计算出对应的概率数值,得到分类数据的实际类别状态。
2.3.2 决策树算法
决策树算法与朴素贝叶斯算法之间有所不同,决策树算法属于一种基于信息熵的分类模型,使用分类树可以作为一种更好的分类规则,使用这一分类规则进行分类,可以达成更好的分类效果。决策树算法属于一种通过递归的方式来解决问题的主要方法,具体的方式是从上往下的递归算法。而决策树的树的节点可以选择最好的分类属性,直到决策树可以对数据进行分类,具体来说决策树的操作步骤与操作方式如下所示:
(1)需要对当下所有的数据进行计算,判断数据集时候处于空的状态,如果数据集处于空的状态,则需要返回父节点,属于比较普遍的一种情况(根节点不会出现这种情况)。如果数据集不为空,那么就需要进入下一个步骤。
(2)在决策树当中的所有数据都需要进行计算和分析,明确数据集的状态。如果此时数据集状态处于空的状态,那么需要将数据返回父节点,这一方式属于较为普遍的一种情况和策略。如果数据集此时不处于空的状态,那么可以将数据转入到下一个步骤当中。
(3)在第二个步骤当中需要将所有的数据属性进行划分,将一些具有争议的属性进行分类,选择信息增益最大的属性来划分成为树节点。
(4)在这一过程中对于信息增益最大的数值需要进行取值,取值相同的数据可以划分成为一个子集当中,对于子集的数据判断主要如下所示:首先数据集属性子集处于空的状态,那么此时需要返回数据集中当中比较普遍的一项类型。其次数据属于同一种类型,那么就需要将数据归纳到一个子集当中,并且将这一子集设置成为叶子节点,最后一种可能则是数据不属于同一种类型,那么就需要将数据归纳到第一个步骤当中,开展递归算法。
根据建设好的决策树模型可以进行分类,只需要从根节点到叶子节点,从上到下遍历树即可,也就是对一条数据,首先分析根节点的这一属性,根据这一属性走到不同的子树上,最终得到一个带有类别标号的叶子节点,这一类别标号就是对这一数据的实际分析结果。
3 实验及结果分析
3.1 实验数据
实验选择了30000 条安全数据以及4700 条恶意数据,并且使用了五折交叉验证法进行验证,表1为数据集的分析情况。
表1:实验数据
3.2 结果评估方法
本文主要使用精度、召回率、正确率及错误率对分类结果进行评价,精度以及召回率属于评价分类结果的一种常用方式,精度可以衡量检测准确的概率,而召回率则是可以衡量检测的概率。通过计算安全数据包以及恶意数据包的数目和整体状态,就能够得到更加准确的数据,从而得出对应的正确率与错误率。同时针对于数据也需要分析精度和召回率,精度意味着对数据辨别的准确度,而召回率意味着对数据的处理能力。除此之外,两种模型分类方式的稳定性也非常重要,稳定性越高,表明分类方式越正确与稳定,这也是一项非常重要的数据内容。
3.3 实验结果
主要使用了五折交叉验证的方式,分别针对于朴素贝叶斯检测模型以及决策树检测模型进行测试,实验结果如表2表3所示。下表为使用朴素贝叶斯算法进行计算的数据状态,分别包括精度、召回率、正确率、错误率。
表2:朴素贝叶斯模型检测结果
表3:决策树模型检测结果
3.4 实验结果分析
从实验结果可以看出,使用朴素贝叶斯模型以及决策树模型对数据的实际分类效果都比较好,总结表上来看,朴素贝叶斯模型检测数据的错误率在5%左右,而决策树模型的错误检测率约在4%左右,决策树模型要比朴素贝叶斯模型稍好一些。
对于安全移动数据包,两个检测模型的精度以及准确率在94%以上,然而对于恶意的移动数据包检测结果有一定的不同,对于恶意的移动数据包,从检测精度上来看两个检测模型的精度都在87%左右,这说明模型做出的判断效果较为有效。然而从恶意移动数据检测结果召回率角度上来看,朴素贝叶斯模型检测得到的召回率约在65%左右,这表明使用这种分类方式只能够有65%的成功率。决策树模型检测的召回率相对来说比较高,大约在80%左右,虽然召回成功率较高,但是每组数据的召回率波动比较大,最高可以达到99.81%,最低也有42.32%。这一数据说明训练数据对决策树模型的影响比较大,朴素贝叶斯模型的检测性能较为稳定,决策树模型检测较为准确,但是波动率较大。
4 结束语
本文提出了一个针对于移动数据包的入侵检测方法,可以使用移动数据包具有的特征来对不同的数据进行描述和分析,随后,可以使用贝叶斯算法以及决策树算法来对恶意移动数据包以及正常移动数据包的行为模式记性分析与计算。计算之后,通过使用五折交叉验证的方式,再通过数据挖掘的措施来学习移动数据包的相关特征,建立对应的模型来对移动数据包状态进行检测分析,这说明使用数据挖掘的方式开展数据安全分类属于一种有效的方式与策略。这种方式主要针对于移动数据包的特征,通过分类的方式来对数据包进行划分,随后进行分别检测,一方面降低了整体工作重复率,另一方面也提升了用户对于安全意识的整体要求和限制。