北京大学学报(自然科学版) 第60卷 第3期 2024年5月

Acta Scientiarum Naturalium Universitatis Pekinensis, Vol. 60, No. 3 (May 2024)

doi: 10.13209/j.0479-8023.2024.035

北方民族大学中央高校基本科研业务费专项资金(2022PT_S04)和宁夏回族自治区重点研发项目(2023BDE02017)资助

收稿日期: 2023–05–19;

修回日期: 2023–07–30

MFA-SGWNN:基于多特征聚合谱图小波神经网络的僵尸网络检测

吴悔1 陈旭1,† 景永俊1 王叔洋2

1.北方民族大学计算机科学与工程学院, 银川 750000; 2.北方民族大学电气信息工程学院, 银川 750000; †通信作者, E-mail: chenxu@nmu.edu.cn

摘要 在僵尸网络攻击中, 由于伪装后的僵尸网络流量数据特征与正常流量数据特征过于相似, 使得传统的检测方法难以准确地进行区分。为解决这一问题, 提出一种基于多特征聚合谱图小波神经网络的方法(Multi-feature Aggregation Spectral Graph Wavelet Neural Network, MFA-SGWNN), 将流量的属性特征与空间特征相结合, 能有效地捕获隐藏的感染主机流量特征, 增强僵尸网络节点的特征表示, 同时规避了数据样本不平衡和恶意加密流量对检测的影响。在 ISCX2014 僵尸网络数据集和 CIC-IDS 2017(僵尸网络)数据集上的实验结果表明, MFA-SGWNN 检测效果优于现有方法, 具有更强的鲁棒性和泛化能力。

关键词 僵尸网络; 图小波神经网络; 网络安全

随着人工智能的发展, 研究人员开始使用机器学习进行僵尸网络检测[1–2], 如支持向量机(support vector machine, SVM)[3]等。然而, 随着网络技术的发展, 传统的机器学习方法在僵尸网络检测方面变得乏力, 主要原因是当前基于机器学习的僵尸网络检测方法需要专家提供大量领域知识。相比之下, 传统的深度学习方法能自动提取原始流量数据包中的特征, 无需繁琐的人工特征工程, 更适合僵尸网络的检测[4]。然而, 深度学习主要关注单个数据流, 对数据流之间隐藏的结构信息利用不足, 限制了在实际情况中的适用性。

相比于传统的深度学习, 图神经网络在处理图结构数据方面具有更出色的性能, 得到广泛应用[5], 在僵尸网络检测领域也逐渐受到关注。例如, Zhao等[6]提出一种基于图卷积神经网络的僵尸网络检测框架, 将细粒度网络对象构建为多属性异构图, 取得较好的结果。但是, 图卷积神经网络被视为一种低通滤波器[7], 其灵活性和扩展性较为有限, 限制了它在僵尸网络检测方面的准确性。更具挑战性的是, 在检测隐藏的僵尸网络主机时, 由于伪装后的僵尸网络数据与正常流量数据过度相似, 导致其难以达到预期的检测效果。

为了克服现有僵尸网络检测方法的局限性, 本文提出一种基于多特征聚合谱图小波神经网络的方法, 旨在解决隐藏的僵尸网络感染主机特征与正常流量特征相似带来的检测困难。该方法将复杂的网络流量数据转换成易处理的矩阵, 并构建流量有向图。结合属性特征和空间特征, 对流量节点数据的内部特征以及邻域节点特征进行学习, 并设计图小波神经网络, 以便实现自适应滤波。最后, 在ISCX Botnet dataset 2014 和 CIC-IDS2017 的僵尸网络数据集上进行实验验证。

1 相关工作

深度学习已广泛应用于网络安全领域。Shah-hosseini 等[8]提出基于深度学习的僵尸网络检测方法。然而, 僵尸网络数据中隐藏着丰富的结构信息, 而传统的深度学习方法通常只处理单个数据流。因此, 研究人员将注意力转向图卷积神经网络。图卷积神经网络主要分为空间方法和谱方法。空间方法直接在顶点域定义卷积[9], 类似传统的卷积神经网络, 虽然取得初步成功, 但仍然难以确定合适的领域。谱方法通过图傅里叶变换将顶点域中的信号转换为谱域[10], 以此来定义卷积, 因此研究人员更注重基于谱方法的图卷积神经网络。

Pujol-Perich 等[11]认为关注攻击结构模式的重要性不仅要捕获单个流特征, 还要捕获不同流之间的关系, 强调图结构的重要性。Joshi 等[12]提出一种基于动态通信图的 P2P 僵尸网络检测方法, 通过构建动态通信图, 提高 P2P 僵尸网络检测的准确度, 揭示图神经网络在入侵检测中的潜力。林宏刚 等[13]提出基于图神经网络的 P2P 僵尸网络检测方法, 不依赖流量协议自身特征, 而是完全依赖网络的拓扑结构, 有效地提高 P2P 僵尸网络检测能力。Nguyen 等[14]结合流量特征和拓扑结构, 提出基于深度图卷积神经网络的物联网僵尸网络检测方法, 准确率达到 92%。

