APP下载

基于端口互动模式的入侵检测模型*

2023-09-26徐科兵陈赞波王则扬王韬樾

电讯技术 2023年9期
关键词:会话神经网络流量

徐科兵,陈赞波,邹 翔,王则扬,王韬樾,5

(1.国网浙江省电力有限公司宁波供电公司,浙江 宁波 315000;2.宁波送变电建设有限公司永耀分公司,浙江 宁波 315000;3.国网浙江慈溪市供电有限公司,浙江 慈溪 315300;4.浙江华云信息科技有限公司,杭州 310000;5.天辰威科技(杭州)有限公司,杭州 310000)

0 引 言

随着网络流量多样化和复杂化的日趋严重,网络攻击越来越难以实时监测。近年来,安全事件频繁发生。为了避免网络攻击所造成的严重损失,构建一个有效的入侵检测模型以发掘海量流量数据中的已有特征规律无疑是其首要问题。深度学习作为机器学习的一个分支,可以通过训练多层神经网络最大化地认知某一类事物的内在规律,对于发掘海量网络流量数据中异常攻击流量的内在规律具有独特优势。

在入侵检测所涉及的诸多问题中,对于异常流量的检测方法是其主要研究方向,而设计一个能够准确描述网络流量的特征集则是提高检测性能的关键点[1-2]。目前,已有的数据集包括KDD’99、NSL-KDD、UNSW-UB15等,具有较大的数据规模和丰富的特征集合,并且详细地记录了流量数据不同维度的属性。利用神经网络可以挖掘上述数据集内部规律,从而实现异常攻击检测。

文献[3-9]的研究为将深度学习应用于入侵检测提供了广阔的思路,但也存在以下一些问题:第一,链路层海量高速的流量性质决定了其入侵检测模块不能过于复杂,而以往研究为了提高分类精度,往往基于高维数据集进行神经网络训练,即对于每一条会话包含大量属性,从而导致当一个数据包到来时需要获取其训练时所需的详细特征集,对实际应用提出了巨大的计算要求;第二,以往研究均基于大量非链路层信息进行神经网络训练,而当攻击者对这些信息进行伪装时,神经网络的分类精度会受较大的影响;第三,实际流量中异常流量规模相对正常流量往往偏小,而以往研究所使用的数据集在训练数据时则提供了大量的异常流量占比,例如NSL-KDD所提供的训练集中,异常流量占总流量的46.52%,而在实际流量中该异常流量占比几乎不可能实现。

针对上述问题,本文重点探讨端口互动模式在链路层的映射(Port Interaction Mode in Data Link Layer,PIMDL)以实现对流量数据的量化表达,并以数据包的到达时间分布作为一维特征,对传统基于高维流量特征集的训练方法进行改进,并通过仿真实验验证了所提出的量化模型和改进算法的有效性。主要工作如下:

首先,提出了一种端口互动模式在链路层映射的详细定义和量化表示方法,并使用相空间重构将PIMDL可视化以展示正常流量和异常流量的差异,从而证明其有效性。在此基础上,使用自相关图分别探究长会话和短会话各自的特征,并通过平衡引入偏差和样本丰富度来确定样本选取范围,以便于选取对应的神经网络,使其最大程度地发掘正常流量和异常流量之间的差异。其次,给出了异常流量数据增强的方法,并针对长短会话各自特征设计了基于卷积层和长短时记忆层的神经网络,用来挖掘正常和异常流量端口互动模式之间的差异。在此基础上,提出了一种改进入侵检测算法,设计多模型评分机制对会话进行评估,将会话映射到三维模型空间内,使用支持向量机(Support Vector Machine,SVM)对模型空间内的会话完成流量分类。

1 PIMDL模型及其特性分析

1.1 PIMDL模型建立

在TCP/IP协议下的通信可以看作端口间的信息交互,即将一对端口间的信息交互过程称为会话。在理想情况下该模式严格遵守TCP/IP协议规定,而在实际情况下由于高层协议、路由拓扑结构、不可控网络延迟等影响,该模式在链路层会呈现出较为灵活的规律。从链路层的角度出发,其数据包到达时间分布在一定程度上代表着端口间的互动模式,如图1所示。

图1 PIMDL形成

基于原始流量构建端口间会话的PIMDL模型如下:

