郑州大学学报(理学版)  2026, Vol. 58 Issue (1): 27-34  DOI: 10.13705/j.issn.1671-6841.2024126

引用本文  

闫彦彤, 于文涛, 李丽红, 等. 基于改进GraphSAGE的网络攻击检测[J]. 郑州大学学报(理学版), 2026, 58(1): 27-34.
YAN Yantong, YU Wentao, LI Lihong, et al. Network Attack Detection Based on Improved GraphSAGE[J]. Journal of Zhengzhou University(Natural Science Edition), 2026, 58(1): 27-34.

基金项目

河北省数据科学与应用重点实验室项目(10120201);唐山市数据科学重点实验室项目(10120301)

通信作者

李丽红(1979—),女,教授,主要从事数据挖掘和三支决策研究,E-mail: 22687426@qq.com

作者简介

闫彦彤(1999—),男,硕士研究生,主要从事Web安全和入侵检测研究,E-mail: 1192796973@qq.com

文章历史

收稿日期:2024-07-09
基于改进GraphSAGE的网络攻击检测
闫彦彤1,2, 于文涛1,2, 李丽红1,2, 方伟1,2    
1. 华北理工大学 理学院 河北 唐山 063210;
2. 河北省数据科学与应用重点实验室 河北 唐山 063210
摘要:基于深度学习的网络攻击检测是对欧几里得数据进行建模,无法学习攻击数据中的结构特征。为此,提出一种基于改进图采样与聚合(graph sample and aggregate,GraphSAGE)的网络攻击检测算法。首先,将攻击数据从平面结构转换为图结构数据。其次,对GraphSAGE算法进行了改进,包括在消息传递阶段融合节点和边的特征,同时在消息聚合过程中考虑不同源节点对目标节点的影响程度,并在边嵌入生成时引入残差学习机制。在两个公开网络攻击数据集上的实验结果表明,在二分类情况下,所提算法的总体性能优于E-GraphSAGE、LSTM、RNN、CNN算法;在多分类情况下,所提算法在大多数攻击类型上的F1值高于对比算法。
关键词网络攻击检测    深度学习    图神经网络    图采样与聚合    注意力机制    
Network Attack Detection Based on Improved GraphSAGE
YAN Yantong1,2, YU Wentao1,2, LI Lihong1,2, FANG Wei1,2    
1. Department of Science, North China University of Science and Technology, Tangshan 063210, China;
2. Hebei Province Key Laboratory of Data Science and Application, Tangshan 063210, China
Abstract: Network attack detection based on deep learning was modeled on Euclidean data and couldn′t capture the structural features within attack data. To address this issue, a network attack detection algorithm based on improved graph sample and aggregate (GraphSAGE) was proposed. Firstly, the attack data was initially transformed from a flat structure into a graph structure. Secondly, the GraphSAGE algorithm was enhanced in several ways, including the fusion of node and edge features during the message passing phase, consideration of the impact of different source nodes on the target node during the message aggregation phase, and the introduction of residual learning mechanism during the edge embedding generation. The experimental results on two public network attack datasets showed that the overall performance of the proposed algorithm was superior to that of the E-GraphSAGE, LSTM, RNN, and CNN algorithms in binary classification scenarios. And the F1 values of the proposed algorithm were higher than comparison algorithms on most attack categories in multi classification scenarios.
Key words: network attack detection    deep learning    graph neural network    graph sample and aggregate    attention mechanism    
0 引言

在数字化时代,无论是个人信息交流、商业交易还是政府机构的运作,互联网都扮演着不可或缺的角色,然而这种依赖也为网络安全问题蒙上了一层阴影。勒索软件、供应链攻击、国家黑客间谍与高级持续性威胁(advanced persistent threat,APT)组织活动成为网络安全的热点话题,生成式人工智能技术的武器化更是给动荡的全球网络安全威胁态势增加了不确定性、不对称性和复杂性[1]。随着网络犯罪的规模化和新兴网络威胁的快速增长,防御者将面临前所未有的艰巨挑战[2]。因此,如何进行高效的网络攻击检测是我国互联网发展过程中必须解决的问题。

尽管传统的深度学习技术,如循环神经网络(recurrent neural network, RNN)[3]、卷积神经网络(convolutional neural network,CNN)[4]和长短期记忆网络(long short-term memory, LSTM)[5]在网络攻击检测领域已经取得了一定的成功,但它们主要是从欧氏空间数据中学习攻击特征,难以充分理解复杂攻击,尤其是APT攻击[6]的复杂结构。