然而, 图卷积神经网络是基于全局性的图傅里叶变换, 处理局部信息效果有限。为了克服这些缺点, 研究人员提出图小波神经网络, 采用图小波变换代替图傅里叶变换, 并将小波视为一组基而不是拉普拉斯特征向量。图小波变换将图信号从顶点域投射到谱域[15], 与图傅里叶变换相比, 图小波变换更好地关注到局部变量。Hammond 等[16]提出谱图小波变换(spectral graph wavelet transform, SGWT), 通过设计一个函数来充当带通滤波器, 无需计算拉普拉斯矩阵的完整特征值和特征向量集。Zheng 等[17]基于图小波神经网络, 提出多粒度图小波神经网络, 以此克服图小波卷积滤波器在多层情况下的过平滑现象。Tang 等[18]针对异常数据的“右移”现象, 提出贝塔小波神经网络, 证明了其在异常检测数据集上的有效性。

2 本文方法

本文提出一种基于多特征聚合谱图小波神经网络方法(Multi-feature Aggregation Spectral Graph Wavelet Neural Network, MFA-SGWNN), 其框架如图 1 所示。首先, 提取流量数据特征矩阵, 并将其构建成图; 然后, 基于目标节点内部特征以及邻域节点特征, 通过门控循环单元(GRU)和 GraphSAGE对进行多维度学习, 以此构建新的僵尸网络节点特征; 最后, 图小波神经网络自适应地进行特征学习和检测。

2.1 数据预处理

在处理不同 IP 地址间通信的数据包时, 面临数据结构复杂、数量庞大以及可能包含无效信息的挑战, 这些因素都可能影响模型检测的准确性。因此, 处理网络流量数据的第一步是对数据进行清洗, 以便剔除其中的冗余和不确定信息。然后, 逐个读取原始 pcap 文件中的数据包, 以 TCP 流或 UDP 流为单位提取统计信息作为特征。本文未使用数据包中负载的通信内容, 这样不仅增加了算法的通用性, 也有效地避免了僵尸网络数据的个性化加密对检测准确性的影响, 并保护数据中的用户隐私。最终, 数据流被转换为矩阵 Q={Q1, Q2, …, Qi}:

Qi={sip, dip, s-packet, d-packet}, (1)

其中, sip 为源主机 IP 地址, dip 为目标主机 IP 地址, s-packet 为 sip 发送给 dip 的数据流特征, d-packet 为dip 返回给 sip 的数据流特征。

width=394.2,height=227.4

图1 MFA-SGWNN整体框架

Fig. 1 Overall framework of MFA-SGWNN

本文从 s-packet 和 d-packet 中提取 5 个特征作为节点特征 xi={TP, TLP, PLM, PLS, HL}。TP (total packets)代表数据包的数量, 反映不同 IP 之间的通信活动情况。TLP(total length of packets)代表数据包的总长度, 可以发现大规模的数据传输, 因为攻击者往往通过大量数据包来消耗服务器资源和网络宽带。PLM(packet length mean)代表数据包的平均大小, 除可以用来检测类似 DDoS 攻击的大规模数据传输外, 还可以用于检测伪装后的攻击, 因为攻击者会发送大小相似的数据包来进行伪装。PLS (packet length standard deviation)代表数据包标准偏差的大小, 对检测指定类型的攻击有显著的作用。HL(header length)代表数据包头部字节数, 攻击者可能通过篡改数据包头部来进行欺骗。这 5 个特征都是僵尸网络检测模型中的关键特征, 可以提高检测效果。

2.2 图构建

在僵尸网络攻击中, 通常是多个 IP 地址之间协同进行, 而传统的方法往往将单个 IP 地址流量数据表示为一组向量, 忽略了不同 IP 地址之间的联系, 可能导致攻击行为的漏检。因此, 本文将网络流量数据转换为图结构数据, 能够准确且直观地反映网络中各个 IP 地址之间的通信关系。同时, 节点与节点之间形成的不同拓扑结构可以提供更多的信息供分析。例如, 在攻击者使用多个 IP 地址协同进行攻击时, 这些 IP 地址之间可能存在特定的通信关系, 形成类似环形、星型或者链式等结构。这些结构信息可用于僵尸网络检测, 能显著地提高准确性和鲁棒性。此外, 图结构可以方便地配合图小波神经网络等方法来提取特征, 从而实现更准确、更高效的检测。

本文结合矩阵 Q 和原始数据包构建有向图 G= {V, E, X}。V={v1, v2, …, vi}是大小为 i 的节点集合, 每个节点代表一个唯一的 IP 地址。E={e1, e2, …eM}是大小为 M 的边集合, 每条边 ei 代表两个IP 地址之间存在通信。X={x1, x2, …xi}是由 s-packet 和 d-packet 筛选后的节点特征 xi 组成的集合。