首先,根据通信双方的IP、端口号等信息,将网络流量归类为会话集C={c1,c2,…,cn},其中ci∈C为一对通信双方间的会话。设tci表示ci的持续时间,并以ci的开始时刻为基准(零时刻)。设Δt为步长,将ci划分为ni个时间段,ni=tci/Δt,如图2所示。

图2 PIMDL量化模型

表1 PIMDL矩阵

基于上述量化模型,可以通过统计其特征集的分布情况,进一步发掘其隐藏的高层互动模式,从而判断PIMDL是否异常,以实现链路层的流量入侵检测。

1.2 基于相空间重构的PIMDL有效性验证

混沌时间序列是一种确定系统中出现的无规则的运动,而PIMDL受到网络高层协议、网络拓扑结构等确定因素的影响呈现出较为复杂的表现形式,因此,可以在一定程度上将其近似为混沌时间序列。基于嵌入定理,从一维混沌时间序列中重构一个与原动力系统在拓扑意义下一样的相空间,其过程如下:

对于时间序列{xi|i=1,2,…,n},可以重构出其对应的高维相空间{yi|i=1,2,…,n-(dim-1)lag}。其中,lag为延迟时间位数,dim为嵌入维度,yi={xi,xi+lag,…,xi+(dim-1)lag}。以下分别采用交互信息法和虚假邻近法以确定lag和dim的取值。

1.2.1 lag取值确定

假设离散信息系统X={x1,x2,…,xn}。从系统中获得的信息熵为

(1)

式中:Pr(xi)表示事件xi的概率。则随机过程X、Y的交互信息为

I(X,Y)=H(X)+H(Y)-H(X,Y)。

(2)

式中:

(3)

式(3)中Pr(xi,yj)表示事件xi和yi的联合概率。将xi根据lag分割成xi和xi+lag,且i=1,2,…,n-lag,则I(xi,xi+lag)等价于I(lag)。I(lag)=0表示xi+lag完全不可预测,即两者完全不相关。随着lag的增加,I(lag)第一个极小值表示了xi和xi+lag不相关的最大概率,因此,重构时选择其前几个极小值所对应的lag[10]。

图3 交互信息变化情况

图3中的横轴表示延迟时间lag,纵轴表示相应lag取值下xi和xi+lag的互信息量I(lag)。图中结果显示,随机抽取的样本在交互信息到达第二个极小值时,延迟时间lag集中在1.8 s附近。因此,根据上述结果,互动模式相空间重构的延迟时间选择为1.8 s。

1.2.2 dim取值确定

基于虚假邻近法和重构相空间,在dim维相空间中,每一个矢量yi都有一个欧氏距离的最邻近点(False Nearest Neighbors,FNN)。而对于实际的混沌时间序列,从dim的最小值2开始,计算虚假最邻近点的比例,并逐渐增加dim取值,直到虚假最邻近点的比例小于5%或其个数不再随着dim的增加而减少时,可以认为混沌吸引子已经完全打开,此时dim取值就是最终求得的嵌入维数[11]。

依据上述方法,为了确定重构互动模式下时序相空间的最佳嵌入维度,选取持续时间为500~600 s的会话,并将数据包个数取200~1 200,以125为间隔分成8组,对每组进行随机抽样,实验结果如图4所示。

图4 FNN随嵌入维度变化情况

图4中横轴表示嵌入维度dim,纵轴为在延迟时间lag=0.6 s时对应dim的相空间FNN数目。由图4可知,FNN在dim=160时基本完全收敛,即认为在当前数集下,dim≥160时,混沌吸引子完全打开。

1.2.3 PIMDL有效性验证

为了验证提出的PIMDL模型有否有效,先对其进行可视化。针对正常流量和异常流量,均获取数据包个数大于200且持续时间500~600 s的会话,取时间间隔Δt=0.6 s,将所有会话量化为表1所示的PIMDL矩阵。

根据1.2.1和1.2.2中对延迟时间位数和嵌入维度分析,取lag=1.8 s,dim=160,并获取CICIDS-2017数据集[12]和CTU-13数据集[13]作为异常攻击流量数据来源,结果如图5所示。

图5 正常&异常流量会话

由图5可以看出正常流量颜色较为单一,而异常流量颜色较为鲜艳,且呈现多样化。实验结果与网络环境的实际情况相符,即正常的端口间会话模式遵循严格的TCP/IP协议,有着一致的互动模式,而异常端口间会话模式没有明显的规律,其互动模式呈多样化,且与正常模式保持较大差距。上述实验表明,表1所提出的PIMDL对网络流量的量化表达是有效的。