网络攻击的本质实际上是一系列实体(主机或系统内部进程)之间的可疑交互行为。在这种情况下,传统的机器学习模型显得有些力不从心。然而,图结构数据可以更好地建模这种实体之间的上下文关系,并提供更高的可解释性。图表示学习[7]尤其是图神经网络(graph neural network, GNN)在入侵检测[8]、物联网攻击检测[9]、恶意软件检测[10]等领域展示了强大的特征学习能力。

为了充分利用图结构的空间相关性,本文提出了基于图采样与聚合(graph sample and aggregate,GraphSAGE)的边注意力图采样与聚合(edge- attention graph sample and aggregate,E-ATGraphSAGE) 算法来进行网络攻击检测。将网络攻击流数据从平面结构转换为知识表示能力更强的图结构数据,更好地挖掘网络攻击之间的联系。针对GraphSAGE算法进行了以下改进:一是在消息传递时融合节点和边特征; 二是在消息聚合过程中充分考虑不同源节点对目标节点的重要度;三是在边嵌入的生成过程中引入残差学习。在两个开源数据集上进行了实验,验证了所提算法的有效性。

1 相关工作

入侵检测作为网络攻击检测的一种重要手段, 在网络安全防护中发挥着重要作用。入侵检测系统按照入侵检测的行为分为两种模式:异常检测和误用检测。随着深度学习技术的发展,基于异常的入侵检测得到了更多关注和研究,其检测的准确性和实用性不断提高,已成为网络攻击检测领域的重要技术之一。文献[11-13]分别提出了基于RNN、CNN和LSTM的网络攻击检测算法,这些算法在网络攻击检测任务中的准确率均超过了90%。

近年来随着GNN技术的发展,国内外学者开始关注其在网络攻击检测领域的应用。Xiao等[14]提出一种图嵌入方法对网络流进行入侵检测,首先将网络流转换成一阶图和二阶图,然后使用提取的图嵌入特征和原始特征来训练随机森林分类器以检测网络攻击。然而,这种方法的一个显著局限性在于它是传统的直推式学习[15],这限制了它对未知图节点样本(IP地址和端口号)的泛化能力,使得该方法不适用于大多数实际网络入侵检测系统的应用场景。相比之下,本文提出的E-ATGraphSAGE算法是归纳学习方法,可以泛化到未知节点。

针对僵尸网络攻击,Zhou等[16]提出一种基于图卷积网络(graph convolution network,GCN)[17]和网络轨迹的监督方法。该方法只考虑图的拓扑结构,忽略了边特征,然后使用神经网络在节点级对恶意僵尸网络进行分类。Zhang等[18]使用GCN进行僵尸网络监测,为了捕捉大型僵尸网络架构中存在的长期依赖关系,使用了12个GCN层,但使用过多的GCN层会导致模型出现过度平滑现象[19]

为了解决过度平滑问题,Lo等[20]提出的XG-BoT利用分组可逆残差连接以及图同构网络[21]模型来捕获僵尸网络的隐藏拓扑模式,同时在深度神经网络模型的训练过程中保持更多的稳定性。此外,Lo等[22]提出一种基于GraphSAGE的物联网攻击检测算法,在学习节点特征的同时融入了边特征,并且考虑了网络攻击流的拓扑结构。虽然该算法考虑了边特征,但在特征聚合的过程中采用简单的平均聚合方式,没有考虑节点之间的重要性差异,这可能导致重要节点的贡献被低估,影响模型的表达能力。与上述工作相比,本文提出的E-ATGraphSAGE算法在融入边特征的同时引入了注意力机制, 在进行节点信息聚合时进行了加权聚合。

2 背景知识 2.1 GraphSAGE网络

传统的图卷积神经网络在训练时需要用到整个图的邻接矩阵,依赖于具体的图结构,一般只能用于直推式学习。为了解决这个问题,Hamilton等[23]提出了GraphSAGE。GraphSAGE是一种GNN模型,旨在学习图中节点的低维表示,其核心思想是通过采样邻居节点并将它们聚合起来生成节点表示。这种采样和聚合的方式使得GraphSAGE能够扩展到大规模图,并且对每个节点都可以在固定数量的步骤内生成表示。GraphSAGE算法流程如图 1所示。

图 1 GraphSAGE算法流程 Fig. 1 The flow chart of GraphSAGE algorithm
2.1.1 邻居采样