2.3 基于多特征聚合谱图小波神经网络的僵尸网络检测

为了增强节点表示, 突显僵尸网络在伪装后的特征表现, 本文设计节点特征提取模块, 对主机节点自身的流量特征进行有效的提取。首先, 对主机节点不同时间段内自身的流量特征进行提取, 如图2 所示。

width=166.8,height=134.85

图2 节点特征提取

Fig. 2 Node feature extraction

图 2 中, t={t1, t2, …, tn}为时间参数, 将每个 IP 地址的主机流量特征 xi 分为 n 个不同时间段的特征{xi1, xi2, …, xin}。网络流量具有时序特性, 尽管攻击者在操作感染主机时进行了伪装, 但是流量特征会在极短的时间 tt 内发生微小的变化。为了捕捉流量数据序列中的微小变化, 在计算时间 tt 特征 xit 的隐藏状态 ht 时, 加入上一层隐藏状态 ht1, 对 ht1 进行重置和更新, 并且将当前输入 xit 与不同的权重矩阵 Wxr, Whr, WxhWhh 进行计算, 得到重置后的状态width=11.15,height=15.45:

width=148.3,height=18.85, (2)

其中, width=115.7,height=15.45, tanh 和 σ 是激活函数, brbh 是偏差参数, width=11.15,height=12是 Hadamard 乘积。接着通过权重矩阵 WxzWhz 更新, 得到新的隐藏状态 ht:

width=114,height=18.85, (3)

其中, Zt =σ(Wxzxit+Whzht1+bz), bz 是偏差参数。最后, 通过全连接层的计算, 得到新特征向量 p, 该向量保存了不同时间段的隐藏层序列信息, 并且有效地提取了隐藏感染主机中表现不明显的僵尸网络 特征。

为了更清楚地反映不同主机节点之间的特征差异, 提高检测准确率, 本文将节点自身特征与其邻域节点特征进行聚合, 从而得到新的主机节点流量特征。在网络流量图中, 存在大量的主机节点, 并且每个主机节点的邻域节点数量大小各异, 在对特征进行多层聚合时带来巨大的计算负担。因此, 本文对特征采样进行优化, 将采样目标从整张图 G变为当前节点 vi 的邻居节点, 并将前节点信息传播到邻域节点, 在降低计算复杂度的同时, 增加了模型的鲁棒性。

如图 3 所示, 在本文模型中, 每一层的节点表示都是通过节点自身的表示以及邻域节点的表示聚合形成, 即将上一层的节点表示与邻域节点的聚合结果进行拼接, 并结合权重计算, 最后通过激活函数, 得到节点 vi 在第 k 层聚合特征的表示width=12.85,height=18:

width=103.7,height=18.85, (4)

其中, width=18,height=18表示节点 vi 在第 k−1 层聚合特征的表示, W 为该层的权重矩阵, N(vi)为节点 vi 的邻域节点集合, width=20.55,height=18.85代表节点 vi 的邻域节点的聚合结果表示, C为拼接操作。本文使用平均聚合函数进行特征聚合, 计算简单, 并且会对僵尸网络检测结果有很大的提升:

width=74.55,height=35.15, (5)

其中, N(vi)是节点 vi 的邻域节点集合, width=18,height=16.3是节点 vi的邻域节点 ak−1 层的表示。最后通过全连接层的计算, 得到聚合后新的节点特征 S

width=295.05,height=145.8

图3 节点特征聚合

Fig. 3 Node feature aggregation

僵尸网络流量数据伪装后与正常流量数据极为相似, 检测时容易导致误判, 因此本文使用谱图小波变换来构造图小波神经网络, 通过小波变换, 将图信号转换到频域, 从而能够对不同频率的特征进行建模, 从频谱域中提取这些细微的差异, 进而检测出与正常流量相似但实际上是僵尸网络的流量特征。计算公式如下:

width=68.55,height=16.3, (6)

其中, g(Λ)为图小波卷积核, U 是拉普拉斯矩阵 L 特征向量的矩阵, Λ 是拉普拉斯矩阵 L 特征值 λ 构成的对角矩阵。拉普拉斯矩阵 L=UΛUT, 通过多项式函数对图小波卷积参数进行近似操作, 可以避免矩阵分解, 最终得到 H=g(L)S

本文将 β 分布作为图小波神经网络的小波基, 其形态随参数的变化而变化, 可以同时捕获图中节点的相似性以及节点之间的差异。作为带通滤波器, β分布可以将特征分解为多个尺度和频率的小波系数, 从而更细致地处理不同频率的局部特征, 有效地区分正常流量数据特征和隐藏的僵尸网络特征。β 的概率密度函数为

width=107.15,height=31.7, (7)

其中, ab 为超参数, B(·)为 β 函数。β 分布是定义在(0, 1)区间上的连续概率分布, 而拉普拉斯矩阵 L的特征值 λ∈(0, 2)。本文将图小波卷积核定义为

