郑海潇,马梦帅,文斌*,曾昭武,刘文龙
1.数据科学与智慧教育教育部重点实验室(海南师范大学),海南 海口 571158
2.海南师范大学,信息科学技术学院,海南 海口 571158
入侵检测是对网络数据进行分析[1],以确定网络中的行为是否构成威胁。现有的方法主要可以分为基于主机和基于网络两种。基于主机方法是通过分析系统日志文件来监视和分析系统的行为;基于网络方法是分析网络流量和网络协议来确定可能的入侵。这些方法主要是对网络流量数据进行分析和学习,以识别出网络攻击和入侵[2]。但是,这种解决方案容易被攻击者伪装,因此需要考虑它们在网络中的关系来提高检测的可靠性。目前,业界最常用的方法是特征匹配检测法,是对已知的攻击或入侵的方式做出确定性的描述,形成相应的事件模式。当被审计的事件与已知的入侵事件模式相匹配时,即报警。原理上与专家系统相仿。其检测方法上与计算机病毒的检测方式类似。目前,基于对包特征描述的模式匹配应用方法较为广泛。该方法预报检测的准确率较高,但对于无经验知识的入侵与攻击行为无能为力。
针对当前网络环境的日益复杂和网络流量数据爆炸式增长的问题,本文着重研究了基于图神经网络的网络入侵检测方案。该方案将网络流量数据构建成图,并利用图神经网络的优势来处理和分类,从而提供更可靠的信息。网络流量数据由IP 地址、端口号和一组与流相关的特征(如持续时间、事务字节数、传输的数据包数等)组成,通过学习网络流数据的属性信息和结构信息来对不同攻击产生的网络流进行分类,实现入侵检测。
与传统的入侵检测方案相比,基于图神经网络的入侵检测方案能够捕获网络流量之间的关系,并在面对噪声干扰时更加稳健。该方案将网络流量数据构建成图,以图的方式将它们之间的关系表达出来,它们之间存在的结构模式在图上是固定的,这将为入侵检测提供更可靠的信息。
本文提出的基于图神经网络的入侵检测方案是一种有效的方法,可以提高网络入侵检测的准确性和可靠性,对保障网络安全具有重要的意义。
图神经网络在入侵检测中表现优异[3],Lo等人[4]针对物联网的入侵检测问题提出图神经网络的解决方案,它可以捕获图形的边缘特征以及物联网网络中的网络入侵检测的拓扑信息。作者在4 个入侵检测数据集上进行实验评估,结果表明图神经网络方法优于其他方法,证明了图神经网络在网络入侵检测当中的潜力,但所用模型陈旧且未解决应用问题。Caville 等人[5]提出一种自监督的网络入侵检测方法,以自监督的方式利用边缘特征和图形拓扑结构。与其他基线方法相比,自监督图神经网络方法有着明显的改进效果,但模型性能有待提高。王振东等人[6]提出一种面向入侵检测的元图神经网络方法,它针对图信息传播过程中父代信息湮灭现象提出反信息湮灭策略,设计注意力损失函数,简化注意力机制的运算过程,缺点是准确率不高。郭嘉琰等人[7]针对动态网络的异常检测提出图神经网络的方法,将图结构、属性以及动态变化的信息引入模型当中,学习异常检测的表示向量。但是该方法的缺点在于运行效率较低,采样方法不太适用于大型网络。Hei等人[8]将Android实体和行为关系建模为异构信息网络(HIN),然后将基于HIN的嵌入模型与图注意力网络结合,以获得Android应用程序的数值表示,以便分类器可以精确检测出恶意应用程序,但是模型可移植性较差。Li等人[9]针对分布式拒绝服务攻击提出了图神经网络方法,他们将流量转换为端点流量图,然后利用图神经网络对流量图进行分类,以此达到对攻击的检测目的,但是对比试验不够充分。Chang等人[10]利用可用的图信息将剩余学习集成到图神经网络中,提出了两种基于图的入侵检测方案。实验结果表明,这两种方法具有出色的检测性能,特别是在预测少数类时,未解决数据集不平衡问题。Pujol-Perich 等人[11]针对网络入侵检测提出了图神经网络的方案,并且评估了他们的解决方案在两种常见对抗攻击下的稳健性。实验结果表明,与机器学习方法相比,图神经网络的解决方案具有更强的健壮性,但检测准确率有待提高。
图形神经网络(GNN)[12]是一种神经模型,通过在图形节点之间传递消息来捕捉图形的相关性。它拓展了现有的深度神经网络模型,用于处理以图的形式表示的数据。通过将数据构建成图形结构以挖掘到数据之间的联系,它的强大之处在于它能同时捕获图形结构中的属性信息和结构信息。图神经网络在这种不规则的图结构上定义卷积操作,通过获取节点邻域信息的加权平均值执行图卷积。
通过在图上定义卷积操作,图神经网络可以聚合其邻居节点的表示和其自身的表示来迭代更新节点表示。通过卷积操作来构造图神经网络层,然后堆叠多个卷积层构造图神经网络模型,以此聚合邻居特征并根据任务的不同输出节点表示(嵌入)、边缘嵌入等。和其他深度学习方法相同,图神经模型也是通过损失函数的不断优化来训练出最优的模型。
2.1.1 GAT网络
图注意力网络(GAT)[13]是较为广泛应用的图神经网络之一,它是通过允许节点在组合邻域特征时为每个邻域使用不同的权重来实现的。该技术将注意力机制纳入传播步骤,使节点能够关注其邻居的特征,以便聚合邻居特征并为给定节点生成节点嵌入。本质上,在GAT聚合器中,对邻居特征的关注被用来代替节点特征的平均聚合。这种对不同邻居节点分配不同权重是通过给它们分配不同的注意力系数来实现的。在图注意力网络层上,将第k-1层节点表示Hk-1∈RN×F转换到下一层节点表示Hk∈RN×F'的过程中(这里的Hk-1表示列向量而不是行向量,N为节点个数,F是每个节点的特征个数,R为实数集),对于一个中心节点i和它的相邻节点j∈N(i)来说,它们之间的注意力系数eij是通过如下公式计算的:
其中,Hik-1和Hjk-1分别表示节点i和j在第k-1层的节点表示,||表示两个向量的连接运算。为了获得足够的表达能力将输入特征转换为更高层次的特征,需要进行一次可学习的线性变换。于是一个共享的线性变换,由权重矩阵参数化的WϵRF×F'被用于各个节点。函数a()表示将高维数据映射为实数。在GAT 中,a()被定义为一个前馈神经网络,包括一个具有权重向量W2ϵR1×2F'的线性变换和非线性激活函数Leaky Re LU()。而为了使不同节点之间的系数具有可比性,还需要使用softmax 函数对注意力系数进行归一化,它们的公式表达如下:
其中,aij为归一化系数,然后使用归一化注意力系数来计算对应于它们特征的线性组合,作为每个节点的最终输出特征,聚合后的节点向量结果表示为:
其中,σ为激活函数(这里为ELU()),W是要训练的参数。为了使注意力机制的学习过程更加稳定,可以扩展到多头注意机制。每个注意力头在节点上决定一个不同的相似函数,对于每个注意力头,可以根据公式2独立获得一个新的节点表示。最终的节点表示是从不同的注意力头中取平均节点表示:
其中,T是注意力头的数量,是第t个注意力头计算的注意力系数,Wt是第t个注意力头的线性变换矩阵。最终,将GAT 注意力层的工作原理展示在图1中。
图1 图注意力网络(GAT)层原理图Fig.1 Schematic diagram of graph attention network(GAT)layer
2.1.2 GATv2与GAT的区别
图注意力网络(GAT)和注意力机制在异常检测方面具有较大的潜力。在聚合信息的过程中加入了注意力机制,使图注意力网络的学习过程更加稳定。其优点就是在图中为不同的邻居节点分配不同权重,而非一视同仁的对待。这种方式可以更好地关注到网络当中的入侵,毕竟网络入侵在网络中占少数,图注意力网络能够注意到这种少数的异常情况。
但文献[14]指出,GAT存在静态注意力的问题,静态注意力是指对关键节点的关注对于任何查询节点具有相同的秩(顺序),得到的注意力系数相对不变。针对这个问题,文献[14]提出了具有动态注意力的改进版本的图注意力网络GATv2。而他们的改动核心是将GAT中注意力系数的运算过程(即公式1)加以改变,变化方式如公式5所示。GAT将LeakyReLU移至aT和两个线性操作之间,aT是前馈神经网络,W是简单的线性操作。
文献[14]通过完备的理论公式推导和相关的实验证明,这个改动成功将GAT 的静态注意力改为动态注意力。通过在多个数据集上的实验表明,GATv2取得了更好的效果。而且,实验还证明GATv2具有一定的抗干扰能力。基于这些因素,本研究将采用GATv2 来构建网络入侵检测的图神经网络检测模型。
2.2.1 网络入侵流量图的构建
对于本文构建的图神经网络的网络入侵检测方案,首先将网络流量构建成图。一般的做法是将网络流量以IP 地址为节点,以它们之间产生的网络流为边来构建网络流量图,如图2(a)所示。其中S 代表源节点集合,D 代表目的节点集合。但是,网络流量特征都存在于网络流上,即网络流量图上的边。入侵检测能判断这些网络流是否存在网络攻击,对图上的边缘进行分类。而图注意力网络适用于节点分类任务,无法用于边缘分类。所以,为了能够让本文构建的模型能够用于边缘分类,模型采用图2(b)的构图方式。它是以图2(a)中的网络流为节点,以节点为边构建新的网络流量图,转换过程的示例如图2 所示。以这种方式将边缘分类问题巧妙的转化为节点分类问题。
图2 模型构建流量图的转换过程Fig.2 The Conversion Process of Model Construction Traffic Graph
2.2.2 E-ResGATv2方法
本文将构建的新图设为图G'(v′,ε')。这里的v′就是原来图中的边缘集合。为了计算效率,算法实现的是小批量版本。算法首先构造一个批处理的2跳全邻域表示,这里的邻域为图G' 中节点v′的完整邻域,用Nv表示。每个边缘批次的样本用B 表示,在每个迭代k处的表示为Bk。随着迭代次数k逐渐减小得到最终批次为B0的2跳全邻域表示。然后,图注意力层在这些邻域上使用注意机制聚合邻居信息。受到文献[10]中E-ResGAT 模型使用残差学习让图神经网络性能提升的启发,本文的模型还在每一层中连接了原始节点特征的转换。这种方式可以让模型学习的更加深入。最终,本文将使用GATv2所构建的入侵检测模型命名为E-ResGATv2。
入侵检测模型中带残差的聚合过程输入是所构建图中的节点特征hv(其中vϵB0),注意力层的输出为h'v。对于每个节点v,要计算其相邻特征的加权平均,然后与转换后的节点特征ev连接。在第k层带有残差的基于注意力的聚合过程可以表示为:
其中,auv是所构建图中分配给边缘euv的注意系数,W是跨层的共享线性变换,将输入的特征映射到更低的维度。而注意系数auv是通过前馈神经网络来学习的,其中aT是权重向量。然后,通过LeakyReLU激活和softmax函数归一化后,得到所有节点对的注意系数,如公式7所示:
其中,hu和hv分别为节点u和v的节点表示。然后,通过采用多头关注来使E-ResGATv2的注意力更加稳定,多头聚合可以表示为公式8。其中,M为注意头的个数,为第m个归一化注意系数,Wm代表第m个权重矩阵。
最终,本文构建的E-ResGATv2网络入侵检测模型的整体架构如图3所示。首先,模型以网络流量数据集为基础通过图形转换构建网络流量图,将网络流(边缘)的分类转换为节点分类。然后,在图上获取相关节点的两跳全邻域表示,对其进行两跳注意力聚合,将其与转换后的节点特征ei连接得到节点嵌入。最后,通过分类器函数对网络入侵流量和正常流量进行划分。一般是通过softmax 分类器将节点嵌入转换为类别概率,并最终与真实类别标签进行比较,以计算分类评估性能指标。
图3 E-ResGATv2网络入侵检测模型整体架构Fig.3 Overall architecture of E-ResGATv2 network intrusion detection model
本节介绍有关网络入侵异常检测实验的相关设置,首先对实验采用的两个入侵检测数据集进行介绍,接着对实验环境和采用的评价指标进行说明,最后描述有关实验的细节如模型参数的设置等。
为了验证本文所构建的E-ResGATv2 模型在网络入侵异常检测方面的性能,本文选取两个常用的公开入侵检测数据集UNSW-NB15 和ToN-IoT 来评估模型的检测性能。它们包含了多类型的网络流量数据,涵盖了各种网络入侵和攻击的情况,这种多样性使得这两个数据集非常适合用于测试和评估入侵检测系统的性能。由于数据量庞大,接近真实网络数据,它们已经广泛用于学术届的入侵检测研究,在测试入侵检测方法性能上具有代表性。
UNSW-NB15[15]是由新南威尔士大学(UNSW)网络安全实验室建立合成环境所创建的,提供了在综合环境中生成真实现代的正常和异常网络流量数据。该数据集含9种类型的攻击,即Dos、蠕虫、后门、模糊程序、漏洞利用等。数据集类标签有二分类标签和多分类标签,数据集有大约254 万条流量记录,每条记录有43 个流量特征,存储在4个CSV文件中。由于数据量庞大,考虑到机器性能和计算效率,本文只采用了其中一个文件。(UNSW-NB15_1.csv)大约70万条数据记录。在这个文件中,正常流量数据大约占总体数据记录的96.83%。
ToN-IoT[16]是新一代物联网入侵检测数据集,主要针对物联网网络中的Web 应用程序、物联网网关和计算机系统的各种攻击技术,如DoS、DDoS 和勒索软件等类型的攻击。包含二分类标签和多分类标签,每条记录有39 个网络流量特征。本研究使用的是ToN-IoT 数据集中的Train_Test_datasets文件大约46万条流量数据记录,其中正常流量记录占全部流量记录的比例为65.07%。
实验环境为Intel(R) Core(TM) i7,10 代,32G 内存,window10 操作系统,GPU 为NVIDIA GeForce RTX 3090 以及python 版本为3.6.13。深度学习框架用的是Pytorch,版本为1.8.1。实验采用召回率(Recall)、精确率(Precision)、F1-score、准确率(Accuracy)以及AUC-ROC曲线来评价模型的整体性能,它们广泛用于分类任务。前4 个指标是基于真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)计算而来。AUC-ROC 曲线是在各种阈值设置下的分类问题的性能测量方法。ROC 是概率曲线,AUC 表示可分离性的程度。ROC 曲线下的面积即为AUC的值,AUC值在0到1之间,AUC越高模型越好。计算方式如公式9所示。
本节介绍实验设置的模型参数及其他细节。使用E-ResGATv2模型的图注意力层数为3层,每个注意力层中间的隐藏层大小为64,使用的分类器为softmax 分类函数。每层注意力头的个数为6。非线性激活函数和GAT 均用的ELU。为避免过度拟合,注意系数用dropout 方法,速率为0.2。模型所用框架为Pytorch,用Adam optimizer优化器在反向传播阶段执行梯度下降。UNSW-NB15 数据集使用的学习率为0.007,ToN-IoT数据集学习率为0.01。数据集按50%、20%和30%的比率划分为训练、验证和测试集。因计算能力有限,本节设置小批量大小为500。对于模型损失函数的选择,实验采用交叉熵损失函数。最终,实验对模型进行了20 个(周期)epoch的训练,batch size为100。
将本文提出的E-ResGATV2 网络入侵异常检测方法与E-ResGAT 算法以及其他机器学习方法的检测性能进行对比,探究它们在抵御噪声干扰时的表现。同时,实验还对两种图神经网络方法进行结构噪声干扰,以验证本文方法的性能。在对实验结果进行展示的同时,对其进行分析和讨论。
实验采用以上这些评价指标来衡量图神经网络入侵异常检测方案的检测性能。为了验证本文E-ResGATv2方法的改进效果,将其与原始算法E-ResGAT进行对比。为了公平对比,这两种方法采用的模型参数都一致。同时将它们与几种常见的用于网络入侵检测的机器学习方法[17]进行实验比较,分别是决策树算法(DT)、逻辑回归(LR)和高斯朴素贝叶斯(GaussianNB)。表1将它们在以上两个网络入侵检测数据集上的性能表现展示出来。由于本文主要探究模型的异常检测能力,所以采用的主要是二分类标签。同时,ROC 曲线作为衡量模型整体性能的重要标准也绘制在图4中。
表1 不同检测方法性能指标的比较Table 1 Comparison of performance indicators of different detection methods
图4 两个数据集上不同检测算法的ROC曲线Fig.4 ROC curves of different detection algorithms on two datasets
首先,在UNSW-NB15数据集上评估各种检测算法。本文方法E-ResGATv2 的准确率(Accuracy)最好,但是与E-ResGAT方法的差距不是很大。而两种图神经网络方法的检测准确率均优于机器学习方法。异常检测往往更加关注召回率(Recall),它可以代表检测方法发现异常的能力。在所有算法中,DT算法的Recall值最高。E-ResGATv2的Recall值明显好于E-ResGAT,这说明了GATv2 方法的动态注意力方式相较于GAT的静态注意力在聚合邻居信息进而发现异常节点时更有效,也进一步证明本文的改进起到了作用。两种图神经网络方法的综合评价指标F1-Score 值表现最好,GaussianNB 算法与其他方法的差距较大。GaussianNB 算法的Precision 值要远远小于其他方法,只有77.12%。综合各种评价指标,图神经网络方法和机器学习方法的差距不是很大,检测结果都十分优秀。图4(a)为各种检测方法的ROC 曲线图,可以看出除了GaussianNB 算法,所有检测方法的AUC值都达到了1。
然后,在ToN-IoT数据集上评估各种检测方法。除两种图神经网络方法,所有机器学习方法的评价指标都达到了最好。从图神经网络的角度来看,E-ResGATv2 算法的3 个指标都要好于E-ResGAT,说明它的检测效果要好于未改进的E-ResGAT算法。如图4(b),所有检测方法的AUC值都达到了1。但综合其他标价指标来看,机器学习方法在ToN-IoT 数据集上的检测效果要好于图神经网络方法。
为了探究各种检测方法在遭受噪声干扰时的表现,本文在两个数据集的训练集上添加随机特征值以达到噪声干扰目的。在观察和统计数据集中特征值分布之后,发现每列数据的最大或最小值分布频率最小,说明其代表少数情况。而且,这种极值往往反映出数据当中的异常。所以实验选取数据的最大或最小值以增加异常数据,从而干扰模型分辨能力。具体做法是在每列数据的最大或最小值中随机取值,在训练集上增加噪声的规模大小由参数p来控制。p的比例越大,训练集上添加噪声的规模也就越大。对这些检测方法分别施加不同噪声比例p的噪声,然后通过准确率的变化来评判噪声干扰的影响程度。如图5 是两个数据集上不同检测方法随噪声大小p的变化趋势。其中图5(a)是UNSW-NB15 数据集的噪声干扰变化趋势,由于GaussianNB 算法在该数据集上表现不佳,所以没有对其进行噪声干扰实验。图5(b)是ToN-IoT 数据集的噪声干扰变化趋势。从实验结果来看,所有方法在噪声干扰下都出现了检测性能下降的情况,只是下降幅度有所不同。
图5 不同检测方法在两个数据集上随噪声干扰比p的变化Fig.5 The variation of different detection methods with noise interference ratio p on two datasets
如图5(a)所示,随着噪声干扰不断增大,相比其他方法,本文方法E-ResGATv2始终保持稳定的检测准确率,这表明它在遭受特征值噪声干扰训练时还能保持稳定的状态。而E-Res-GAT 方法呈缓慢下降趋势,但也能保持较好性能。反观机器学习方法LR 和DT,在噪声干扰比例为0.1 和0.2 时骤然下降,LR 算法的准确率在p为0.2时小幅回升,随后又缓慢下降。而DT算法在突然下降后保持缓慢下降趋势。所以,与机器学习方法相比,图神经网络方法在遭受噪声干扰时保持了较稳定的状态。
图5(b)反映了在ToN-IoT 数据集上各种检测方法随噪声干扰比例p的变化趋势。可以明显看出机器学习方法GaussianNB在噪声比例为0.2 时断崖式下降,随后保持很低的检测准确率不变,说明其在遭受噪声干扰后失去检测性能。而机器学习方法LR 在噪声比例较小时还能保持检测性能,但是在噪声比例增加到0.5时也发生断崖式下降。而剩下的几种方法由于其在遭受噪声后的表现相近,本文将其进行局部放大以清楚的分析其变化趋势。从局部放大图可以看出,两种图神经网络方法始终保持较好性能,DT算法在噪声比例为0.3之后发生较大幅度的下降,与图神经网络拉开差距。
综合两个数据集上各种检测方法在遭受噪声干扰之后的表现,可以看出图神经网络方法保持了较稳定的检测性能。而在两种图神经网络方法中,本文方法E-ResGATv2表现的更稳定。
图神经网络是利用了图形结构数据的方法,因此其还会面临图形结构上的噪声干扰。为了探究本文的两种图神经网络在遭受结构噪声干扰时的表现,本文对它们添加结构噪声[14]以验证它们的性能。图形结构数据的干扰[14]通常通过随机增加图形结构上原本没有的边来改变原有结构,从而干扰模型训练,增加其分辨难度。具体做法是对给定输入图G=(v,ε),从v×vε中随机抽取|ε|×p个不存在的边ε'。p为噪声比大小,取值为0 到1。然后在含有结构噪声的图G′=(v,ε∪ε')上训练图神经网络,以达到结构噪声干扰的目的。以准确率(Accuracy)的变化来评价它们在遭受结构噪声之后的表现,如图6所示。图6(a)为UNSW-NB15数据集在结构噪声比例不断增大的情况下,准确率的变化趋势。在结构噪声干扰比例增大的过程中,两种方法的检测效果都呈整体下降趋势。在中间部分略有起伏之后,最终保持下降。可以看出,E-ResGATv2 方法整体的稳定性和检测效果都要好于E-ResGAT 方法。图6(b)为ToNIoT数据集随结构噪声比例增大的变化趋势。随着噪声比例的增大,两种算法都呈下降趋势。在噪声比例为0.1 时两种方法还能保持相同的性能,但随着比例的增大,与本文方法E-ResGATv2相比,E-ResGAT 方法的下降趋势更为明显,EResGATv2方法表现出更强的稳定性。
图6 两个数据集上图神经网络检测方法随结构噪声的变化Fig.6 The changes of neural network detection methods with structural noise in two datasets
可以看出,E-ResGATv2 方法抵抗噪声的能力要强于传统方法,这是因为E-ResGATv2通常使用可学习的参数来计算节点之间的注意力权重,这使得模型可以根据数据动态地调整注意力。这可以被理解为模型尝试在不同节点之间分配不同的重要性,以更好地捕捉图形结构的局部和全局信息。所以相较于其他方法,在面对噪声导致图形信息的变化时,E-ResGATv2 仍然能够凭借动态注意力捕获到最相关的邻居节点信息,以更好地识别异常。
对于两种图神经网络,本文对其在聚合特征的最后还添加了原始特征,类似于残差操作。而为探究这种操作能否优化图神经网络的检测性能,本文将两个数据集上图神经网络添加残差前后的对比展示在图7 中。实验以准确率的变化来衡量两添加残差前后检测性能的变化。图7(a)为UNSW-NB15 上两种方法有无残差准确率的对比,图7(b)为ToN-IoT数据集的对比。可以看出,通过增加残差确实优化了两种方法的检测性能,残差的添加有利于模型更好的检测网络入侵异常。
图7 两个数据集上图神经网络算法添加残差前后对比Fig.7 Comparison of two datasets before and after adding residuals using neural network algorithms
本文针对网络入侵异常检测提出图神经网络方案,并在两个公开数据集上将图神经网络方案与机器学习方法的性能进行比较。实验表明,机器学习方法和图神经网络方法在获得相同水平的检测效果基础上,图神经网络方法在抵抗噪声干扰方面,表现出更强的稳定性。通过将本文方法E-ResGATv2与E-ResGAT进行对比,证明所提出的方法在检测性能和抵御噪声干扰方面都要强于原始算法。这说明本文的改进更适合网络入侵检测。最后,本文还证明了残差的添加有效的提高了两种方法的检测性能。
通过以上实验,揭示了图神经网络在入侵检测领域的巨大潜力和应用前景,尤其是其在面临噪声干扰时表现出较强的抗干扰能力。这证明了图神经网络应用在网络安全领域的优势。接下来的工作将继续探索具有鲁棒性的图神经网络,考虑处理入侵检测数据集中存在的类不平衡问题。另外,本团队计划在真实网络环境中进行进一步的实验和研究。
利益冲突声明
所有作者声明不存在利益冲突关系。