GraphSAGE算法在采样时通常采用两种策略:全局采样和局部采样。每个节点在其邻居节点中进行采样,以扩展每个节点的局部邻域,捕获更广泛的信息。在全局采样中,算法会从整个图中随机选择一部分节点进行采样,从而保证每次采样都覆盖整个图的信息。但也可能导致采样的节点不具有代表性,尤其在大规模图中更为明显。

2.1.2 特征聚合

特征聚合是GraphSAGE算法中的一个重要步骤,它负责将采样到的邻居节点的特征进行整合,以生成中心节点的新表示。在第k层,基于采样邻域N(v),节点v处的聚合信息$\boldsymbol{h}_{N(v)}^{k}$可表示为

$ \boldsymbol{h}_{N(v)}^{k}=A G G_{k}\left(\left\{\boldsymbol{h}_{u}^{k-1}, \forall u \in N(v)\right\}\right), $ (1)

其中:AGGk表示使用第k个聚合函数;$\boldsymbol{h}_{u}^{k-1}$ 是第k-1层采样邻域节点u的特征。

常用的特征聚合函数包括:

1) 均值聚合函数。进行聚合时,对节点v和邻域的特征向量求均值。在第k层使用均值聚合器,基于采样邻域N(v),节点v处的聚合信息$\boldsymbol{h}_{N(v)}^{k}$可表示为

$ \boldsymbol{h}_{N(v)}^{k}={Mean}\left(\left\{\boldsymbol{h}_{u}^{k-1}, \forall u \in N(v)\right\}\right) 。$ (2)

2) GCN聚合函数。采用了类似GCN的卷积方式进行聚合,公式与均值聚合函数类似。在第k层使用GCN聚合器,基于采样邻域N(v),节点v处的聚合信息$\boldsymbol{h}_{N(v)}^{k}$可表示为

$ \boldsymbol{h}_{N(v)}^{k}=\boldsymbol{\sigma}\left(\boldsymbol{W} \cdot {Mean}\left(\left\{\boldsymbol{h}_{v}^{k-1}\right\} \cup\left\{\boldsymbol{h}_{u}^{k-1}, \forall u \in N(v)\right\}\right)\right) 。$ (3)

3) LSTM聚合函数。由于LSTM在特征提取方面表现出色,因此也将其用于聚合。然而,由于节点间缺乏明显的顺序关系,在将其放入LSTM之前会进行乱序处理。

4) 池化聚合函数。首先把所有邻居节点的特征向量传入一个全连接层,其次使用max-pooling聚合。在第k层使用池化聚合器,基于采样邻域N(v),节点v处的聚合信息$\boldsymbol{h}_{N(v)}^{k}$ 可表示为

$ \boldsymbol{h}_{v}^{k} \leftarrow \max \left(\left\{\boldsymbol{\sigma}\left(\boldsymbol{W}_{\text {pool }} \boldsymbol{h}_{u}^{k-1}+b\right), \forall u \in N(v)\right\}\right), $ (4)

其中:$\boldsymbol{W}_{\text {pool }}$是第k层权重矩阵;b为偏置常数。

2.1.3 节点更新

节点更新是指将聚合后的邻居节点特征与节点自身特征结合起来,生成节点的最终表示。这一步骤是GraphSAGE算法中非常关键的一环,它决定了最终节点表示的质量和表达能力。将聚合后的特征$\boldsymbol{h}_{N(v)}^{k}$与节点自身特征$\boldsymbol{h}_{v}^{k-1}$ 结合起来,生成节点v的最终表示$\boldsymbol{h}_{v}^{k}$,这一步可以通过简单的拼接操作完成。

节点更新的公式可以表示为

$ \boldsymbol{h}_{v}^{k}=\sigma\left(\boldsymbol{W}^{k} \cdot {Concat}\left(\boldsymbol{h}_{v}^{k-1}, \boldsymbol{h}_{N(v)}^{k}\right)\right) 。$ (5)
2.2 GraphSAGE算法

GraphSAGE算法伪代码如算法1所示。

算法1  GraphSAGE节点嵌入

输入:图G(V, E);节点特征;搜索阶数K;非线性激活函数σ;不同的聚合函数AGGk, 初始化权重矩阵Wk

输出:节点嵌入。

1) $\boldsymbol{h}_{v}^{0} \leftarrow \boldsymbol{x}_{v}, \forall v \in V$

2) for k←1 to K do

3)   for vV do