width=108.85,height=47.15。 (8)

为了深化对图小波神经网络鉴别伪装后的僵尸网络流量数据与正常流量数据机制的理解, 我们给出一个小波核在谱域中的示例, 如图 4 所示。设定参数 a=1, b=j, 以此构造为低通滤波器的图小波卷积核 gβj(λ), x1 为伪装后的僵尸网络特征。由于伪装的僵尸网络流量数据与正常流量数据的相似性, 它们在频域的分布相近。尽管低通滤波器 gβj(λ)能够完整地保留分布在 0~λ1 上的僵尸网络特征, 可以区分与正常流量特征在频率上显著差异的僵尸网络特征, 但它会将分布在伪装后的僵尸网络特征 x1 和正常流量特征一同过滤。

为了解决这个问题, 需要通过训练来获取新的参数 ab, 以便构建新的带通滤波器, 在不同尺度上对流量特征进行分析。假设经过训练, 我们学习得到 a=q, b=p, 从而构造带通滤波器 gβqp(λ)。由图 4 可以看出, gβqp(λ)能完整地保留伪装后的僵尸网络特征 x1, 捕捉到伪装的僵尸网络流量数据与正常流量数据之间微小的差异。

width=214.2,height=159.6

图4 小波核在谱域中表示例图

Fig. 4 Example of wavelet kernel representation in spectral domain

本文通过训练学习参数 ab 来构造不同的图小波卷积核 gβ(λ)={gβ1(λ), gβ2(λ), …, gβi(λ)}, 其中包括低通滤波器、带通滤波器和高通滤波器, 以此准确地区分僵尸网络流量数据和正常流量数据, 并结合节点特征与聚合后特征。在模型训练过程中, 本文不仅始终保留节点的初始特征信息, 同时还加入在网络中获取的新信息。最后, 通过多层感知机得到最终的检测结果:

width=143.15,height=15.45, (9)

其中, AGG 为聚合函数, MLP 为多层感知机,width=11.15,height=12为拼接操作, Y 为最后得到的预测为僵尸网络节点的概率。在本文的模型训练中, 使用交叉熵函数作为损失函数, 用来衡量模型预测概率与真实概率之间的差异:

width=162,height=15.45, (10)

其中, c 为数据集样本中的真实标签, d 为数据集训练样本中的预测概率。

3 实验

3.1 数据集描述

本文实验中采用公开的 ISCX Botnet dataset 2014[19]和 CIC-IDS2017(Botnet)数据集[20], 两个数据集都是用于评估僵尸网络检测模型的基准数据集, 可以保证僵尸网络符合真实环境的情况。ISCX Botnet dataset 2014 混合了 ISOT dataset, ISCX 2012 IDS dataset 和 Botnet traffic generated by the Malware Capture Facility Project 的子集, 为了将这些数据轨迹合并到统一的数据集中, 本文采用叠加方法[21], 这是创建合成数据集的最流行的方法之一。CIC-IDS2017(Botnet)是 CIC-IDS2017 数据集中的僵尸网络部分, 该数据集为不平衡数据集, 其良性流量远远多于僵尸网络流量。

3.2 实验设置

为了评估模型的性能, 本文进行两个实验, 并将实验数据集划分为训练集、验证集和测试集, 比例为 6:2:2。首先, 将 MFA-SGWNN 模型方法与传统方法的深度学习方法和图神经网络方法进行对比实验。然后, 对 MFA-SGWNN 模型进行消融实验, 用于验证 MFA-SGWNN 模型组成部分的有效性。本文采用以下 4 种度量标准作为评估指标来分析模型在不同情况下的检测效果: 召回率(rec)、准确率(acc)、精确率(pre)和 F1 Score。

3.3 实验结果与分析

3.3.1 对比方法

为了验证本文所提模型 MFA-SGWNN 的有效性, 将 MFA-SGWNN 与下述 7 个现有模型在 ISCX Botnet dataset 2014 和 CIC-IDS2017(Botnet)上进行对比实验。

LSTM.MI: 由 Tran 等[22]提出, 是一种基于二元和多分类模型, 用来处理 DGA 僵尸网络检测中的多类不平衡问题。

N-BaIoT: 由 Meidan 等[23]提出, 是一种基于网络的异常检测方法, 通过提取网络的行为快照, 并使用深度自动编码器来检测异常网络流量。

GCN: 由 Kipf 等[10]首次提出, 利用图结构, 并以卷积方式聚合来自邻域的节点信息, 具有强大的表达能力来学习图的表示。

ABD-GN: 由 Zhou 等[24]提出, 通过定制图神经网络来检测僵尸网络结构的属性, 对于学习复杂的僵尸网络拓扑结构有出色的效果。

GAT: 是由 Veličković 等[25]提出的图注意力网络(graph attention networks), 利用屏蔽的自注意层, 来解决基于图卷积或其近似方法的缺点。