1.3 基于自相关图的PIMDL一致性验证

PIMDL可以看作基于时间序列的特征集,基于网络会话的长度,可以将流量分为较长和较短会话两类。由于数据特征决定着其神经网络类型的选取,因此,针对两类会话分别探究其时间序列的自相关性,从而依据其各自的属性构建神经网络。

对于每一组端口间会话的PIMDL矩阵,利用自相关图对此状态序列进行一致性验证。自相关函数定义如下[14]:

(4)

式中:Xs、Xe表示从初始随机过程X中分别截取开始时刻为ts和te(ts

(5)

设延迟时间τ=te-ts,以ts为基准时刻,即0时刻,则式(4)可以转化为

(6)

式(6)中对于具有固定长度的随机过程X,当延迟时间τ增加时,为了保证Xs和Xe容量相同且连续,两者的容量都会减小。

此外,若两个随机过程的自相关函数值处在置信区间内时,则认为两个随机过程在一定置信度下不相关。自相关函数置信区间的定义如下[15]:

(7)

式中:acc表示置信度;L表示样本容量;erf()为误差函数,

(8)

图6 短会话下的自相关图

图6中,横轴表示延迟时间τ,纵轴表示Xs和Xe的皮尔逊相关,浅蓝色区域为对应τ下置信度为95%的置信区间。由图6可以看出,随着延迟时间的增加,自相关图出现了“截尾”现象,即序列的自相关值收敛在了置信区间内。实验结果说明τ增大到一定程度时,Xs和Xe不再具有明显的相关性,即序列不再表现出明显的自相关性。这种现象下的时间序列称为“平稳时间序列”,表明时间序列中的前后状态相互独立。

与较短会话相比,获取持续时间为3 500~3 600 s的较长时间会话。为了避免图像杂乱,取时间间隔为1s,重复上述自相关图的绘制过程,实验结果如图7所示。

为了突出两类会话的区别,长会话的自相关图中每个数据点均与横坐标有一条连线。从图7可以看出,随着延迟时间的增加,序列自相关图没有出现“截尾”现象,即没有呈现出较好的平稳性。而自相关函数值周期性地出现在了置信区间以外,表明较长会话序列可以近似为一段自相关序列,即时间序列的前后状态相关。类似的其他属性下的样本均与图7呈现了相似的性质。

2 神经网络的构建与入侵检测算法流程

2.1 异常流量数据增强

目前异常流量数据集对于端口间长时间的互动信息考虑较少,且无法全面地概括异常互动的时序特征,而深度学习的精度非常依赖训练集规模,如果输入样本无法概括本类别所有样本的特征,则其会出现明显的“过拟合”现象,即在训练集上的精度较好,但无法泛化到现实的预测中。此外,现有数据集(如CICIDS-2017)出现了大量的持续时间为24 h以上的长时间异常会话,而较长与较短会话包含的特征量不相同,统一处理容易造成数据浪费。针对该问题,本文提出一种异常流量互动模式数据增强方法,将较长会话进行时序切分以获取其不同时间段的特征作为单独样本,即将长会话增强为若干短会话,具体方法如图8所示。

图8 数据增强

获取CICIDS-2017和CTU-13全部数据,对其进行60%的随机采样作为训练样本,剩余40%作为后续模拟实验测试样本。确定增强样本的最大会话时间tmax,并对异常集Ca进行数据增强:若ci∈Ca的持续时间tci

(a)增强前

(b)增强后图9 数据增强前后的数据分布情况

2.2 基于长短会话性质的神经网络构建

由于卷积神经网络可以很好地获取自相似数据中的特征,并能够以较小的计算量进行学习,而长短时记忆(Long Short-Term Memory,LSTM)则是一种循环神经网络,更适合于处理和预测时间序列中间隔和延迟相对较长的事件[16]。因此,针对1.3节中较短会话的平稳性和较长会话的自相关性,分别基于卷积层和LSTM层构建神经网络,并在此基础上验证正常流量和异常流量间互动模式的差异。

根据1.3节中的最优时间窗口范围选取,以100 s为步长分割样本集。由于样本容量差距较大,对于不同的样本容量,对其较大的一方进行随机采样,使其等于较小一方的容量值。而针对整体容量较小的问题,3组实验全部使用K折验证减小验证方差。实验CPU为 i7-6700,GPU加速器为NVIDIA Tesla K80,实验结果如图10所示。

图10 实验结果对比

2.3 基于改进入侵检测的仿真实验

2.3.1 改进入侵检测算法

对异常流量进行分段式数据增强,使得神经网络可以学习大量的分段异常特征,从而3组神经网络分别可以拟合PIMDL持续时间在(10,110)、(110,210)、(210,310)的特征。但将其用于入侵检测还需解决以下问题:

一是需要预知会话持续时间的最大值才能得到其完整信息。真实的流量产生中,会话的持续时间无法提前预知,造成了只有当会话结束时才可以使用神经网络进行分类,大大降低了入侵检测的实时性。

二是神经网络的训练过程中,将异常流量进行分段式的数据增强,得到的3组神经网络均仅拟合了PIMDL的分段特征,而不是总体特征。如何将其用于实际需要进一步处理。

针对上述问题,设计了一种神经网络间的协作机制,对网络流量进行综合评估以确定异常流量。即通过3组神经网络给会话PIMDL依次评分(得分介于[0,1],由其sigmoid激活函数计算),根据会话PIMDL的3组模型评分将会话映射到三维空间,并通过预训练的SVM模型进行流量分类,具体流程如图11所示。

图11所示的算法流程分为会话评分模块和入侵检测模块两个模块。会话评分模块的主要任务:当会话超过100 s、200 s、300 s时,分别使用model_1、model_2、model_3进行评分。如果会话数据包跳跃间隔过长(如没有出现100~200 s的数据包),则进行进一步的预测时,需要重新使用较低模型(如model_1)进行评估,以保证所有会话均按照model_1、model_2、model_3顺序进行模型评分。当会话超过300 s时,将此会话所有到达时间记录清空,以保持会话持续时间始终保持在(0 s,300 s)区间内。而对于长会话,由于反复清空到达时间,其某一种模型评分可能多于一个。入侵检测模块的主要任务:在时间周期末获取所有拥有3个模型评分的会话,将3个评分(若某一评分多于一个,则取其平均值)映射到三维坐标系,并使用预训练的SVM模型进行分类,以达到入侵检测的目的。预训练的SVM模型的获取方式:首先将上述训练数据(异常流量采用初始流量60%的训练流量注入到正常流量中)使用改进入侵检测算法进行训练,周期性地得到三维空间上有标注的正常会话和异常会话的映射,10 min、20 min、30 min、40 min的正常和异常会话如图12所示。

图11 入侵检测具体流程

图12中X、Y、Z轴分别表示3个模型的评分。由图12可以看出,异常会话和正常会话保持了一定距离,使用SVM可以得到较好的分类效果。选择2 400 s时的数据训练SVM模型,正常会话样本个数为15 740,异常会话样本个数为216。样本按照7∶3的比例分割训练和测试集,并选取高斯核函数为其核函数,令gamma=10,最终模型在训练集和测试集上的精度分别为98.69%和98.65%。

(a)10 min

(b)20 min

(c)30 min

(d)40 min图12 正常流量&异常流量PIMDL

2.3.2 实验结果分析

基于图11中的改进入侵检测算法流程,设计模拟实验以验证其检测指标。实验采用将CICIDS-2017和CTU-13混合注入MAWI流量中,为了与训练数据保持差距,异常流量采用初始流量40%的测试流量,正常流量选择MAWI 4月9日00∶00—02∶00的流量数据。依照该算法流程,在每个周期统计其精确度ACC、检测率DR,以及虚警率FAR,三者定义分别如下:

(9)

(10)

(11)

式中:TP表示被正确识别出的异常会话数目;TN表示被正确识别出的正常会话数目;FP表示被错误识别出的正常回话数目;FN表示被错误识别的异常会话数目。

系统运行时间3 500 s,检测周期100 s,并从500 s开始统计,每个检测周期统计上述3个指标。图13给出了ACC、DR、FAR随运行时间的变化情况,其均值分别为98.90%,90.13%,0.96%。而当系统运行结束时,正常会话个数为16 442,异常会话个数为405,异常流量占总流量的2.4%,体现了该改进算法在异常会话规模远小于正常会话规模的情况下,依旧可以具有较高的精度和检测率,以及较低的虚警率。

图13 注入实验结果

为了测试所提出的改进算法在计算速率方面的提升,使用获取KDD’99数据集作为基准,以MAWI数据集作为实验数据,先根据基准方法,在真实的流量产生过程中获取其所有41维数据。而当某一属性无法获取时,则跳过该属性。统计模拟流量产生过程中每过1 s算法的求解时间,结果如图14所示。

图14 处理时间变化情况

图14中横轴表示流量产生时间,纵轴表示上一紧前时间间隔0.1 s的算法求解时间。系统运行900 s下的基准算法和改进算法的平均处理时间分别为每单位1.627 6 s和0.889 9 s,标准差分别为0.472 0和0.159 5。实验结果表明,基准算法由于需要时刻维护持续2 s、包含100个连接的流量信息,且频繁进行查询、计算等操作,导致其大量计算负担,而改进算法仅获取身份信息和到达时间,因此,其计算时间复杂度较低且波动性较小。此外,在实验中跳过了一些属性的获取,因此,现实情况下的基准算法会面临更加复杂的计算。

由于基准算法过于依赖链路层以上的协议数据,导致其无法准确识别伪装协议等攻击流量。为了验证这种局限性,采用随机伪装数据集中非链路层协议的方法。数据集中非链路协议属性包括正常用户的登录数量等21个属性,对这些属性随机伪装,每伪装一个属性记录一次基准算法下的ACC。伪装的流量占比分别为20%,40%,60%和80%,实验结果如图15所示。

(a)20%

(b)40%

(c)60%

(d)80%

图15中横轴表示伪装协议的个数,纵轴表示相应的多种算法精确度。由于基准算法大多依靠KDD’99等具有非链路层标注的数据进行训练,而当这些数据被随机替换时,其预测精度会有不同程度的下降。从图15可以看出,不同算法随着伪装程度越来越大,其精确度均在下降。表2给出了不同伪装比例下算法的平均精确度。当伪装率达到80%时,表2中4个算法平均精度和最小精度均出现了下降情况,而改进算法由于没有用到上述这些非链路层的协议进行训练,其精确度不受伪装协议的影响,即稳定在98.90%。

表2 算法精确度比较

为了进一步探讨所提出的改进算法在小样本异常流量分类任务中精度的改善效果,同样以上述基准算法作为参照,降低异常流量规模,并采用ROC曲线和AUC评价其检测精度。其中,ROC曲线是DR和FAR(它们在数值上等于TPR和FPR)在不同阈值下的表现;AUC是ROC曲线下的面积,介于0.1和1之间,用以评价分类器的优劣,值越大越优。不同实验下各方法的AUC如表3所示。

表3 不同实验各个方法的AUC

实验对NSL-KDD数据集中的异常流量随机采样,将其规模缩小至上述实验中的2.4%,以评估基准算法对于小样本异常流量识别的准确性。实验进行10次,并保证随机采样不会引入新的偏差。10组实验结果如图16所示,横轴表示FAR,纵轴表示DR(为了简化篇幅,文中只展示了第一组实验)。

图16 小样本下ROC对比

理想目标为DR=1,FAR=0,即图16中(0,1)点,因此,ROC曲线越靠拢该点、越偏离45°对角线越优。实验结果表明,在小样本异常流量检测任务中,基准算法的AUC和ROC曲线表现均低于本文所提出的改进算法。这是由于神经网络在训练小样本时,较小的容量无法概括该类的所有特征,当需要对未标注数据进行分类时,其特征可能没有被神经网络学习,进而造成较大误差。

3 结 论

本文针对复杂网络环境下流量端口间的互动模式差异,提出了一种PIMDL模型以实现对其量化表达,并在对端口间会话的一致性进行验证的基础上设计了一种基于卷积层和长短时记忆层的神经网络构建方法,以认知异常流量互动模式与其差异。相比以往需要获取大量属性进行训练的神经网络,重点提供了一种新的训练思路,即通过IP、端口等身份信息进行归类,并仅使用流量数据包的到达时间进行训练,在提高了计算效率的同时降低了伪装身份信息的成功率,降低了神经网络训练成本,提高了实际运用的可能性。

猜你喜欢

会话神经网络流量
冰墩墩背后的流量密码
张晓明:流量决定胜负!三大流量高地裂变无限可能!
寻找书业新流量
神经网络抑制无线通信干扰探究
有意冒犯性言语的会话含义分析
汉语教材中的会话结构特征及其语用功能呈现——基于85个会话片段的个案研究
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定
五位一体流量平稳控制系统