4)     $\boldsymbol{h}_{N(v)}^{k}=A G G_{k}\left(\boldsymbol{h}_{u}^{k-1}, \forall u \in N(v)\right)$

5)     $\boldsymbol{h}_{v}^{k}=\sigma\left(\boldsymbol{W}^{k} \cdot {Concat}\left(\boldsymbol{h}_{v}^{k-1}, \boldsymbol{h}_{N(v)}^{k}\right)\right)$

6)   end

7) $\boldsymbol{z}_{v}=\boldsymbol{h}_{v}^{k}$

8) end

3 基于E-ATGraphSAGE的网络攻击检测方法 3.1 模型设计

在网络攻击检测领域,传统的深度学习技术如RNN和CNN,主要关注从欧氏空间数据中学习攻击特征,难以充分理解复杂攻击。针对这一问题,提出了基于GraphSAGE的改进算法E-ATGraphSAGE。首先,在嵌入过程中融合节点特征和边特征。其次,设计了一个图注意力层来计算不同节点之间的重要度,在节点信息聚合过程中使用计算出的注意力系数进行加权聚合。最后,为了防止GraphSAGE算法在聚合过程中原始的边特征或者节点特征被稀释,导致最终的嵌入难以很好地表示,使用残差连接在最终生成的边嵌入中拼接原始的边特征,使得模型更深入地学习边的嵌入表示。E-ATGraphSAGE算法伪代码如算法2所示。

算法2  E-ATGraphSAGE节点嵌入

输入:图G(V, E);节点特征$\boldsymbol{x}_{v}=\{1, \cdots, 1\}$;边特征$\left\{\boldsymbol{e}_{u v}, \forall u v \in E\right\}$;聚合阶数K;非线性激活函数σ;聚合函数AGGk;初始化权重矩阵$\boldsymbol{Q}^{t}, \boldsymbol{W}^{k}, \boldsymbol{E}^{j}$。

输出:边嵌入$\boldsymbol{z}_{u v}^{k}$。

1) $\boldsymbol{h}_{v}^{0} \leftarrow \boldsymbol{x}_{v}, \quad \forall v \in V$

2) for k←1 to K do

3)   //节点特征融合边特征

4)   $\boldsymbol{h}_{u}^{k-1}=\sigma\left(\left\{\boldsymbol{E}^{j} \cdot\right.\right.$ Concat $\left(\boldsymbol{h}_{u}^{k-1}, \boldsymbol{e}_{u v}^{k-1}\right), \forall u \in N(v), u v \in E\})$

5)   //计算节点之间的注意力系数

6)   $t_{u v}^{k-1}=\operatorname{LeakReLU}\left(\left\{\boldsymbol{Q}^{t} \cdot {Concat}\left(\boldsymbol{h}_{u}^{k-1}, \boldsymbol{h}_{v}^{k-1}\right)\right.\right.$,$\forall v, u \in N\})$

7)   $a_{u v}^{k-1}=\operatorname{Softmax}\left(\left\{t_{u v}^{k-1}\right\}\right)=\frac{\exp \left(t_{u v}^{k-1}\right)}{\sum\limits_{u \hat{I} N(v)} \exp \left(t_{u v}^{k-1}\right)}$

8)   //聚合带有权重的节点信息

9)   for vV do

10)     $\boldsymbol{h}_{N(v)}^{k}=A G G_{k}\left(\left\{a_{u v}^{k-1} \cdot \boldsymbol{h}_{u}^{k-1}, \forall u \in N(v)\right\}\right)$

11)     $\boldsymbol{h}_{v}^{k}=\boldsymbol{\sigma}\left(\boldsymbol{W}^{k} \cdot {Concat}\left(\boldsymbol{h}_{v}^{k-1}, \boldsymbol{h}_{N(v)}^{k}\right)\right)$

12)   end

13)   $\boldsymbol{z}_{v}=\boldsymbol{h}_{v}^{k}$

14) end

15) for uvE do

16)   //使用残差连接原始边的特征

17)   $\boldsymbol{z}_{u v}^{k}=$ Concat $\left(\boldsymbol{z}_{u}^{k}, \boldsymbol{z}_{v}^{k}, \boldsymbol{e}_{u v}\right)$

18) end

消息传递神经网络是构建GNN最常用的框架之一,GraphSAGE算法也是在该框架上采用特定的消息传递函数、消息聚合函数和消息更新函数来实现。E-ATGraphSAGE算法在消息传递函数、消息聚合函数以及最终的消息更新函数上进行了改进,以提升GNN的性能和效率。