GraphSAGE: 是由 Hamilton 等[26]提出的一个通用的归纳框架, 通过从节点的局部邻域中采样和聚合特征来生成嵌入。

XG-BoT: 是由 Lo 等[27]提出的一种用于僵尸网络节点检测的可解释深度图神经网络模型, 包括一个僵尸网络检测器和一个用于自动取证的解释器, 可有效地检测大规模网络中的恶意僵尸网络节点。

3.3.2 对比实验分析

僵尸网络检测模型的对比结果如表 1 所示。在ISCX Botnet dataset 2014 上训练时, MFA-SGWNN的准确率达到 99.99%, 具有 99.97%的召回率, 拥有非常低的漏检率, 有 99.94%的精确率, 具有非常高的可靠性, 也获得 99.96%的 F1 Score, 具有很好的稳定性。

在 CIC-IDS2017(Botnet)数据集上训练时, 尽管存在样本不平衡问题, 导致多数方法的精确度和 F1 Score 较低, 但 MFA-SGWNN 仍然表现最优, 准确率高达 99.93%, 召回率、精确度和 F1 Score 远超其他方法, 分别达到 99.76%、99.97%和 99.86%。这表明, 作为一种具有高度灵活性的带通滤波器, MFA-SGWNN 可以更好地关注局部变量, 更好地捕捉僵尸网络的分散流量特征, 从而提高数据样本不平衡情况下的检测性能。

表1 僵尸网络检测模型的对比结果(%)

Table 1 Comparison results of botnet detection models (%)

模型ISCX Botnet dataset 2014CIC-IDS2017 (Botnet)accrecpreF1accrecpreF1 LSTM.MI95.4398.5995.6697.0697.7094.6891.4593.50 N-BaIoT93.5294.4994.0594.2794.6899.0786.8092.38 GCN96.3493.8197.8195.7598.8698.2350.5766.87 ABD-GN98.8798.0997.7697.9199.1099.2390.9994.82 GAT81.2689.8884.8586.7898.3362.6126.9637.34 GraphSAGE96.8798.1097.7697.8698.9499.0580.9989.16 XG-BoT99.0799.2399.4699.3899.5099.4194.1096.46 MFA-SGWNN(本文模型)99.9999.9799.9499.9699.9399.7699.9799.86

说明: 粗体数字表示性能最优, 下同。

相比于 LSTM.MI 和 N-BaIoT 等基于传统深度学习的方法, MFA-SGWNN 在 ISCX Botnet dataset 2014 上训练的准确率分别提升 4.56%和 6.47%, 召回率分别提升 1.38%和 5.48%, 精确率分别提升了4.28%和 5.89%, F1 值分别提升了 2.9%和 5.69%。MFA-SGWNN 在 CIC-IDS2017(Botnet)数据集上训练的准确率分别提升了 2.23%和 5.25%, 召回率分别提升了 5.08%和 0.69%, 精确率分别提升了 8.52%和 13.17%, F1 值分别提升了 6.36%和 7.48%。这是因为 LSTM.MI 和 N-BaIoT 等基于传统深度学的方法没有充分利用数据流之间隐藏的结构信息, 导致检测效果降低, 而 MFA-SGWNN 通过将流量的属性特征与空间特征相结合, 充分地利用了拓扑结构信息, 聚合邻居节点信息, 能准确地区分僵尸网络流量和正常流量。

相比于 GCN, ABD-GN, GAT, GraphSAGE 以及XG-BoT 等基于传统图神经网络的方法, MFA-SGWNN 在 ISCX Botnet dataset 2014 上训练的准确率分别提升 3.65%, 1.12%, 18.73%, 3.12%和 0.92%, 召回率分别提升 6.16%, 1.88%, 10.09%, 1.87%和0.74%, 精确率分别提升了 2.13%, 2.18%, 15.09%, 2.18%和 0.48%, F1 值分别提升了 4.21%, 2.05%, 13.18%, 2.1%和 0.58%。MFA-SGWNN 在 CIC-IDS2017(Botnet)数据集上训练的准确率分别提升 1.07%, 0.83%, 1.6%, 0.99%和 0.43%, 召回率分别提升1.53%, 0.53%, 37.15%, 0.71%和 0.35%, 精确率分别提升 49.4%, 8.98%, 73.01%, 18.98%和 5.87%, F1 值分别提升 32.99%, 5.04%, 62.52%, 10.7%和 3.4%。这是因为 GCN, ABD-GN, GAT, GraphSAGE 和 XG-BoT 等基于传统图神经网络的方法虽然利用了结构信息, 但当伪装后僵尸网络流量特征与正常流量特征相似以及结构信息差异不大时, 无法准确地区分, 而 MFA-SGWNN 模型良好的检测性能表明, 与标准图卷积相比, 图小波神经网络能更有效地学习经过伪装后的僵尸网络流量特征。综上所述, 本文提出的 MFA-SGWNN 模型在所有的评估指标上都达到最优, 超过其他深度学习模型和图神经网络模型, 并且漏检和误报的情况也得到显著的改善。

