基于自监督图重构的网络入侵检测方法
本发明属于网络安全与入侵检测,特别是涉及一种基于自监督图重构的网络入侵检测方法。本发明面向 netflow 网络流量数据,以通信流为边级检测对象,通过弱门控边特征增强、graphsage 边级表示学习、transformer 自编码重构和对比学习约束,实现对异常网络流量的自监督检测。
背景技术:
1、网络入侵是影响计算机系统、云平台、物联网和边缘网络安全运行的重要因素。随着网络通信规模不断扩大,网络攻击呈现出复杂化、隐蔽化和动态演化的特点,攻击行为可能表现为端口扫描、暴力破解、拒绝服务攻击以及未知攻击变种等形式。网络入侵检测能够通过分析网络流量及时发现异常通信行为,对于保障网络系统稳定运行和降低安全风险具有重要意义。
2、近年来,已有一些基于机器学习和深度学习的网络入侵检测技术研究和应用。例如,传统机器学习方法主要利用支持向量机、随机森林、聚类算法等对流量统计特征进行分类或异常判断;深度学习方法则利用多层感知机、卷积神经网络、循环神经网络、自编码器和 transformer 等模型自动提取网络流量特征。现有的上述方法在一定程度上提高了入侵检测的识别能力,但仍存在明显局限:一方面,大量监督式方法依赖带标签攻击样本,而真实网络环境中攻击样本获取困难、人工标注成本较高;另一方面,攻击类型和攻击策略不断变化,模型在面对未知攻击或攻击变种时容易出现泛化能力不足的问题。
3、netflow 网络流量记录通常包含源 ip、目的 ip、协议、端口、持续时间、包数、字节数等统计信息。现有多数检测方法通常将每条流量视为相互独立的表格样本进行处理,主要关注单条流量自身的统计特征,而忽略源主机、目的主机以及主机之间的通信关系。实际上,很多攻击行为并不一定表现为单条流量的明显异常,而可能隐藏在主机连接关系、访问频率、通信方向以及局部邻域模式之中。例如,端口扫描可能表现为同一源主机连接大量目的主机,拒绝服务攻击可能表现为大量主机集中访问同一目标。因此,仅依赖单条流量特征难以充分刻画攻击行为的结构性特征。
4、与本发明最相近的现有技术中,图神经网络和自编码器方法已被用于网络入侵检测。图神经网络能够将网络主机表示为节点,将通信流表示为边,通过邻域聚合学习主机之间的拓扑关系;自编码器能够通过学习正常流量的重构规律,以重构误差作为异常分数进行检测。然而,现有方法仍存在不足:部分图神经网络方法仅生成节点或边嵌入,再交由独立检测器进行判断,表示学习过程与异常检测目标结合不够紧密;普通自编码器或transformer 方法如果直接作用于原始表格特征,又难以充分利用网络通信图中的拓扑信息。
5、此外,现有技术对 netflow 边特征中的噪声和流量扰动考虑不足。网络流量在采集和聚合过程中可能受到网络波动、采集误差、冗余特征和轻微噪声的影响。如果直接使用原始边特征,模型可能难以充分提取有效判别信息;如果采用过强的非线性变换,又可能破坏原始流量统计语义,导致正常流量被误判为异常。因此,如何在保留原始流量语义的基础上增强边特征表达能力,并同时利用主机通信拓扑关系和全局上下文信息,提高模型对未知攻击和噪声扰动的鲁棒性,是现有网络入侵检测技术中亟需解决的问题。
技术实现思路
1、针对现有网络入侵检测方法过度依赖带标签攻击样本、攻击样本获取困难、人工标注成本较高,且难以适应未知攻击和攻击变种的问题,本发明提供一种基于自监督图重构的网络入侵检测方法,该方法主要利用正常流量学习正常网络通信模式,通过重构误差识别偏离正常模式的异常流量,从而降低对大量带标签攻击样本的依赖,提高了在未知攻击场景下的适用性。
2、本发明还针对现有方法通常将 netflow 记录视为独立表格样本、忽略源主机与目的主机之间通信方向、连接关系和邻域结构的技术问题,将网络主机、通信流和边特征统一表示为有向通信图;同时,针对普通自编码器难以利用图拓扑信息、部分图神经网络方法与异常检测目标结合不紧密,以及 netflow 边特征中存在噪声、冗余和轻微业务波动的技术问题,将弱门控边特征增强、graphsage 边级表示学习、transformer 自编码重构和对比学习约束融合到同一自监督图重构框架中,使本发明能够同时学习局部通信拓扑、全局上下文关系和稳定的边级流量表示,提高对结构性攻击、未知攻击和噪声扰动流量的检测能力。
3、本发明采取如下技术方案:
4、基于自监督图重构的网络入侵检测方法,具体步骤如下:
5、步骤 s1:采集netflow 数据并进行预处理,构建有向通信图;
6、步骤 s2:采用弱门控对netflow边特征进行增强;
7、步骤 s3:利用graphsage 边级表示学习对有向通信图进行局部拓扑建模;
8、步骤 s4:采用transformer 自编码重构器,建模边级嵌入序列之间的全局上下文依赖;
9、步骤 s5:采用对比学习约束对原始视图边级嵌入与扰动视图边级嵌入进行一致性训练,得到具有扰动鲁棒性的边级嵌入表示,基于该边级嵌入与原始边级嵌入,得到通信流的重构误差;
10、步骤 s6:根据重构误差与预设阈值的大小比较对通信流进行异常判定,得到异常判定结果。
11、优选的,步骤s1,采集网络环境中的 netflow 流量数据,对数据进行预处理。
12、优选的,每条 netflow 流量数据包括源 ip、目的 ip、协议类型、源端口、目的端口、持续时间、包数、字节数、tcp 标志字段;源 ip 和目的 ip 用于确定通信端点和通信方向,其它字段用于构成通信流的边特征。
13、优选的,预处理包括缺失值处理、无穷值处理、异常格式处理、离散字段数值化、连续字段归一化以及无关字段删除。
14、优选的,完成预处理后,将每一个唯一的主机 ip 映射为图中的一个节点,将每一条从源 ip 指向目的 ip 的 netflow 记录表示为一条有向边,并将该记录的流量统计字段作为该有向边的边特征;对于第条由源主机指向目的主机的通信流,对应的有向边表示为:
15、
16、其中, 表示第 条通信流对应的有向边,表示该通信流的源主机节点,表示该通信流的目的主机节点,表示该通信流对应的边特征向量,边特征向量包括协议类型、端口号、持续时间、包数、字节数、tcp 标志;由全部主机节点、通信流边以及通信流边特征构成有向通信图,表示为:
17、
18、其中,表示主机节点集合,每一个唯一的源ip或目的ip 映射为一个主机节点;表示有向通信流边集合;表示所有通信流边特征构成的边特征矩阵;若共有条通信流,则边特征矩阵表示为:
19、
20、其中,表示通信流数量,表示边特征维度,矩阵中的每一行对应一条通信流边的统计特征。
21、优选的,步骤2具体如下:对原始边特征设置候选增强分支和门控控制分支;对于原始边特征 ,候选增强分支通过多层感知机提取非线性增强信息:
22、
23、其中, 表示候选增强特征;
24、门控控制分支通过 sigmoid 函数生成增强权重:
25、
26、其中, 表示增强权重, 和 表示门控控制分支中的可学习参数, 表示 sigmoid 激活函数,sigmoid 函数的表达式为:
27、
28、其中, 表示 sigmoid 函数的输入变量,对应门控控制分支的线性变换结果;当为向量时,sigmoid 函数对向量中的每一个元素分别进行计算,并将其映射到0到 1 的范围内,从而得到各维特征对应的增强权重;
29、最终,采用残差方式将原始边特征与候选增强特征进行融合,得到增强后的边特征:
30、
31、其中,表示增强后的边特征, 表示层归一化操作, 表示残差缩放系数, 表示逐元素乘法。
32、优选的,步骤s3具体如下:对于图中的任一节点 ,首先确定与该节点相关的通信流边集合:
33、
34、其中, 表示与节点 相关的通信流边集合; 表示第 条通信流边,表示图中的全部通信流边集合, 表示第 条通信流的源主机节点, 表示第 条通信流的目的主机节点; 表示集合 中包含的通信流边数量,计算方式为:
35、
36、其中, 表示指示函数;当括号中的条件成立时, 的取值为 ;当括号中的条件不成立时,取值为 ; 表示所有与节点 相连的通信流边数量;对节点 邻域中的增强边特征进行均值聚合:
37、
38、其中,表示节点的邻域聚合表示,表示与节点相连的通信流边集合,表示第条通信流经过弱门控边特征增强层后得到的增强边特征;通过线性变换和非线性激活函数得到节点隐含表示:
39、
40、其中,hv表示节点v的隐藏状态,mv表示节点v的邻域聚合表示,wm和bm表示节点状态更新过程 中的可学习参数,relu(·) 表示线性整流激活函数。relu 函数的表达式为:
41、
42、当输入为向量时, 对向量中的每一个元素进行上述运算;
43、对于一条由源节点指向目的节点的通信流边,将源节点隐藏表示和目的节点隐藏表示进行拼接,并通过线性映射生成边级嵌入:
44、
45、其中,表示通信流边的边级嵌入,表示源节点隐藏表示与目的节点隐藏表示的拼 接, 和 表示边嵌入映射参数。
46、优选的,步骤s4具体如下: 设一批通信流经过 graphsage 边级表示学习后得到边级嵌入序列:
47、
48、其中, 表示由一批通信流边级嵌入组成的输入序列, 表示第 条通信流对应的边级嵌入, 表示该批通信流序列长度; 首先,通过输入投影层将边级嵌入序列映射到 transformer 模型维度:
49、
50、其中, 表示输入 transformer 编码器之前的初始隐藏表示; 表示graphsage 边表示学习后输出的边级嵌入序列; 表示输入投影层的权重矩阵,用于将边级嵌入映射到 transformer 模型维度; 表示输入投影层的偏置项; transformer 编码器通过多头自注意力机制学习不同通信流嵌入之间的全局依赖关系;对于输入隐藏表示,分别通过线性映射得到查询矩阵、键矩阵和值矩阵:
51、
52、其中, 表示查询矩阵, 表示键矩阵, 表示值矩阵,、、 分别表示对应的可学习映射参数,注意力计算公式为:
53、
54、其中, 表示键向量维度, 用于对注意力得分进行缩放; 函数用于将注意力得分归一化为权重分布;对于向量 ,第 个元素对应的 计算方式为:
55、
56、其中,表示自然常数,表示注意力得分向量中第个位置的得分,表示第个位置的得分,和分别表示对相应得分进行指数变换后的结果,表示注意力得分向量的长度,为求和索引;
57、transformer 解码器根据编码器输出的上下文表示对原始边级嵌入进行重构,得到重构后的边级嵌入序列。
58、优选的,步骤s5具体如下:对原始边特征添加轻量级高斯噪声,得到扰动视图:
59、
60、其中,表示原始边特征,表示加入轻量级噪声后得到的扰动边特征,表示高斯噪声,表示高斯分布,表示均值为 0、方差为的高斯分布,表示噪声标准差;当为向量形式时,表示对边特征各维度施加的轻量级随机扰动,用于构造同一通信流的扰动视图;
61、transformer 自编码重构输出重构边级嵌入后,计算原始边级嵌入与重构边级嵌入之间的差异,并将其作为通信流异常分数;对于第 条通信流,重构误差为:
62、
63、其中, 表示第 条通信流的异常分数; 表示第 条通信流经过graphsage 边表示学习层后得到的原始边级嵌入; 表示该边级嵌入经过 transformer自编码重构层后得到的重构边级嵌入; 表示二范数平方;重构损失为:
64、
65、其中, 表示重构损失; 表示当前训练批次或输入序列中参与损失计算的通信流边数量; 表示第 条通信流边; 表示第 条通信流边的原始边级嵌入; 表示第 条通信流边的重构边级嵌入;综合重构损失和对比学习损失,训练目标为:
66、
67、其中, 表示模型训练过程中的总损失函数; 表示边级嵌入重构损失;表示对比学习损失; 表示对比学习损失权重。
68、优选的,步骤s6具体如下:根据预设阈值 对通信流进行异常判定:
69、
70、其中, 表示第 条通信流的异常判定结果; 表示通信流为异常流量; 表示通信流为正常流量; 表示异常判定阈值。
71、与现有技术相比,本发明所取得的技术效果如下:
72、通过 netflow 数据预处理与有向通信图构建,本发明能够将原始网络流量记录转换为包含主机节点、通信流边和边特征的图结构输入,使源主机、目的主机、通信方向以及流量统计字段得到统一表达,为后续图结构建模提供基础。在此基础上,通过弱门控边特征增强,对原始边特征进行候选增强、门控控制和残差融合,在不直接替换原始 netflow统计语义的情况下,自适应注入有效增强信息,得到更加稳定且具有表达能力的增强边特征。
73、通过 graphsage 边级表示学习,本发明能够聚合源主机、目的主机及其邻域通信流信息,将单条通信流的表格特征转换为融合局部拓扑上下文的边级嵌入;通过transformer 自编码重构,进一步建模一批边级嵌入之间的全局上下文关系,并根据正常通信模式对边级嵌入进行重构,当通信流偏离正常模式时产生较高重构误差;通过对比学习约束模块和异常判定,本发明能够在训练阶段增强同一通信流在原始视图与扰动视图下表示的一致性,并在检测阶段根据原始边级嵌入与重构边级嵌入之间的差异生成异常分数,实现阈值判定、风险分级和告警输出。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com