首先,E-ATGraphSAGE算法第4)步在进行消息传递时使用融合了节点特征和边特征的消息传递函数,而不是GraphSAGE算法中只传递邻域节点的消息函数。消息传递函数可表示为

$ \begin{align*} & \boldsymbol{h}_{u}^{k-1}=\sigma\left(\left\{\boldsymbol{E}^{j} \cdot {Concat}\left(\boldsymbol{h}_{u}^{k-1}, \boldsymbol{e}_{u v}^{k-1}\right), \right.\right. \\ & \forall u \in N(v), u v \in E\}), \end{align*} $ (6)

其中:$\boldsymbol{h}_{u}^{k-1}$是第k-1层采样邻域节点u的特征;$\boldsymbol{e}_{u v}^{k-1}$是第k-1层节点v和其采样邻域节点u之间的边特征;$\boldsymbol{E}^{j}$是第j层消息传递权重矩阵;集合$\{\forall u \in N(v), u v \in E\}$表示邻域中的采样边。

其次,在GraphSAGE算法中所有相邻的边都被平等地对待。然而,对于不同的邻居节点在进行特征聚合时应该采取不同的权重。因此,E-ATGraphSAGE算法第10)步在进行消息聚合时使用了带有节点权重的消息聚合函数。在第k层,基于采样邻域N(v),节点v处的聚合信息$\boldsymbol{h}_{N(v)}^{k}$可表示为

$ \boldsymbol{h}_{N(v)}^{k}=A G G_{k}\left(\left\{a_{u v}^{k-1} \cdot \boldsymbol{h}_{u}^{k-1}, \forall u \in N(v)\right\}\right), $ (7)

其中:$a_{u v}^{k-1}$是第k-1层节点v和其采样邻域节点u之间的权重系数。AGGk使用求和函数,即对节点聚合时考虑不同节点的权重进行加权平均。为了计算采样节点v和其采样邻居节点u之间的权重系数$a_{u v}^{k-1}$,设计了一个注意力神经网络层。这个神经网络层可以自适应地学习节点之间的关系,并据此计算节点的权重。算法设计灵感来自图注意力网络,其核心思想是根据节点之间的相关性赋予它们不同的权重,动态地计算每个节点对目标节点的重要性,从而在信息聚合过程中更准确地考虑不同边的节点权重。在第k层节点信息聚合时,第k-1层节点之间的权重系数$t_{u v}^{k-1}$ 可表示为

$ \begin{align*} & t_{u v}^{k-1}=\operatorname{LeakReLU}\left(\left\{\boldsymbol { Q } ^ { t } \cdot {Concat} \left(\boldsymbol{h}_{u}^{k-1}, \right.\right.\right. \\ & \left.\left.\left.\boldsymbol{h}_{v}^{k-1}\right), \forall v, u \in N\right\}\right), \end{align*} $ (8)

其中:LeakReLU是非线性激活函数(带有负的输入斜率α=0.2);$\boldsymbol{Q}^{t}$是第t层注意力权重矩阵。

为了使不同节点的系数具有可比性,使用Softmax函数将权重系数归一化,则在第k层节点信息聚合时,第k-1层节点之间的权重系数$a_{u v}^{k-1}$ 可表示为

$ a_{u v}^{k-1}=\operatorname{Softmax}\left(\left\{t_{u v}^{k-1}\right\}\right)=\frac{\exp \left(t_{u v}^{k-1}\right)}{\sum\limits_{u \hat{I} N(v)} \exp \left(t_{u v}^{k-1}\right)} 。$ (9)

为了得到经过k层E-ATGraphSAGE神经网络学习的边特征$\boldsymbol{z}_{u v}^{k}$,将第k层节点u学习的特征$\boldsymbol{z}_{u}^{k}$和节点v学习的特征$\boldsymbol{z}_{v}^{k}$ 进行连接。为了防止在多次卷积的过程中原始的边特征$\boldsymbol{e}_{u v}$ 被稀释,受文献[8]启发,在最终的边嵌入中连接原始的边特征$\boldsymbol{e}_{u v}$这与残差学习非常类似。经过k层E-ATGraphSAGE神经网络,最终得到的边$\boldsymbol{z}_{u v}^{k}$ 可表示为