3.3.3 模型组件消融实验

为了验证本文模型的合理性和每个组件的有效性, 在 ISCX Botnet dataset 2014 和 CIC-IDS2017 (Botnet)上进行消融实验。首先进行 GRU 和 Graph-SAGE 的消融实验, 在 No-GRU 版本中, 删除 GRU, 只使用 GraphSAGE 进行特征聚合, 其他模型的组成部分保持不变。在 No-GraphSAGE 版本中删除GraphSGAE, 仅使用 GRU 在流量协议自身特征进行提取, 其他组成成分不变。

为了验证图小波神经网络的重要性, 使用传统图卷积神经网络(GCN)和图注意力机制(GAT)代替图小波神经网络, 生成 MFA-GCN 和 MFA-GAT 两个版本。消融实验的结果如表 2 和图 5 所示, 可以发现, No-GRU 和 No-GraphSAGE 的准确率下降 2% 左右, 其他各项评估指标值也明显下降, 并且损失值在训练过程中有较大的波动, 显示出模型的不稳定性, No-GRU 的情况最为明显。这表明, GRU 和GraphSAGE 是 MFA-SGWNN 的重要组成部分, 能有效地提取流量协议自身的特征, 具备学习序列非线性特征的能力, 能捕捉特征微小的变化, 并且可以充分利用僵尸网络节点的拓扑结构信息和邻域节点信息。

MFA-GCN 和 MFA-GAT 在僵尸网络检测任务中的稳定性以及性能也不如 MFA-SGWNN。MFA- CCN 和 MFA-GAT 的准确率下降 1%~4%, 其他评估指标值的下降也非常明显。这表明了 SGWNN 的有效性, 其灵活性和扩展性较高, 可以同时捕获图中节点的相似性以及节点之间的差异, SGWNN 对局部特征的学习能力出色, 可以更细致地处理不同频率的局部特征, 准确地区分伪装后的僵尸网络特征以及正常流量特征, 并且能有效地解决数据不平衡问题。

表2 No-GRU 和 No-GraphSAGE 以及 MFA-GCN 和 MFA-GAT 的对比实验结果(%)

Table 2 Experimental results of No-GRU and No-GraphSAGE, MFA-GCN and MFA-GAT (%)

模型ISCX Botnet dataset 2014CIC-IDS2017 (Botnet)accrecpreF1accrecpreF1 No-GRU97.7498.6297.3398.9599.5599.4979.0787.91 No-GraphSAGE97.9798.1797.6998.0499.9297.7295.6996.93 MFA-GCN98.4698.5599.1098.3199.7896.0984.8890.05 MFA-GAT96.0998.1796.0197.5699.5972.6188.6279.33 MFA-SGWNN(本文模型)99.9999.9799.9499.9699.9399.7699.9799.86

width=464.35,height=190.8

当 Loss 值大于 1 时, 图中显示值为 1

图5 在两个数据集上训练的损失

Fig. 5 Loss of training on two data sets

3.3.4 聚合函数消融实验

本文中, 聚合函数在模型框架中起到关键的作用, 它可以融合领域节点信息至节点特征表示。因此, 我们基于 MFA-SGWNN 模型, 针对其中的聚合函数进行深入的消融实验, 以便揭示不同聚合函数对模型性能的具体影响。

在 MFA-SGWNN(LSTM)版本中, 本文使用LSTM 聚合函数代替原有的平均聚合函数(Mean), 同时保持其他组件的一致性, 在 MFA-SGWNN (Pool)版本和 MFA-SGWNN(GCN)版本中, 分别采用 Pool 聚合函数和 GCN 聚合函数代替平均聚合函数, 同时保持其他组件不变。所有模型都在 ISCX Botnet dataset 2014 和 CIC-IDS2017 (Botnet)上进行训练和测试, 记录每个模型的准确率、召回率、F1分数和运行时间等关键指标。

由表 3 可以看出, 在 MFA-SGWNN 模型中, 不同聚合函数对结果的影响微乎其微, 4 种聚合方式Mean, Pool, GCN 和 LSTM 的结果基本上相同。然而, LSTM 聚合函数计算训练时间最长(达到 139 秒), 其次是 Pool 聚合函数(用时 67 秒), GCN 花费 42 秒, 而 Mean 聚合函数最快, 仅需 30 秒。因此本文选取性能最好的 Mean 算法。

为了进一步探索各种聚合函数在模型中表现接近的原因, 本文在替换平均聚合函数的同时, 将谱图小波神经网络用 GCN 进行替换, 得到 MFA-GCN (LSTM), MFA-GCN (GCN)和 MFA-GCN (Pool) 3 个版本, 在 MFA-GCN 的版本上进行进一步的消融实验, 以便验证图小波神经网络对聚合函数的影响。

表3 聚合函数消融实验结果1 (%)

