基于样本特征强化的APT 攻击多阶段检测方法
2023-01-27谢丽霞李雪鸥杨宏宇张良成翔
谢丽霞,李雪鸥,杨宏宇,2,张良,成翔
(1.中国民航大学计算机科学与技术学院,天津 300300;2.中国民航大学安全科学与工程学院,天津 300300;3.亚利桑那大学信息学院,美国 图森 AZ85721;4.扬州大学信息工程学院,江苏 扬州 225127;5.江苏省知识管理与智能服务工程研究中心,江苏 扬州 225127)
0 引言
高级持续性威胁(APT,advanced persistent threat)攻击作为网络攻击中最难防范的攻击手段之一,已经成为网络安全的重大威胁。APT 攻击通常使用入侵技术和软件源代码漏洞[1],对目标网络和系统造成长期的严重威胁。与传统攻击相比,APT攻击具有攻击目标明确、攻击过程具有阶段性和持续性、难以感知等特性[2-3]。如何有效防范APT 攻击已成为网络安全热点问题之一。因此,APT 攻击检测研究具有重要的理论价值和现实意义。
由于APT 攻击序列基于网络流量包,针对APT攻击序列检测的方法研究主要基于流量分析。基于流量分析的APT 攻击检测方法包括基于模式匹配的方法[4]、基于图的方法[5]和基于深度学习的方法等。随着基于深度学习的检测方法被更多地运用于网络攻击检测中[6-7],利用深度学习方法对海量流量进行分析并检测APT 攻击已成为研究热点。
Alrehaili 等[8]构建长短期记忆堆叠自动编码器(SAE-LSTM,stacked autoencoder with long short-term memory)和长短期记忆卷积神经网络(CNN-LSTM,convolutional neural network with long short-term memory)2 种混合深度学习模型检测APT 攻击各阶段,但无法检测完整APT 攻击序列。刘海波等[9]提出一种基于生成式对抗网络-长短期记忆(GAN-LSTM,generative adversarial network-long short term memory)模型的APT 攻击检测方法,通过生成式对抗网络(GAN,generative adversarial network)生成攻击样本并利用长短期记忆(LSTM,long short-term memory)网络检测APT攻击。但是该方法对攻击时间较长的APT 攻击序列检测效果不佳且未对潜在APT 攻击进行检测。其中,潜在APT 攻击是指未包含完整攻击周期的APT攻击序列。董济源[10]提出一种基于GAN 的APT 攻击序列生成与检测方法,将LSTM 作为生成器和判别器用于扩展APT 数据集和检测APT 攻击。但是该方法对长时间攻击检测精度较低且缺乏对潜在APT 攻击的检测。Johnson 等[11]提出一种用于文本分类的深度金字塔卷积神经网络(DPCNN,deep pyramid convolutional neural network),可以有效感知长距离关联,提高多类别分类检测精度。Akbar等[12]将APT 攻击序列转换为图节点并利用集成卷积(Setconv,set convolution)模型解决类不平衡问题,采用机器学习方法进行APT 攻击检测。但该方法直接使用基准数据集,未解决样本流量特征单一问题。Lai 等[13]提出一种基于文本的循环卷积神经网络(TextRCNN,text recurrent convolutional neural network),通过捕获上下文信息提高长序列检测精度。
随着APT 攻击步骤增加和持续时间增长,攻击流量特征逐渐多样,已有研究方法采用的样本较少且特征单一,未体现APT 攻击多阶段流量特征。同时,由于APT 攻击的阶段性和持续性,在检测持续时间较长的攻击序列时,检测模型难以感知时间跨度较大的流量特征之间的关联性,导致检测效果不佳。此外,绝大多数的检测方法仅考虑完整攻击周期内的历史APT 攻击序列检测,缺乏对多类潜在APT 攻击的检测和预警手段。
针对上述不足,本文提出一种基于样本特征强化的APT 攻击多阶段检测方法。通过增强检测模型对不同攻击阶段的感知能力,有效提高APT 攻击多阶段检测精度。本文主要工作如下。
1) 根据APT 攻击特点,将包含不同网络攻击的恶意流量划分为不同攻击阶段,提取各阶段流量特征并根据阶段顺序分别构造多类APT 攻击序列。
2) 利用序列生成式对抗网络(seqGAN,sequence generative adversarial network)模拟生成多类APT 攻击序列。为了实现样本特征强化,利用seqGAN 生成样本,扩充不同类型APT 攻击序列特征数量,提高特征多样性及检测模型的泛化能力。
3) 提出一种多阶段检测网络(MSDN,multi-stage detection network)模型,分析当前序列特征并检测多类APT 攻击。在MSDN 中,采用多阶段感知注意力机制,增强检测模型对不同攻击阶段的感知能力,提高APT 攻击多阶段检测精度。为解决持续时间较长、序列检测效果不佳的问题,采用多头注意力(MHA,multi-head attention)机制感知时间跨度较大的流量特征之间的关联性。
1 APT 攻击多阶段检测方法
APT 攻击一般分为5 个阶段,各阶段间存在关联性,即后一阶段的攻击基于前一阶段的攻击效果[14]。第一阶段为侦察,攻击者通常会长时间反复分析侦测攻击目标,该阶段流量数据量较多,会出现大量发送至相同IP 地址的流量。第二阶段为建立立足点,攻击者通过诸如暴力破解、钓鱼软件和零日漏洞等多种攻击技术手段突破系统防御,进入目标计算机或网络并建立立足点。由于APT 流量需要规避防御系统,该阶段使用的目标端口多为固定常用端口,而正常流量多使用动态端口。第三阶段为横向移动,攻击者通过获取管理权限提取关键信息,渗透其他机器,最终获得特定域内权限[15]。该阶段攻击流量持续时间较长,但流量数据量较少。第四阶段为窃取信息或破坏系统,攻击者窃取目标系统重要信息或破坏目标系统。攻击者可能会将数据发送到具有不同IP 地址的服务器,其流量数据量较少。第五阶段为继续攻击或清除攻击痕迹,攻击者将继续攻击目标系统或者销毁攻击痕迹。
从DAPT2020 数据集中获取的不同阶段部分流量特征如表1 所示,各阶段选取3 条流量进行对比。由表1 可知,侦察阶段发送流量数据量较多,发送和接收流量数据包数量较多;建立立足点阶段使用的目标端口号为固定常用端口;横向移动阶段传输时间相对其他阶段较长;攻击阶段流量数据量较少,该阶段发送和接收流量数据包数量和发送流量数据量较少。由于APT 攻击各阶段流量特征不同,通过选取不同阶段流量特征生成多类APT 攻击序列,可以体现APT 攻击已完成的多阶段特性。
表1 不同阶段部分流量特征
本文提出的基于样本特征强化的APT 攻击多阶段检测方法架构如图1 所示。该方法架构由样本预处理、样本特征强化和APT 攻击检测3 个部分组成。每部分完成的主要工作介绍如下。
图1 基于样本特征强化的APT 攻击多阶段检测方法架构
1) 样本预处理。根据APT 攻击各阶段特征,经过特征提取将原始样本重构为攻击阶段样本,根据APT 攻击阶段顺序构建APT 攻击序列。创建攻击序列到标识序列(attack2id,attack to identification)映射表,将APT 攻击序列映射为APT 攻击标识序列,并生成正常流量标识序列。
2) 样本特征强化。利用seqGAN 生成器对高斯随机噪声进行随机采样并生成APT 标识序列,经过seqGAN 判别器辨别模拟生成样本与原始样本,利用重构误差使生成器生成更符合原始样本概率分布的APT 标识序列。通过生成器和判别器的动态博弈使模型达到纳什均衡,得到基于样本特征强化的APT 攻击标识序列样本。
3) APT 攻击检测。将基于样本特征强化的APT攻击标识序列样本和正常流量标识序列输入MSDN,经过多阶段特征提取和多阶段感知注意力机制构建,将计算得到的各APT 攻击标识序列对应的阶段特征向量作为辅助信息检测当前潜在和历史APT 攻击,分别记为APT1、APT2、APT3、APT4和APT5,并将正常流量标识序列记为NAPT。
2 样本预处理
在实际流量中,由于APT 攻击不同阶段的流量特征不同,将对应的特征流量进行顺序重构和标识序列映射,得到最终的APT 攻击标识序列。
2.1 APT 攻击各阶段流量样本重构
根据APT 攻击的各阶段特点,将各类攻击标签分为5 个阶段,再对各阶段流量及正常流量进行数据清洗和特征选择。为更准确地描述APT 各阶段特征之间的相关程度,本文采用皮尔逊相关系数进行相关性分析,通过计算2 个变量之间的协方差和标准差的商来衡量向量间的相似度。其中,当皮尔逊相关系数绝对值大于0.8 时,为高度相关;当该值为0.5~0.8 时,为显著相关;当该值为0.3~0.5 时,为低度相关;当该值小于0.3时,不存在相关性。
数据清洗过程中删除仅包含单一值和空值特征,避免此类异常值对特征选择造成不良影响。特征选择过程首先对流量特征进行分析,得到流量中关键特征指标,如目标端口号、传输时间、总发送包数和总接收包数等。由于关键特征指标在后续分析中易对其余特征分析造成影响,仅考虑除关键特征指标外的其他流量特征进行特征选择。通过计算各阶段流量特征间的皮尔逊相关系数,对于相关性系数大于0.8 的两类特征,仅保留一类特征,再对保留的类别特征和关键特征编码,得到各阶段流量和正常流量样本。
对DAPT2020 数据集样本进行流量样本重构,各阶段流量特征维度变化如表2 所示。经过数据清洗和特征选择,对各阶段的流量特征和正常流量特征进行降维,有效减少冗余特征的噪声干扰。
表2 流量特征维度变化
2.2 APT 攻击序列构建
在APT 攻击各阶段随机选取一条流量样本并按照攻击阶段顺序进行拼接,得到符合APT 特征的攻击序列。同时,考虑到在实际网络环境中,攻击者会在每次攻击中穿插一系列非攻击性的操作,从而绕过检测及防御系统[16]。因此,在上述得到的攻击序列中,随机插入不同数量和类型的正常流量样本,得到APT 攻击序列。
DAPT2020 数据集构建的5 类APT 攻击序列如表3 所示,其中APT5中部分流量特征类型对应攻击阶段特征如表4 所示。侦察阶段与其他攻击阶段相比,发送流量数据包数量较多;建立立足点阶段目标端口流量特征为固定端口号9003;横向移动阶段流量传输时间较长;攻击阶段数据包数量较少。综上,选取的攻击特征与各攻击阶段具有唯一对应关系。
表3 5 类APT 攻击序列
表4 APT5 中部分流量特征类型对应攻击阶段特征
APT 攻击序列构建过程如图2 所示,其中S1、S2、S3、S4、S5和SN分别表示阶段1~阶段5 的流量样本及正常流量样本。
图2 APT 攻击序列构建过程
2.3 APT 攻击标识序列构建
由于样本特征强化过程和APT 攻击检测过程中将APT 攻击序列作为模型的输入,需要对序列中元素进行编码。为提高模型训练效率,本文通过构建attack2id 映射表,将APT 攻击序列映射为APT攻击标识序列。
首先,统计APT 攻击序列中出现的离散型编码特征。其次,对编码特征进行赋值。最后,利用字典对attack2id 映射表进行存储。通过attack2id 映射表,将所生成的APT 攻击序列映射为APT 攻击标识序列,得到最终的APT 攻击数据。根据APT 攻击标识序列类型生成对应的标签,其中仅包含阶段1 的APT攻击标识序列标记为1,包含前2个阶段的APT攻击标识序列标记为2,以此类推,给5 类APT 攻击标识序列分别标记对应标签。APT 攻击标识序列构建算法如算法1 所示。
算法1APT 攻击标识序列构建算法
输入APT 攻击序列seq
输出攻击序列到标识序列映射表attack2id,APT 攻击标识序列APT_seq
2.4 正常流量标识序列构建
MSDN 不仅要对处于不同阶段的APT 攻击进行检测,还要检测出序列是否为APT 攻击。因此,需根据正常流量样本生成正常流量标识序列。
为避免序列长度不一致影响检测精度,分别生成与不同阶段的APT 攻击序列长度相同的正常序列,根据正常流量序列中的离散型编码特征更新attack2id 映射表,映射生成对应标识序列。根据生成的正常流量序列生成对应标签,标记为0。正常流量标识序列构建过程如图3 所示。
图3 正常流量标识序列构建过程
3 样本特征强化
3.1 基于无监督的样本特征强化
由于APT 攻击持续时间长、隐蔽性高,在APT攻击检测领域可用于评估的数据集较少。当前研究多使用网络异常流量数据集,其中包含的各阶段攻击序列样本不足,流量特征的多样性较低,进而导致多阶段检测模型训练出现过拟合,检测效果不佳。APT 攻击样本特征强化旨在采用无监督方式,模拟生成APT 攻击标识序列并增加各阶段样本特征数量,从而提高多阶段样本特征的多样性和检测模型的泛化能力,防止出现过拟合。
GAN 是当前深度学习领域最具发展前景的一类无监督深度生成模型,由生成器和判别器构成。生成器需要尽可能生成更接近真实样本的模拟样本,判别器需要尽可能区分真实样本和模拟样本。GAN 在达到纳什均衡时全局最优,即生成器生成样本与真实样本高度相似,判别器无法区分模拟样本与真实样本。
GAN 判别器一般采用JS 散度(JSD,Jensen-Shannon divergence)衡量真实样本与生成样本之间的差异,JS 散度计算过程为
其中,P表示真实样本,Q表示生成样本,P(x)和Q(x)分别表示真实样本P和生成样本Q的概率分布。JSD 计算2 个概率分布信息熵的差值并转换为对称值,从而度量真实样本和生成样本概率分布的相似度,即P(x)和Q(x)相似度越高,KL(P||Q)越小,JSD(P||Q)越小,样本P和Q差异性越小。
生成器产生的样本为映射到高维空间的低维流型,只有其分布与真实样本存在重叠时,JSD 才能作为训练过程中的评判标准。由于APT 攻击样本为离散值,生成样本与原始样本的分布互不重叠,其JSD 恒为ln2,因此,在重构误差过程中无法将离散输出梯度反向传播到生成器中,生成的APT攻击序列无法得到对应的标识序列。为解决传统GAN 生成器无法输出离散值的问题,本文通过引入强化学习中的奖励策略[17],将序列生成问题转化为序列决策问题,将判别器的损失作为奖励值回传生成器并更新生成器参数。
3.2 样本特征强化模型结构设计
本文使用seqGAN模型分别生成多类APT攻击标识序列,基于seqGAN 的APT 攻击样本特征强化模型结构如图4 所示,其目标函数为
图4 基于seqGAN 的APT 攻击样本特征强化模型结构
其中,D(x)表示判别器判断原始样本x为原始APT攻击标识序列样本的概率,P(x)表示原始样本x的概率分布,D(G(z))表示判别器判断生成样本z为生成APT 攻击标识序列样本的概率,Q(z)表示生成样本z的概率分布。
根据最大似然原理,在似然函数已知的前提下对高斯随机噪声进行随机采样并将其作为seqGAN生成器的输入z。生成器采用门限循环单元(GRU,gated recurrent unit)生成模拟APT 攻击标识序列a,将卷积神经网络(CNN,convolutional neural network)作为seqGAN 判别器,判断生成序列与原始样本x的相似性。通过梯度策略将判别器损失反馈生成器更新生成器参数,将各个APT 攻击标识序列作为一个整体进行奖励值回传,即每条序列仅使用单一奖励,进而加快模型收敛。经过若干次迭代后使模拟生成的APT 攻击标识序列服从真实攻击序列分布的似然最大。最后,对多类APT 攻击标识序列分别进行样本特征强化,得到经过样本特征强化的APT 攻击标识序列。
4 APT 攻击检测
4.1 检测模型架构设计
MSDN 由多阶段特征提取、多阶段感知注意力机制构建和APT 攻击多阶段检测3 个部分构成,如图5 所示。通过引入多阶段感知注意力机制,对提取的多阶段特征与标识序列样本进行注意力计算,增强MSDN 对APT 攻击不同阶段的感知能力,然后分析当前标识序列特征及其关联性并检测APT攻击序列。
图5 APT 攻击检测模型MSDN 架构
4.2 多阶段特征提取
由于APT 攻击具有阶段性特点,故利用CNN作为多阶段特征提取网络,分别对APT 攻击中的不同阶段进行特征提取,增强MSDN 对APT 攻击不同阶段的感知能力,从而提高APT 攻击标识序列检测精度。多阶段特征提取过程如图6 所示。多阶段特征提取具体方法设计如下。
图6 多阶段特征提取过程
1) 流量嵌入矩阵构建。对APT 攻击多阶段流量特征进行向量映射,将不同攻击阶段的流量特征转化为流量嵌入矩阵E,该矩阵长度与攻击阶段中最长的流量特征序列长度T相同,对长度不足的流量特征则采取填充操作。
2) 特征提取。对流量嵌入矩阵进行卷积运算并提取特征,该卷积层包含m个神经元,每个神经元对应的卷积核K用于对流量嵌入矩阵进行卷积操作,从而将APT 流量序列邻域内的特征点聚合得到新的特征。第i个神经元输出的特征为
其中,ET表示序列长度为T的流量嵌入矩阵,*表示卷积核的内积运算,bi表示偏置项,ReLU 表示非线性激活函数。
按照卷积滑动窗口大小,每隔t步长执行一次卷积运算,得到第i个神经元输出的特征向量。为避免由卷积层参数误差造成的估计偏差,使用最大池化层提取特征向量中关键的特征。
3) 多阶段特征表示生成。将卷积层中m个神经元的输出结果进行线性拼接,得到多阶段特征表示MSF
其中,[;]表示向量拼接操作,msfi表示第i个APT攻击阶段对应的特征向量,为前i个神经元输出的特征向量的最大值。MSF 为APT 攻击多阶段特征表示,由APT 攻击的各个阶段对应的特征向量msfi拼接得到,用于后续多阶段感知注意力机制构建。
4.3 多阶段感知注意力机制构建
由于APT 攻击具有阶段性特征,为了提高MSDN 对攻击各个阶段特征的感知能力,本文提出一种多阶段感知注意力机制。通过对每条标识序列进行注意力计算,得到其与多阶段特征的相关度。再将相关度作为补充知识与标识序列一同作为检测模型的输入,提升模型对多阶段特征的感知程度,进而提高APT 攻击多阶段检测的准确率。MSDN 通过对每条标识序列进行注意力计算,实现对各阶段流量特征的关注。
首先,对MSF 与APT 攻击标识序列APT_seq={a1,a2,a3,…,an}进行点积计算,得到贡献度得分eij。其次,将贡献度得分转换为注意力系数αij,根据注意力系数对APT 多阶段特征进行加权求和计算,得到多阶段感知注意力si。最后,将多阶段感知注意力生成的阶段特征向量与APT 攻击标识序列进行拼接。具体计算方法为
其中,atten(·)表示注意力点积计算,θi表示APT 攻击多阶段检测阶段的第i个输入。
4.4 多阶段检测
多阶段检测阶段将根据4.2 节和4.3 节的处理步骤得到的标识序列θ作为输入,通过构建Transformer 模型编码器结构、计算多头注意力和构建全连接层进行APT 攻击多阶段检测。
首先,构建Transformer 模型编码器结构,由于Transformer 模型不能捕捉时序信息,处理具有时序特征的APT 标识序列前,需进行位置编码。
其次,MSDN 利用自注意力机制[18],寻找APT攻击标识序列内部不同位置之间的联系。MSDN 由2 个编码层堆叠,各编码层由自注意力层和前馈神经网络2 个子层构成,各个子层之间采用残差连接和求和与归一化处理,避免训练过程中出现梯度消失,从而加速训练。
自注意力层采用多头注意力机制,在不同位置共同关注源自不同表示子空间的信息,感知APT每个阶段内的特征和不同阶段间关联性。考虑到APT 攻击标识序列包括5 个攻击阶段,将h设置为5,多头注意力计算式为
其中,Q、K、V分别表示经过4.3 节计算得到的阶段特征序列所对应的查询向量、键向量和值向量,dk表示键向量维度,分别表示对应变换矩阵,softmax(·)表示归一化指数函数,WO表示权重矩阵。
最后,构建全连接层,对经过编码层处理的标识序列进行检测,得到当前输入的标识序列类型实现多阶段检测。
5 实验与分析
5.1 实验环境及样本
实验的计算机配置为:Intel(R) Xeon(R) Silver 处理器,32 GB 主存,16 GB 内存,NVIDIA Quadro RTX5000 显卡(16 GB 显存)。训练和测试实验均在Ubuntu 操作系统上进行,使用编程语言Python3.8 和深度学习框架Pytorch1.8 实现本文检测方法。
实验中采用的检测样本为CICIDS2017 数据集[19]和DAPT2020 数据集[20]。CICIDS2017 数据集由加拿大网络安全研究所创建,将正常通信和部分常见攻击分别标记为正常流量和 15 类攻击流量。DAPT2020网络流量数据集是用于APT攻击检测的最新公开数据集,将在模拟环境中收集的网络流量分别标记为正常流量或APT 攻击各阶段流量。
5.2 评价指标
在实验中,分别采用准确率(Accuracy)、F1分数(F1-score)和宏平均(Macro_avg)3 个指标评价检测方法和模型的检测性能。准确率是指所有样例中检测结果正确的比例。F1 分数综合考虑精确率和召回率,其中精确率是指正确检测为正例样本与所有检测为正例样本的比例,召回率是指正确检测为正例样本与所有正例样本的比例。宏平均综合考虑不同类别分类结果,计算多个类别F1 分数的算数平均值。3 个指标评价分别表示为
其中,TP(true positive)为正例样本检测为正例样本的样例数,FP(false positive)为攻击样本检测为正例样本的样例数,FN(false negative)为正例样本检测为攻击样本的样例数,ALL 为所有样例数。
5.3 结果与分析
将多类 APT 攻击标识序列分别输入基于seqGAN 的APT 攻击样本特征强化模型,再与正常流量标识序列进行洗牌操作得到最终的标识序列样本。本文标识序列样本共分为3 个部分,其中60%为训练集,20%为验证集,20%为测试集。本文的实验包括APT 攻击二分类对比实验、APT 攻击多阶段检测对比实验和攻击序列不同占比检测对比实验。
在二分类对比实验中,分别采用文献[8-13]检测模型和本文方法中的MSDN 在DAPT2020 数据集上进行二分类检测实验,使用准确率和F1 分数评估APT 攻击检测效果,不同模型对APT 攻击的检测结果如表6 所示。
表6 不同模型对APT 攻击的检测结果
由表6 可知,MSDN 采用多头注意力机制感知时间跨度较大的流量特征之间的关联性,并采用多阶段感知注意力机制,增强检测模型对APT 攻击感知能力。与对比模型相比,MSDN 具有较好的攻击检测效果。
由于MSDN 将APT 攻击标识序列作为检测模型输入,采用文本分类经典模型和APT 攻击序列检测模型作为对比模型进行实验分析,可以证明本文方法在APT 攻击多阶段检测效果良好。在多阶段检测对比实验中,分别将 MSDN 与GAN-LSTM[9]、DPCNN[11]和TextRCNN[13]模型作为APT 攻击多阶段检测模型,在2 个数据集上的多阶段F1 分数检测结果分别如表7 和表8 所示,宏平均结果对比如图7 所示。
表7 CICIDS2017 数据集多阶段F1 分数检测结果
表8 DAPT2020 数据集多阶段F1 分数检测结果
图7 4 种模型的宏平均结果对比
由表7、表8 和图7 可知,MSDN 具有较好的APT 攻击多阶段检测效果,其宏平均高于其他3 种模型。在对APT 攻击多阶段检测中,GAN-LSTM在检测较长攻击序列时会出现参数训练较慢及梯度消失现象,导致检测精度降低。DPCNN 通过提取间隔距离较远的APT 特征之间关联性,对较长攻击序列检测精度较高,但由于其未考虑APT 攻击序列特性,在正常流量检测时效果不佳。TextRCNN 利用循环网络结构提取远距离特征,但该模型在分析序列特征时对各流量特征进行单独分析,对较长攻击序列检测效果不佳。MSDN能够充分感知各阶段特征及其关联性,经过相同样本特征强化后,对APT 攻击多阶段检测具有较好效果。随着APT 攻击持续时间增长,流量特征逐渐多样,正常流量的随机嵌入会引入一定噪声,导致检测模型对时间跨度较大的流量特征之间关联性的感知能力出现一定程度的下降,进而导致对长持续时间的攻击序列检测精度降低。MSDN引入多阶段感知注意力机制,相较对比模型,在长序列检测中具有较好的检测效果。
由于APT 攻击具有隐蔽性和长期性等特点,APT 攻击流量在真实网络流量中的比重较低,需要从网络流量中检测出不同占比的APT 攻击序列。因此,采用本文方法对2 个数据集中不同占比的攻击序列进行检测,实验结果如图8 和图9所示。
图8 CICIDS2017 数据集中不同占比的攻击序列的检测结果
图9 DAPT2020 数据集中不同占比的攻击序列的检测结果
由图8 和图9 可知,在较低的攻击序列占比中,本文方法仍具有较高检测精度。在CICIDS2017 数据集中,当攻击序列占比为10%时,APT1检测F1分数达到96.17%。随着攻击序列在样本中占比的提高,APT 攻击多阶段检测精度逐渐提高。由于攻击序列在标识序列样本中占比越高,经样本特征强化,APT 攻击检测过程中感知的攻击特征增加,对攻击的检测精度逐渐提升。实验结果证明,在不同真实网络流量占比情况下,本文方法对多类APT攻击标识序列具有较好的检测效果。
6 结束语
为提高APT 攻击多阶段检测精度,本文提出一种基于样本特征强化的APT 攻击多阶段检测方法。通过重构APT 攻击多阶段流量构建APT 攻击标识序列,基于seqGAN 生成更符合真实网络流量的APT攻击标识序列并对原始序列样本进行样本特征强化。通过提出的MSDN 模型进行APT 攻击多阶段检测,构建多阶段感知注意力机制来增强模型对不同攻击阶段的感知能力。实验结果表明,本文方法在增强攻击阶段流量特征多样性的同时能够提高APT 攻击多阶段检测精度,对多类APT 攻击序列的检测性能较突出。
在未来研究中,笔者将从多角度分析APT 攻击检测的关联影响因素,考虑在提取各个阶段流量特征时进一步优化特征选择方法,从而进一步提高对长持续时间APT 攻击的检测性能。