基于多元高斯分布的网络流量异常识别方法
2022-09-22卓群忠
卓群忠
(福建广播电视大学 莆田分校, 福建 莆田 351106)
0 引言
现代电子技术高速发展过程中网络服务成为其重要支撑.建立安全可靠的网络安全环境,有效地识别网络异常流量是实现网络安全发展的必然要求[1].网络流量异常识别是发现网络攻击,保证网络安全运行的有效措施.网络流量的异常常常反映当下网络环境中存在一定威胁,若不及时处理,易影响网络环境的安全[2].因此,关于网络流量异常的检测方法受到了相关研究者们的关注[3].
董书琴等人[4]针对传统网络流量异常识别方法识别准确度低的问题,提出了一种基于机器学习特征的网络异常识别检测方法.通过机器学习特征采集网络流量信号,利用最优降噪编码器识别异常流量信息,根据流量检测的准确率确定每个节点的异常流量信息,再通过降噪编码器进行异常特征提取,结合小波函数求出网络流量异常特征向量,通过最小含噪数据对网络流量异常特征进行向量重构,最后利用流量特征结合机器学习特征构建网络流量异常识别分类提取器,完成网络流量异常识别.该识别检测方法可有效地提高网络流量异常识别的准确率.但操作过程中抗干扰能力有待提高.蒲晓川等人[5]结合数据库设计了一种网络流量异常识别方法,用来解决传统网络流量异常识别检测时间长的问题.首先,对传统的网络流量异常识别方法进行分析,找出影响检测时长的关键因素,然后结合数据库,采用小批量梯度计算方法,构建出网络流量异常识别数据库模型,最后利用该模型对网络流量进行仿真模拟测试.该方法针对异常流量的识别耗时较短,但识别的精度有待进一步提高.
本文设计了一种基于多元高斯分布的网络流量异常识别数学模型.实验结果表明所提模型对异常流量识别的精度较高,且识别的耗时较短,具有一定的可行性.
1 网络流量异常识别数学建模设计
1.1 网络流量特征提取
在计算机网络体系中,随着时间的变化,网络流量特征也会在一定程度上发生变化.因此,单一的网络流量特征无法对网络流量的异常情况进行反映.在识别之前,需要在网络流量中提取其多种特征.在识别过程中,引入多元高斯分布理论[6],解析网络流量数据包,并将多元高斯分布理论应用到数据包的解析中,从而提高网络流量的识别速率. 网络流量特征提取的具体步骤如下:
步骤1: 获取网络端口
将网络端口特征数据表中流量数据与网络端口特征进行匹配处理[7],获取到网络端口的匹配性能.
步骤2: 提取网络流量中TCP网络流量特征
在TCP网络的应用过程中,需要对TCP网络流量数据包进行交换处理,然后依据以下3个条件提取网络流量中的TCP网络流量特征,即:
1) 在指定的时间段ΔU(ΔU=2s)内,网络流量中TCP网络流量数据包的个数需要大于或等于P个;
2) 在指定的主机端口,设置端口的网络流量率,并且用Gj对其进行描述,且Gj>n%;
3) 在指定时间段ΔU(ΔU=2 s)内,设置TCP网络流量数据包的数量[8],并且可以用T进行描述,T≥P.
步骤3: 提取网络流量中的GPRS网络流量特征
在GPRS网络中,GPRS网络流量数据包的数量要比TCP网络流量数据包少很多,TCP网络流量数据包的长度也比GPRS网络流量数据包长,根据以下条件,可以对网络流量中的GPRS网络流量特征进行提取,即:
1) 对于指定的主机端口,设置GPRS网络端口的流量率,并且可以用Hj描述,Hj>n%;
2) 在指定的时间段ΔU(ΔU=2 s)内,连续的GPRS网络流量数据包的数量需要满足T≥P关系.
根据以上方法,可以正确提取出网络流量特征,从而为网络流量的识别提供依据.
1.2 网络流量分类
在上述网络流量提取基础上,为了实现网络流量异常识别,需要对网络流量进行分类.
{T(K,X,D)}表示网络流量的多元高斯分布序列,其中,T为最终的网络流量分类模型,D为采集流量集量,X为流量样本集,K为流量分类器的数量,则每个流量分类器的输入样本为:
X={x1,x2,…,xM}
(1)
通过式(1)进行网络流量分类,根据传输层类别确定网络流量的具体类别,步骤如下:
步骤1: 假设初始的网络流量数据集为D,流量样本数量为N,网络特征数量为M.在多元高斯分布序列模型中,利用流量分类器[9]对全部流量样本进行集中训练;
步骤2: 利用小批量梯度下降算法生成流量分类器[10].为了达到预期的分类效果,在不同传输层M个特征中选取m个流量子特征.在传输层的各节点选取流量最大样本进行分裂[11],将分裂完成后的网络流量子集重复步骤,生成新的梯度序列;
步骤3: 利用步骤1和步骤2进行k次重复验证操作,形成k个梯度序列,获取随机梯度序列;
步骤4: 将生成的随机梯度序列结合多元高斯分布序列生成新的网络流量分类,对流量分类器进行统计分析,确定最终的网络流量分类类别[12].
在网络流量分类过程中,根据其中一部分流量分类器构建样本网络流量梯度序列分类;剩余一部分流量分类器,通过重新采样[13],构建网络流量梯度序列分类,通过对网络流量检测过程进行优化,获取网络流量分类的算法.具体操作如下:
Step1: 网络流量特征预先处理,将全部网络流量特征用0代替,并统一流量数据的格式.
Step2: 设A为网络传输层的网络流量特征向量,计算出网络流量特征向量的信息增加率,则:
(2)
式中,gainRation(D,A)为网络流量数据特征A的信息增加率,gain(D,A)为该网络流量的信息量,splitinfo(D,A)为网络流量的分量.
在此基础上,利用下式获取:
(3)
式中,pa为特征A不同网络流量分类频率,entropy(D)为现有网络流量的种类数量,其中:
(4)
式中,C为网络流量数据分类的类型,pc为总网络数据流量样本中C所占的比例.
利用下式计算出特征A的分裂信息量为:
(5)
Step3: 网络流量特征排序.对不同网络环境下的流量信息进行增加概率排序,选择传输层内较为突出的信息特征量,删除特征不明显的最小特征向量[14].计算传输层的网络流量分类阈值.
Step4: 网络流量训练分类器.设定传输层样本各个节点的流量传输规则,确定网络流量分类的类别,得到各个网络节点的流量传输候选集[15],如下:
A←{a1,a2,…,am}
(6)
产生的流量传输候选子集为:
Dm={D1,D2,…,Dm}
(7)
Step5: 网络流量分类属性.此步骤与多元高斯分布的分裂规则一样,分别对各节点网络流量信息进行分类,选取节点分类的最高属性值,产生不同流量数据子集,对流量数据子集进行多元高斯分布排列[16],得到信息增加率公式为:
(8)
Step6: 分别对所有梯度序列进行上述步骤操作,生成相应的网络流量分类规则,直到满足条件为止.
Step7: 重复上述步骤K次.
在改进的网络流量分类器模型中,对采集的重复信息流量数据进行重新检测[17].原始网络流量数据样本中,流量信息未被检测的概率为:
(9)
式中,p代表网络流量未检测发生的概率,ALL代表所有网络流量数据.
得到当前梯度序列的网络流量分类精度:
(10)
式中,Ot为当前网络流量梯度序列内的全部数据,Ou代表已检测完毕的网络流量信息.
对网络流量梯度序列pt进行权重分析,对分析结果进行加权统计[18],得到最终的网络流量分类结果为:
(11)
式中,Tt,x代表网络流量样本的数量.
利用投票方式确定了网络流量分类的类别,根据重采样的样本构建网络流量分类决策树,计算网络流量信息的增益,完成网络流量分类.
1.3 网络流量异常识别的数学模型
通过多元高斯分布结合序列分析方法,构建网络流量异常识别的数学模型.具体研究过程如下:
首先,构建网络信息流量的统计信号模型,利用多元高斯分布序列检测方法,对x′(k)进行流量变换,然后分析网络流量信号的时间排列特征,得到网络流量异常识别的时间不可逆量.通过上述公式,选取网络流量样本x,代表网络流量随机检测的概率,受噪音干预的情况下,得到网络流量异常信号统计的特征函数为:
(12)
式中,异常网络流量信号x的序列概率函数为f(x).
在构建网络流量异常识别的数学模型过程中,对传输层的各个节点进行异常信号识别.异常信号通过在异常网络中高阶积累,得到网络流量异常信号到特征向量,将异常信号进行切片分解[19],最终得到一组随机的网络流量异常变量信息.结合随机变量x与网络流量异常量,得到ck和Φ(w)的v阶多元高斯分布过程为:
(13)
式中,dw代表多元高斯分布环境因子.
设网络流量异常识别序列为x(n),当均值z等于零时,网络流量数据的异常多元高斯分布函数为z-1.利用线性分析[20],对异常信号进行替换,得到下式:
(14)
利用梯度方程式描述网络流量异常识别的过程,设网络流量异常数据的随机变量为X,按照多元高斯分布为N(0,σ2),得到网络流量异常识别的时长:
Tx(w)=e-wtσtN(0,σ2)
(15)
结合网络流量异常识别的时长与特征向量之间的关系为:
(16)
通过上述计算,得到网络流量异常识别的数学排列矩阵为:
(17)
在网络流量异常识别统计模型基础上,结合数量排列矩阵对网络流量异常信息进行改进.通过最优降噪编码器识别异常流量信息,设异常网络流量信息识别变量为x阶,得到网络流量异常识别的数学排列原点矩阵为:
(18)
在大规模的噪音以及大量的网络流量信息干扰下,网络流量异常数据为零的多元高斯分布过程.利用小批量梯度计算方法提升异常识别检测速度.利用过滤波有效控制噪音干扰变量,得到过滤波与网络流量数学排列矩阵关系,即:
(19)
式中,Y(z)代表过滤波与网络流量数学排列矩阵关系,A(z)代表网络流量异常类别.
基于以上公式推导,可建立网络流量异常识别的数学模型:
(20)
式中,cx(τ)代表网络流量异常识别结果,wi代表网络流量异常占比.
通过上述操作步骤,完成基于多元高斯分布的网络流量异常识别数学建模.
2 实验与结果
2.1实验环境及参数设置
仿真测试计算机的配置为AMD显卡,Intel 4核2.90 GHz的中央处理器,500 GB 的硬盘,32 GB的内存,操作系统选择Windows 10. 引入文[4]和文[5]的识别方法,在相同环境下进行测试对比.
2.2 结果分析
为了验证本文方法的有效性,采用文[4]、文[5]方法和本文方法,对相同样本网络流量进行识别,得到的识别效率如图1所示.
图1 网络流量异常识别效率测试结果
从图1中的实验结果可以看出,随着实验次数的增加,3种方法的识别效率均呈现上升趋势.其中:本文所提方法在识别网络流量时效率呈直线上升趋势,当网络流量识别效率达到98%以后,开始逐渐趋于稳定;文[4]方法在识别网络流量时效率也呈现出上升趋势,但是在第3次实验时,该方法开始逐渐趋于稳定,但在网络流量识别效率方面低于本文方法; 文[5]方法在识别网络流量时的效率在整个实验过程中处于不稳定状态.对比发现在3种网络流量异常识别数学模型中,本文所提的基于多元高斯分布的网络流量异常识别方法在识别网络流量时的效率较高,且可以有效保证网络流量识别的实时性.
实验还进一步测试了本文方法、文[4]和文[5]方法识别的误识率,得到的结果如表1所示.从表1中的实验结果可以看出,随着训练样本数量的增加,与文[4]和文[5]方法相比,基于多元高斯分布的网络流量异常识别方法在识别网络流量时,网络流量识别准确率较高,可以有效地判断网络的运行状况,原因是基于多元高斯分布的网络流量异常识别方法在建模之前,利用多元高斯分布理论,提取出网络流量特征,并对网络流量进行了分类,从而有效地提高了网络流量的识别准确率.
表1 网络流量误识率测试结果
3 结束语
针对传统网络流量异常识别数学模型中存在的问题,采用多元高斯分布理论提取出网络流量特征,并对网络流量进行了分类,构建了基于多元高斯分布的网络流量异常识别方法.实验结果显示,本文提出的基于多元高斯分布的网络流量异常识别方法在识别效率和准确率方面具有较好的性能.