Table 3 Aggregation function ablation experiment results 1 (%)

模型ISCX Botnet dataset 2014CIC-IDS2017 (Botnet)accrecpreF1accrecpreF1 MFA-SGWNN (LSTM)99.9999.9299.9699.9299.7899.7294.4697.00 MFA-SGWNN (GCN)99.9098.8399.5899.2199.8099.3397.2798.21 MFA-SGWNN (Pool)99.9199.2799.7199.3399.8199.0297.6198.30 MFA-SGWNN (Mean)99.9999.9799.9499.9699.9399.7699.9799.86

表4 聚合函数消融实验结果2 (%)

Table 4 Aggregation function ablation experiment results 2 (%)

模型ISCX Botnet dataset 2014CIC-IDS2017 (Botnet)accrecpreF1accrecpreF1 MFA-GCN (LSTM)99.2598.7199.4299.0599.8998.1195.3696.75 MFA-GCN (GCN)99.1198.5599.1398.7799.8197.8094.7496.00 MFA-GCN (Pool)99.0398.0499.0198.3299.7198.3197.0997.69 MFA-GCN (Mean)98.4698.5599.1098.3199.7896.0984.8890.05

表 4 中数据表明, 采用 LSTM聚合函数的MFA-GCN(LSTM)版本的实验结果最优, 特别是在 CIC-IDS2017 数据集上, 与 Mean 聚合函数相比, 其精确率提高 10.48%。同时, 相比于 Mean, GCN 聚合函数和 Pool 聚合函数也显示出轻微的优势。这表明, 尽管 Mean 在计算速度上有所优势, 但可能因“平滑”掉邻居节点特征, 导致检测效果不佳。同时, 也揭示谱图小波神经网络在模型中的重要作用。尽管平均聚合方法可能会“平滑”掉邻居节点之间的特征差异(尤其是当邻居节点数量多或者特征差异较大时), 然而, 谱图小波神经网络通过在不同尺度上分析图的结构和节点特征, 可以捕捉到这些被平均聚合函数“平滑”掉的特征差异。具体地说, 谱图小波神经网络在每个尺度上会分析邻居节点的特征和结构, 然后将这些信息聚合到目标节点的特征中。因此, 尽管在某个尺度上, 邻居节点的特征被平均聚合函数“平滑”掉了, 但谱图小波神经网络也能在其他的尺度上捕捉到这些特征的差异, 从而使 MFA-SGWNN 取得较好的性能。

4 结论和未来工作

本文提出一种基于多特征聚合谱图小波神经网络的新方法 MFA-SGWNN, 用于僵尸网络的检测。为了评估模型的性能, 本文将 ISCX Botnet dataset 2014 和 CIC-IDS2017(Botnet)作为僵尸网络检测的基准数据集来训练模型。实验结果表明, 本文方法获得比深度学习和其他图神经网络模型更高的准确率、召回率、精确率和 F1 Score。该方法不仅可以有效地提高僵尸网络检测能力, 也可以保证检测的速度和模型的轻量化。未来, 我们将继续深入地研究僵尸网络检测的新方法以及基于时间和空间的检测方法, 以期实现更有效的特征学习。

参考文献

[1] Stevanovic M, Pedersen J M. An efficient flow-based botnet detection using supervised machine learning // 2014 International Conference on Computing, Net-working and Communications (ICNC). Honolulu, 2014: 797–801

[2] Miller S, Busby-Earle C. The role of machine learning in botnet detection // 2016 11th International Con-ference for Internet Technology and Secured Transac-tions (ICITST). Barcelona, 2016: 359–364

[3] Tuan T A, Long H V, Son L H, et al. Performance evaluation of Botnet DDoS attack detection using ma-chine learning. Evolutionary Intelligence, 2020, 13(2): 283–294

[4] Singla A, Bertino E. How deep learning is making information security more intelligent. IEEE Security & Privacy, 2019, 17(3): 56–65

[5] Zhou J, Cui G, Hu S, et al. Graph neural networks: a review of methods and applications [EB/OL]. (2021–10–06)[2022–09–09]. http://arxiv.org/abs/1812.08434

[6] Zhao J, Liu X, Yan Q, et al. Multi-attributed hetero-geneous graph convolutional network for bot detection. Information Sciences, 2020, 537: 380–393

[7] Nt H, Maehara T. Revisiting graph neural networks: all we have is low-pass filters [EB/OL]. (2019–05–26) [2022–10–31]. http://arxiv.org/abs/1905.09550

[8] Shahhosseini M, Mashayekhi H, Rezvani M. A deep learning approach for botnet detection using raw network traffic data. Journal of Network and Systems Management, 2022, 30(3): no. 44

[9] Niepert M, Ahmed M, Kutzkov K. Learning convolu-tional neural networks for graphs [EB/OL]. (2016– 06–08)[2022–10–01].http://arxiv.org/abs/1605.05273