$ \boldsymbol{z}_{u v}^{k}={Concat}\left(\boldsymbol{z}_{u}^{k}, \boldsymbol{z}_{v}^{k}, \boldsymbol{e}_{u v}\right) 。$ (10)
3.2 网络攻击检测方法

本文提出的网络攻击检测框架利用E-ATGraphSAGE算法进行网络攻击检测,具体包括3个步骤:数据预处理; E-ATGraphSAGE数据嵌入; 边分类。基于E-ATGraphSAGE的网络攻击检测流程如图 2所示。

图 2 基于E-ATGraphSAGE的网络攻击检测流程 Fig. 2 The flow chart of network attack detection based on E-ATGraphSAGE

1) 数据预处理

在数据预处理中需要把网络捕获或者系统日志等原始平面数据转换为图结构数据。对于网络攻击检测任务来说,绝大部分都是以流数据的形式进行收集。流数据由标识通信的源和目的字段组成,例如源和目的IP地址、端口号等, 协议、数据包、字节数、流持续时间等记录流数据的其他信息。本文使用流数据源IP地址、源端口号标识图的源节点、目的IP地址、目的端口号标识图的目标节点以及流的其他字段作为边特征。

2) E-ATGraphSAGE数据嵌入

将图的节点特征和边特征输入E-ATGraphSAGE模型中进行表示学习,以学习其结构和上下文相似性或者特征相似性。

3) 边分类

利用学习好的节点特征或者边特征进行攻击检测,根据任务的不同可以使用不同的分类器进行节点分类、边分类或者整个图的分类,本文使用全连接层作为分类器进行分类。

4 实验设计 4.1 实验数据

为验证E-ATGraphSAGE算法在网络攻击检测任务中的有效性,采用了网络安全领域常用的公开标准数据集NF-UNSW-NB15和ToN-IoT进行验证。

UNSW-NB15数据集包含254万条流量记录,每条流量记录包含49个流量特征。UNSW-NB15数据集中基于NetFlow的格式称为NF-UNSW-NB15,数据流总数为1 623 118个,其中72 406个(4.46%)为攻击样本,1 550 712个(95.54%)为良性样本。ToN-IoT[20]是一个相对较新的数据集,由796 380条(3.56%)良性流和21 542 641条(96.44%)攻击流组成,总计22 339 021条。由于ToN-IoT数据量庞大,仅使用了网络流量数据集的训练测试数据部分。

4.2 实验设置

实验环境为Intel(R) Core(TM) i512,32 GB内存,Window 10操作系统,GPU为NVIDIA GeForce RTX 4060Ti,Python版本为3.6.13。采用的深度学习框架是PyTorch-cuda,版本为11.8。实验采用准确率、精确率、召回率和F1值来评价模型的整体性能。

4.3 实验过程

使用2层E-ATGraphSAGE模型,每个隐藏层输出维度大小为128。在计算节点之间的注意力系数时使用的非线性激活函数是LeakReLU, 其余的非线性激活函数均为ReLU。为避免过度拟合,在每层GNN后使用正则化技术,dropout设置为0.2。采用交叉熵损失函数并且使用学习率为0.001的Adam优化器在反向传播阶段执行梯度下降,按7∶3的比例划分为训练集和测试集。

4.4 实验结果评估与分析

为了验证E-ATGraphSAGE算法的性能,将其在NF-UNSW-NB15和ToN-IoT两个数据集上进行了对比实验。首先对二分类实验结果进行评估与分析,其次对多分类实验结果进行评估与分析。

4.4.1 二分类对比实验

二分类实验使用准确率、精确率、召回率和F1值评价指标来衡量网络攻击检测算法的性能。为验证E-ATGraphSAGE算法的改进效果,将其与原始算法(简称为E-GraphSAGE)进行比较,同时还将其与几种常见的网络攻击检测深度学习算法如LSTM、RNN和CNN进行比较。表 1展示了不同算法在NF-UNSW-NB15和ToN-IoT数据集上二分类对比实验结果。

表 1 在NF-UNSW-NB15和ToN-IoT数据集上二分类对比实验结果 Tab. 1 Experimental results of binary classification comparison on NF-UNSW-NB15 and ToN-IoT datasets

表 1可以看出,在NF-UNSW-NB15数据集上各种检测算法的实验结果均整体优于ToN-IoT数据集,这可能是由于两个数据集对网络流量提取的特征不同。在NF-UNSW-NB15数据集上各种神经网络算法都取得了较高的性能,E-ATGraphSAGE算法的准确率、精确率、F1值都略优于其他算法,但召回率略低于LSTM和CNN算法。在ToN-IoT数据集上,E-ATGraphSAGE和E-GraphSAGE算法的性能明显优于其他算法,E-ATGraphSAGE算法的准确率、召回率和F1值相比E-GraphSAGE算法分别提高了0.88、1.24和0.96个百分点。实验结果表明,在二分类情况下, GNN算法的整体性能要优于其他神经网络算法,E-ATGraphSAGE算法展现了比其他模型更好的网络攻击检测性能。

4.4.2 多分类对比实验

考虑网络攻击数据的高度不平衡,而F1值相比于其他评价指标更能反映出一个模型的性能。因此,在多分类对比实验中使用F1值评价指标。将E-ATGraphSAGE算法与E-GraphSAGE、LSTM和CNN算法进行了对比实验,表 2表 3分别展示了不同算法在NF-UNSW-NB15数据集和ToN-IoT数据集上多分类对比实验结果。可以看出,在NF-UNSW-NB15数据集上,E-ATGraphSAGE算法在Analysis、Backdoor、Benign、DoS、Exploits、Fuzzers和Generic攻击类型上的F1值都优于其他算法,而余下几种攻击类型的F1值也都在均值之上。而在ToN-IoT数据集上,E-ATGraphSAGE算法在Backdoor、DDoS、Mitm、Normal、Password、Ransomware和Scanning攻击类型上的F1值都优于其他算法,而余下几种攻击类型的F1值也基本在均值之上。这表明E-ATGraphSAGE算法在进行边嵌入时能够充分学习攻击数据固有的图结构,从而更有效地应对不同类型的攻击。

表 2 在NF-UNSW-NB15数据集上多分类对比实验结果 Tab. 2 Experimental results of multi classification comparison on NF-UNSW-NB15 dataset

表 3 在ToN-IoT数据集上多分类对比实验结果 Tab. 3 Experimental results of multi classification comparison on ToN-IoT dataset
5 结语

针对网络攻击检测中通常忽略攻击数据之间的固有结构,本文提出了一种基于GNN的网络攻击检测算法E-ATGraphSAGE。该算法以GraphSAGE为基准模型,在融合边特征和节点特征的基础上使用注意力机制关注节点之间的权重,并且引入了残差连接加速训练收敛。为了验证E-ATGraphSAGE算法的有效性,在NF-UNSW-NB15和ToN-IoT数据集上与多种深度学习算法进行对比。结果表明,E-ATGraphSAGE算法在二分类和多分类任务中均取得了较好的表现,展现了GNN算法在网络攻击检测领域的巨大潜力。未来的工作将进一步探索如何处理入侵检测数据集中存在的类不平衡问题以及构建具有鲁棒性的GNN。