[10] Kipf T N, Welling M. Semi-supervised classification with graph convolutional networks [EB/OL]. (2017–02–22) [2022–06–06]. http://arxiv.org/abs/1609.02907

[11] Pujol-Perich D, Suárez-Varela J, Cabellos-Aparicio A, et al. Unveiling the potential of graph neural networks for robust intrusion detection [EB/OL]. (2021–07–30) [2022–09–09]. http://arxiv.org/abs/2107.14756

[12] Joshi H P, Dutta R. A reinforcement approach for detecting P2P botnet communities in dynamic commu-nication graphs // ICC 2022—IEEE International Con-ference on Communications. Seoul, 2022: 56–61

[13] 林宏刚, 张运理, 郭楠馨, 等. 基于图神经网络的P2P僵尸网络检测方法. 工程科学与技术, 2022, 54(2): 65–72

[14] Nguyen H T, Ngo Q D, Le V H. IoT botnet detection approach based on PSI graph and DGCNN classifier // 2018 IEEE International Conference on Information Communication and Signal Processing (ICICSP). Sin-gapore, 2018: 118–122

[15] Xu B, Shen H, Cao Q, et al. Graph wavelet neural net-work [EB/OL]. (2019–04–12) [2022–10–01]. http:// arxiv.org/abs/1904.07785

[16] Hammond D K, Vandergheynst P, Gribonval R. The spectral graph wavelet transform: fundamental theory and fast computation // Stanković L, Sejdić E. Vertex-frequency analysis of graph signals. Cham: Springer International Publishing, 2019: 141–175

[17] Zheng W, Qian F, Zhao S, et al. M-GWNN: multi-granularity graph wavelet neural networks for semi-supervised node classification. Neurocomputing, 2021, 453: 524–537

[18] Tang J, Li J, Gao Z, et al. Rethinking graph neural networks for anomaly detection [EB/OL]. (2022–05–31) [2022–09–17]. http://arxiv.org/abs/2205.15508

[19] UNB. ISCX botnet dataset 2014 [EB/OL]. (2022–09–29) [2023–05–30]. https://www.unb.ca/cic/datasets/bo tnet.html

[20] UNB. Intrusion detection evaluation dataset (CIC-IDS2017) [EB/OL]. (2022–11–02) [2023–05–30]. https://www.unb.ca/cic/datasets/ids-2017.html

[21] Aviv A, Haeberlen A. Challenges in experimenting with botnet detection systems [EB/OL]. (2023–05–17) [2023–05–30]. https://repository.upenn.edu/cis_papers/ 610

[22] Tran D, Mac H, Tong V, et al. A LSTM based frame-work for handling multiclass imbalance in DGA botnet detection. Neurocomputing, 2018, 275: 2401–2413

[23] Meidan Y, Bohadana M, Mathov Y, et al. N-BaIoT: network-based detection of IoT botnet attacks using deep autoencoders. IEEE Pervasive Computing, 2018, 17(3): 12–22

[24] Zhou J, Xu Z, Rush A M, et al. Automating botnet detection with graph neural networks [EB/OL]. (2020–03–13) [2022–09–09]. http://arxiv.org/abs/2003.06344

[25] Veličković P, Cucurull G, Casanova A, et al. Graph attention networks [EB/OL]. (2018–02–04) [2023–05–30]. http://arxiv.org/abs/1710.10903

[26] Hamilton W L, Ying R, Leskovec J. Inductive represen-tation learning on large graphs [EB/OL]. (2018–09–10) [2023–05–30]. http://arxiv.org/abs/1706.02216

[27] Lo W W, Kulatilleke G, Sarhan M, et al. XG-BoT: an explainable deep graph neural network for botnet detection and forensics. Internet of Things, 2023, 22: 100747

MFA-SGWNN: Botnet Detection Based on Multi-Feature Aggregation Spectral Graph Wavelet Neural Network

WU Hui1, CHEN Xu1,†, JING Yongjun1 , WANG Shuyang2

1. School of Computer Science and Engineering, North Minzu University, Yinchuan 750000; 2. School of Electrical and Information Engineering, North Minzu University, Yinchuan 750000; † Corresponding author, E-mail: chenxu@nmu.edu.cn

Abstract In botnet attacks, because the characteristics of disguised botnet traffic data are too similar to normal traffic data, it is difficult to distinguish them accurately by traditional detection methods. In order to solve this problem, this paper proposes a Multi-feature Aggregation Spectral Graph Wavelet Neural Network (MFA-SGWNN). This method combines the attribute and spatial features of traffic, which can effectively capture the hidden characteristics of infected host traffic, enhance the feature representation of botnet nodes, and avoid the influence of unbalanced data samples and malicious encrypted traffic on detection. Experimental results on the ISCX2014 botnet and CIC-IDS 2017 (botnet) datasets show that MFA-SGWNN outperforms existing methods and has stronger robustness and generalization ability.

Key words botnet; graph wavelet neural network; cyber security