参考文献
[1]
OMOLARA A E, ALAWIDA M, ABIODUN O I. Drone cybersecurity issues, solutions, trend insights and future perspectives: a survey[J]. Neural computing and applications, 2023, 35(31): 23063-23101. DOI:10.1007/s00521-023-08857-7 (0)
[2]
郭军利, 许明洋, 原浩宇, 等. 引入内生安全的零信任模型[J]. 郑州大学学报(理学版), 2022, 54(6): 51-58.
GUO J L, XU M Y, YUAN H Y, et al. Introduction of endogenous security of zero trust model[J]. Journal of Zhengzhou university (natural science edition), 2022, 54(6): 51-58. DOI:10.13705/j.issn.1671-6841.2022085 (0)
[3]
KASONGO S M. A deep learning technique for intrusion detection system using a recurrent neural network based framework[J]. Computer communications, 2023, 199: 113-125. DOI:10.1016/j.comcom.2022.12.010 (0)
[4]
WANG Q, ZHAO W F, WEI X Y, et al. Intrusion detection algorithm based on convolutional neural network and light gradient boosting machine[J]. International journal of software engineering and knowledge engineering, 2022, 32(8): 1229-1245. DOI:10.1142/S0218194022500462 (0)
[5]
AKGUN D, HIZAL S, CAVUSOGLU U. A new DDoS attacks intrusion detection model based on deep learning for cybersecurity[J]. Computers & security, 2022, 118: 102748. (0)
[6]
HUANG Y H, SUN Y, LIN K X, et al. An effective reconstruction method of the APT attack based on hidden Markov model[J]. Journal of circuits, systems and computers, 2022, 31(6): 2250108. DOI:10.1142/S0218126622501080 (0)
[7]
LIU Z, CHEN Y, XIA F, et al. TAP: traffic accident profiling via multi-task spatio-temporal graph representation learning[J]. ACM transactions on knowledge discovery from data, 2023, 17(4): 1-25. (0)
[8]
CHANG L Y, BRANCO P. Graph-based solutions with residuals for intrusion detection: the modified E-GraphSAGE and E-ResGAT algorithms[EB/OL]. (2021-11-26)[2024-06-12]. https://doi.org/10.48550/arXiv.2111.13597. (0)
[9]
GOVINDARAJU S, VINISHA W V R, SHAJIN F H, et al. Intrusion detection framework using auto-metric graph neural network optimized with hybrid woodpecker mating and capuchin search optimization algorithm in IoT network[J]. Concurrency and computation: practice and experience, 2022, 34(24): 7197. DOI:10.1002/cpe.7197 (0)
[10]
NOROUZIAN M R, XU P, ECKERT C, et al. Hybroid: toward android malware detection and categorization with program code and network traffic[M]//Lecture Notes in Computer Science. Cham: Springer International Publishing, 2021: 259-278. (0)
[11]
CHAWLA A, LEE B, FALLON S, et al. Host based intrusion detection system with combined CNN/RNN model[C]//Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Cham: Springer International Publishing, 2019: 149-158. (0)
[12]
CHEN L, KUANG X Y, XU A D, et al. A novel network intrusion detection system based on CNN[C]//Proceedings of the 8th International Conference on Advanced Cloud and Big Data. Piscataway: IEEE Press, 2020: 243-247. (0)
[13]
BOUKHALFA A, ABDELLAOUI A, HMINA N, et al. LSTM deep learning method for network intrusion detection system[J]. International journal of electrical and computer engineering, 2020, 10(3): 3315. DOI:10.11591/ijece.v10i3.pp3315-3322 (0)
[14]
XIAO Q S, LIU J, WANG Q, et al. Towards network anomaly detection using graph embedding[M]//Lecture Notes in Computer Science. Cham: Springer International Publishing, 2020: 156-169. (0)
[15]
AOUDNI Y, DONALD C, FAROUK A, et al. Cloud security based attack detection using transductive learning integrated with hidden Markov model[J]. Pattern recognition letters, 2022, 157: 16-26. DOI:10.1016/j.patrec.2022.02.012 (0)
[16]
ZHOU J W, XU Z Y, RUSH A M, et al. Automating botnet detection with graph neural networks[EB/OL]. (2020-03-13)[2024-06-12]. https://doi.org/10.48550/arXiv.2003.06344. (0)
[17]
ZHU J W, HAN X, DENG H H, et al. KST-GCN: a knowledge-driven spatial-temporal graph convolutional network for traffic forecasting[J]. IEEE transactions on intelligent transportation systems, 2022, 23(9): 15055-15065. DOI:10.1109/TITS.2021.3136287 (0)
[18]
ZHANG B N, LI J J, CHEN C, et al. A practical botnet traffic detection system using GNN[M]//Lecture Notes in Computer Science. Cham: Springer International Publishing, 2022: 66-78. (0)
[19]
LI G H, MVLLER M, THABET A, et al. DeepGCNs: can GCNs go as deep as CNNs?[C]//IEEE/CVF International Conference on Computer Vision. Piscataway: IEEE Press, 2019: 9266-9275. (0)
[20]
LO W W, KULATILLEKE G, SARHAN M, et al. XG-BoT: an explainable deep graph neural network for botnet detection and forensics[J]. Internet of things, 2023, 22: 100747. DOI:10.1016/j.iot.2023.100747 (0)
[21]
ALSINET T, ARGELICH J, BÉJAR R, et al. Argumentation reasoning with graph isomorphism networks for reddit conversation analysis[J]. International journal of computational intelligence systems, 2022, 15(1): 86. DOI:10.1007/s44196-022-00147-9 (0)
[22]
LO W W, LAYEGHY S, SARHAN M, et al. E-GraphSAGE: a graph neural network based intrusion detection system for IoT[C]//IEEE/IFIP Network Operations and Management Symposium. Piscataway: IEEE Press, 2022: 1-9. (0)
[23]
HAMILTON W L, YING R, LESKOVEC J. Inductive representation learning on large graphs[EB/OL]. (2018-09-10)[2024-06-12]. https://doi.org/10.48550/arXiv.1706.02216. (0)