CN117749426A - 一种基于图神经网络的异常流量检测方法 - Google Patents
一种基于图神经网络的异常流量检测方法 Download PDFInfo
- Publication number
- CN117749426A CN117749426A CN202311600827.1A CN202311600827A CN117749426A CN 117749426 A CN117749426 A CN 117749426A CN 202311600827 A CN202311600827 A CN 202311600827A CN 117749426 A CN117749426 A CN 117749426A
- Authority
- CN
- China
- Prior art keywords
- graph
- network
- model
- traffic
- incremental
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 41
- 238000001514 detection method Methods 0.000 title claims abstract description 36
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000004458 analytical method Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 9
- 238000013145 classification model Methods 0.000 claims abstract description 4
- 238000004088 simulation Methods 0.000 claims description 25
- 238000003062 neural network model Methods 0.000 claims description 19
- 230000006870 function Effects 0.000 claims description 13
- 230000006399 behavior Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 claims description 10
- 238000009434 installation Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 208000025174 PANDAS Diseases 0.000 claims description 6
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 claims description 6
- 240000004718 Panda Species 0.000 claims description 6
- 235000016496 Panda oleosa Nutrition 0.000 claims description 6
- 230000005856 abnormality Effects 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 6
- 230000007774 longterm Effects 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 230000001537 neural effect Effects 0.000 claims description 6
- 230000008439 repair process Effects 0.000 claims description 6
- 230000003213 activating effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 3
- 230000001010 compromised effect Effects 0.000 claims description 3
- 230000010485 coping Effects 0.000 claims description 3
- 230000008034 disappearance Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 238000009472 formulation Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 210000002569 neuron Anatomy 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于图神经网络的异常流量检测方法,属于异常流量检测技术领域,包括:S1:利用Wireshark捕获传输在物理网络上的数据包;S2:将捕获的网络流量模拟成一系列增量图;S3:利用图神经网络分类模型对增量图进行二分类;S4:根据图分类结果并结合资产知识图谱进行网络空间安全态势感知。本发明示例的异常流量检测方法,通过WireShark工具,对网络中一定时间段内的网络流量进行精确捕获,随后将其导出为CSV格式,利用Pycharm工具及CSV中的列标签,将数据转换为图形结构,并与前一时间段的图进行比较,得到增量图,并对增量图施加图简化技术,在深度分析过程中,融合集成学习策略,搭配图神经网络来对简化后的增量图进行二元分类,判定其为“安全”或“遭受攻击”,确保网络的稳健安全。
Description
技术领域
本发明涉及异常流量检测技术领域,特别是涉及一种基于图神经网络的异常流量检测方法。
背景技术
图神经网络(GNN)是一种处理图数据的深度学习模型,其核心思想是将节点和边表示为向量,并通过多轮消息传递来捕捉节点之间的关系。节点嵌入将节点映射为低维向量以表示其特征,然后节点通过边传递信息,迭代更新节点表示以聚合上下文信息。GNN可以有效地处理不同大小和形状的图,已在多个应用中取得成功,为图数据分析提供了强大工具。
恶意流量是指在计算机网络中传输的恶意或有害数据。这种恶意流量可能包括恶意软件、病毒、蠕虫、勒索软件等,旨在危害计算机***、网络或用户的安全和隐私。恶意流量的特征包括异常的数据包、非法访问尝试、大规模的数据传输等。分析恶意流量可以帮助早期识别潜在的网络入侵和攻击,使安全团队能够迅速采取行动,减轻潜在的损害。
当前,电力行业频繁遭受网络攻击,导致电力***巨大损失。采用基于图神经网络的流量异常检测方法,可以更全面地分析网络流量。该法使用深度学习技术,可以自动学习并适应新型威胁,无需手动更新规则,更加灵活和自适应。此外,图神经网络能够识别不寻常的流量模式,甚至是零日漏洞攻击,从而提高了检测的准确性。
发明内容
为了解决上述现有技术中的不足,本发明的目的是提供一种基于图神经网络的异常流量检测方法,通过WireShark工具,对网络中一定时间段内的网络流量进行精确捕获,随后将其导出为CSV格式,利用Pycharm工具及CSV中的列标签,将数据转换为图形结构,并与前一时间段的图进行比较,进而得到增量图,为了最大化算法的运行效率,对这些增量图施加图简化技术,在深度分析过程中,融合集成学习策略,同时搭配图神经网络(例如GIN和SAGPool模型)来对简化后的增量图进行二元分类,判定其为“安全”或“遭受攻击”,采用这一方法可以实时并高效地检测出各种网络攻击行为,进而确保网络的稳健安全。
本发明解决其技术问题所采用的技术方案为:
提供了一种基于图神经网络的异常流量检测方法,包括以下步骤:
S1:利用Wireshark捕获传输在物理网络上的数据包;
S2:将捕获的网络流量模拟成一系列增量图,其中每个图反映了一段连续时间内的流量变化;
S3:利用图神经网络分类模型对增量图进行二分类,分为遭受攻击和未遭受攻击两类;
S4:根据图分类结果并结合资产知识图谱进行网络空间安全态势感知。
进一步的,步骤S1中,数据包的捕获方法为:
S101:在捕获网络流量之前,安装Wireshark工具进行流量捕获;
S102:启动Wireshark工具,然后选择需要捕获网络流量的网络接口,并开始捕获流量;
S103:将通过Wireshark工具捕获的一段时间内的网络流量保存下来。
进一步的,步骤S103的方法为:
(1)在Wireshark工具的顶部菜单中,选择“文件”;
(2)从下拉菜单中选择“导出分组解析结果”;
(3)在打开的窗口中,选择“As CSV”将捕获的流量保存为CSV格式。
进一步的,步骤S2中,增量图的模拟方法为:
S201:利用Python将保存的CSV格式的流量文件转化为点-边-点图;
S202:对生成的图进行简化处理,减小图的复杂度,提高图神经模型的分类效率
进一步的,步骤S201的方法为:
采用Wireshark工具设定每隔10秒钟对网络流量进行一次捕获,随后将这些流量数据保存为专门的CSV格式的流量文件;
利用Python中的Pandas库,读取和处理CSV格式流量文件,并结合networkx库和matplotlib库,将流量文件转化为点-边-点的图形,生成名为图形t的可视化模型;
对于在第n个时间间隔内捕获的数据,生成一个对应的图,记作tn,然后将图tn与其前一个时间间隔内生成的图tn-1进行比较,得到第n个时间间隔内的图形增量,即增量图Tn。
进一步的,利用Python中的Pandas库、networkx库、matplotlib库将导出的CSV格式的流量文件转化为点-边-点图的方法为:
在CSV文件中选择“Source”列中的IP地址作为每个通信事件的起始点,代表数据包的发送方;将“Destination”列中的IP地址设定为生成图的终点,代表数据包的接收方
进一步的,步骤S202中,对生成的图进行简化处理,减小图的复杂度,提高图神经模型的分类效率,具体包括:
在第n个时间间隔内生成的增量图Tn如下所示:
Tn=(Dn,Bn)
其中,D代表增量图T的节点,Dn代表增量图Tn的节点;节点D分为内部节点和外部节点,其中内部节点代表位于企业内部网络的各种设备和组件,外部节点代表位于公共网络中,且与企业内部网络进行通信交互的各种设备和组件;
B代表图T的边,Bn代表增量图Tn的边;
增量图T中的内部节点De、外部节点Do、节点D和边B如下所示:
D=De∪D0
B={B1,…,B2}
其中,i为增量图T中内部节点的数量,w为增量图T中外部节点的数量,b为增量图T中边的数量;
在增量图Tn中,如果内部节点De通过外部节点Do与其他内部节点De相连,则绕过该外部节点Do,将这两个节点直接连通,删除增量图Tn中的所有外部节点Do,采用这种方法生成增量图Tn的简化图G。
进一步的,步骤S3中,二分类的方法为:
S301:利用eNSP工具构建虚拟测试平台,具体流程如下:
(1)安装eNSP:从eNSP的官方网站获取安装包,并按照安装说明进行安装;
(2)启动eNSP:安装完成后,在终端或图形用户界面中启动eNSP;
(3)创建新拓扑:在eNSP中,创建一个包含内部网络和外部网络的拓扑解耦,打开eNSP的拓扑编辑器,使用拓扑编辑器的图形界面来创建和配置网络设备;
(4)添加设备:向内部网络及外部网络中配置网络设备,从eNSP的设备库中选择所需的设备,并将其拖放到拓扑中;
(5)连接设备:使用拓扑编辑器的工具,连接内部网络设备和外部网络设备,建立虚拟链路,模拟所需的网络拓扑结构;
(6)配置设备:针对内部网络设备和外部网络设备,分别配置参数,对内部网络设备,设置内部IP地址、子网掩码和静态路由信息;对外部网络设备,设置外部IP地址、默认网关和默认路由参数,确保内部网络和外部网络之间可以有效通信;
(7)设置ACL规则:通过路由器的配置界面设置ACL规则,在内部网络的路由器上配置NAT,将内部网络主机的私有IP地址映射到路由器的公共IP地址,确保内部网络中的主机能够访问外部网络资源;
(8)添加应用程序和服务:在内部网络的Web服务器上安装并配置***;
(9)设置仿真参数:在eNSP中,设置仿真所需的参数,包括仿真时间、仿真速度、事件触发条件等;
(10)运行仿真:在确认拓扑设置和设备配置完成后,启动仿真,使用eNSP模拟网络中数据包传输、路由行为和其他网络活动;
(11)监控和分析:在仿真运行期间,使用eNSP提供的监控和分析工具来跟踪网络行为、性能和故障;
S302:利用搭建好的虚拟平台对图神经网络模型进行训练,构建面向恶意流量的图神经网络模型;具体流程如下;
所述图神经网络模型通过GIN模型(整合图同构网络模型)和SAGPool模型(自注意力图池化模型),可以得到包含全局的拓扑信息和局部的、重要的结构信息的图表示;其中GIN模型用于捕捉复杂的图结构信息,区分任何两个不同构的图;SAGPool模型通过引入自注意力机制识别和保留最具代表性的节点,对图进行下采样;
采用图神经网络模型对在一定时间段内未遭受任何攻击而生成的增量图G和受到攻击情况下生成的增量图G进行深入的特征提取,提取出两种图中的不同的结构特征,依据提取出的结构特征利用softmax分类器进行二分类,判断出在一段时间内网络有没有遭受攻击,其方法为:
(1)将图G的邻接矩阵数据输入到GIN模型中,通过GIN模型提取节点的嵌入表示,并捕获图的结构和节点的上下文信息,得到名为GIN_Embedding的图表示;
(2)使用SAGPool模型处理来自GIN模型的输出,通过自注意力机制识别并保留图中最重要的节点,同时执行图的下采样,减少图的规模并保留关键的结构信息,得到名为SAGPool_Subgraph的图表示;
(3)将SAGPool模型的输出SAGPool_Subgraph与GIN模型的输出GIN_Embedding通过全连接层结合,得到一个综合GIN模型和SAGPool模型优势的图表示FullGraph;
(4)对集成的模型***进行训练,优化图分类任务的准确性,将图表示FullGraph输入到softmax分类器中,使用交叉熵损失函数计算损失:
其中,y是真实标签,是预测的概率。
S303:利用训练完成的图神经网络模型执行异常流量的检测工作,当检测到异常流量就认为当前时间段内网络遭受攻击,当没有检测到异常流量就认为当前时间段内网络为遭受攻击出于安全状态。
进一步的,得到图表示FullGraph的方法为:
(1)输入处理:针对GIN_Embedding和SAGPool_Subgraph输出进行平铺,将多维数组转换成一维数组,针对长度较短的一维数组进行填充,确保GIN_Embedding和SAGPool_Subgraph可被全连接层处理;
(2)权重融合:全连接层中的每个神经元都与GIN_Embedding和SAGPool_Subgraph中的所有元素相连接,连接的权重在训练过程中被优化,使模型更好的融合来自两个不同图表示的信息;
(3)激活函数:在全连接层后面加入激活函数ReLU来增加非线性、缓解梯度消失问题,使图神经网络模型能够学习和复制更复杂的数据关系;
(4)输出表示:通过激活函数ReLU得到图G的图表示FullGraph。
进一步的,步骤S4中,网络空间安全态势感知,包括:
(1)异常检测与预警:通过监测网络中的异常流量,及时检测到潜在的网络异常或入侵行为,确定受到攻击或威胁的特定资产,并迅速发出警报,通知网络安全管理员采取适当的措施来减轻潜在风险;
(2)评估受影响范围:通过查询资产知识图谱,确定网络空间中的哪些其他资产可能直接或间接受到威胁;
(3)依据资产知识图谱中的详细信息,明确受攻击资产所属的部门主管或***管理员,并及时告知相关人员加强网络安全防范;
(4)趋势分析与策略制定:通过长期积累的网络攻击事件,进行趋势分析,识别网络安全事件和攻击模式的演变趋势,辅助管理人员制定长期的网络安全策略,以应对未来的潜在威胁;
(5)漏洞识别与修补:通过基于异常网络流量的检测结果,准确识别网络中的漏洞或弱点,辅助网络安全管理员及时修补这些漏洞,提高网络的整体安全性;
(6)警报和决策支持:基于异常网络流量的检测结果,生成安全警报或提供决策支持,帮助网络安全管理人员迅速响应潜在的网络安全问题,并制定应对策略。
与现有技术相比,本发明的有益效果在于:
1、具体更好的泛化能力:GNN对于异常流量检测能力来自于其结构本身,因此具有更好的泛化能力,能够在未出现的的流量数据上获得出色表现;
2、对攻击模式的自适应识别:GNN不仅是靠预定义的特征或规则来工作,它能够通过持续的学习过程来捕获和理解数据中的新模式和关系。因此随着网络攻击的模式和策略的不断变化,GNN能够通过持续学习来适应和识别新的威胁;
3、集成学习结合了多个模型的预测以生成更准确和鲁棒的综合预测:通过汇集不同模型的强点、减少过拟合风险、并补偿各自的误差,增强了对新数据的泛化能力,并提供了一个强大而灵活的机器学习策略,通常超越了单一模型的性能。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明流程示意图;
图2为将捕获的网络流量模拟成一系列增量图的流程示意图;
图3为将增量图进行简化的流程示意图;
图4为采用的基于集成学习的图神经网络模型进行分类的流程示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
如图1所示,本实施例提供了一种基于图神经网络的异常流量检测方法,包括以下步骤:
S1:利用Wireshark捕获传输在物理网络上的数据包;
S2:将捕获的网络流量模拟成一系列增量图,其中每个图反映了一段连续时间内的流量变化;
S3:利用图神经网络分类模型对增量图进行二分类,分为遭受攻击和未遭受攻击两类;
S4:根据图分类结果并结合资产知识图谱进行网络空间安全态势感知。
具体的,如图2所示,步骤S1中,数据包的捕获方法为:
S101:在捕获网络流量之前,安装Wireshark工具进行流量捕获;
S102:启动Wireshark工具,然后选择需要捕获网络流量的网络接口,并开始捕获流量;
S103:将通过Wireshark工具捕获的一段时间内的网络流量保存下来。
具体的,在捕获网络流量之前,安装Wireshark工具进行流量捕获:在官方网址直接下载Wireshark工具。启动Wireshark工具,然后选择需要捕获网络流量的网络接口,并开始捕获流量:选择要进行流量捕获的接口,点击启动按钮针对流量进行捕获。
将通过Wireshark工具捕获的一段时间内的网络流量保存下来的方法为:
(1)在Wireshark工具的顶部菜单中,选择“文件”;
(2)从下拉菜单中选择“导出分组解析结果”;
(3)在打开的窗口中,选择“As CSV”将捕获的流量保存为CSV格式。
步骤S2中,增量图的模拟方法为:
S201:利用Python将保存的CSV格式的流量文件转化为点-边-点图;其具体方法为:
S202:对生成的图进行简化处理,减小图的复杂度,提高图神经模型的分类效率。
具体的,步骤S201中,采用Wireshark工具设定每隔10秒钟对网络流量进行一次捕获,随后将这些流量数据保存为专门的CSV格式的流量文件;
利用Python中的Pandas库,读取和处理CSV格式流量文件,并结合networkx库和matplotlib库,将流量文件转化为点-边-点的图形,生成名为图形t的可视化模型;
对于在第n个时间间隔内捕获的数据,生成一个对应的图,记作tn,然后将图tn与其前一个时间间隔(每间隔10秒)内生成的图tn-1进行比较,得到第n个时间间隔内的图形增量,即增量图Tn。
具体的,利用Python中的Pandas库、networkx库、matplotlib库将导出的CSV格式的流量文件转化为点-边-点图的方法为:
在CSV文件中选择“Source”列中的IP地址作为每个通信事件的起始点,代表数据包的发送方;将“Destination”列中的IP地址设定为生成图的终点,代表数据包的接收方。
如图3所述,步骤S202中,对生成的图进行简化处理,减小图的复杂度,提高图神经模型的分类效率,具体包括:
在第n个时间间隔内生成的增量图Tn如下所示:
Tn=(Dn,Bn)
其中,D代表增量图T的节点,Dn代表增量图Tn的节点;节点D分为内部节点和外部节点,其中内部节点代表位于企业内部网络的各种设备和组件,外部节点代表位于公共网络中,且与企业内部网络进行通信交互的各种设备和组件;
B代表图T的边,Bn代表增量图Tn的边;
增量图T中的内部节点De、外部节点Do、节点D和边B如下所示:
D=De∪D0
B={B1,…,B2}
其中,i为增量图T中内部节点的数量,w为增量图T中外部节点的数量,b为增量图T中边的数量;
在增量图Tn中,如果内部节点De通过外部节点Do与其他内部节点De相连,则绕过该外部节点Do,将这两个节点直接连通,删除增量图Tn中的所有外部节点Do,采用这种方法生成增量图Tn的简化图G。
步骤S3中,如图4所示,二分类的方法为:
S301:利用eNSP工具构建虚拟测试平台,具体流程如下:
(1)安装eNSP:从eNSP的官方网站获取安装包,并按照安装说明进行安装;
(2)启动eNSP:安装完成后,在终端或图形用户界面中启动eNSP;
(3)创建新拓扑:在eNSP中,创建一个包含内部网络和外部网络的拓扑解耦,打开eNSP的拓扑编辑器,使用拓扑编辑器的图形界面来创建和配置网络设备;
(4)添加设备:向内部网络及外部网络中配置网络设备,从eNSP的设备库中选择所需的设备,并将其拖放到拓扑中;
(5)连接设备:使用拓扑编辑器的工具,连接内部网络设备和外部网络设备,建立虚拟链路,模拟所需的网络拓扑结构;
(6)配置设备:针对内部网络设备和外部网络设备,分别配置参数,对内部网络设备,设置内部IP地址、子网掩码和静态路由信息;对外部网络设备,设置外部IP地址、默认网关和默认路由参数,确保内部网络和外部网络之间可以有效通信;
(7)设置ACL规则:通过路由器的配置界面设置ACL规则,在内部网络的路由器上配置NAT,将内部网络主机的私有IP地址映射到路由器的公共IP地址,确保内部网络中的主机能够访问外部网络资源;
(8)添加应用程序和服务:在内部网络的Web服务器上安装并配置***;
(9)设置仿真参数:在eNSP中,设置仿真所需的参数,包括仿真时间、仿真速度、事件触发条件等;
(10)运行仿真:在确认拓扑设置和设备配置完成后,启动仿真,使用eNSP模拟网络中数据包传输、路由行为和其他网络活动;
(11)监控和分析:在仿真运行期间,使用eNSP提供的监控和分析工具来跟踪网络行为、性能和故障;
S302:利用搭建好的虚拟平台对图神经网络模型进行训练,构建面向恶意流量的图神经网络模型;具体流程如下;
所述图神经网络模型通过GIN和SAGPool,可以得到包含全局的拓扑信息和局部的、重要的结构信息的图表示;其中GIN模型用于捕捉复杂的图结构信息,区分任何两个不同构的图;SAGPool模型通过引入自注意力机制识别和保留最具代表性的节点,对图进行下采样;
采用图神经网络模型对在一定时间段内未遭受任何攻击而生成的增量图G和受到攻击情况下生成的增量图G进行深入的特征提取,提取出两种图中的不同的结构特征,依据提取出的结构特征利用softmax分类器进行二分类,判断出在一段时间内网络有没有遭受攻击,其方法为:
(1)将图G的邻接矩阵数据输入到GIN模型中,通过GIN模型提取节点的嵌入表示,并捕获图的结构和节点的上下文信息,得到名为GIN_Embedding的图表示;
(2)使用SAGPool模型处理来自GIN模型的输出,通过自注意力机制识别并保留图中最重要的节点,同时执行图的下采样,减少图的规模并保留关键的结构信息,得到名为SAGPool_Subgraph的图表示;
(3)将SAGPool模型的输出SAGPool_Subgraph与GIN模型的输出GIN_Embedding通过全连接层结合,得到一个综合GIN模型和SAGPool模型优势的图表示FullGraph;
(4)对集成的模型***进行训练,优化图分类任务的准确性,将图表示FullGraph输入到softmax分类器中,使用交叉熵损失函数计算损失:
其中,y是真实标签(0或1),是预测的概率(即模型预测的属于正类的概率)。
S303:利用训练完成的图神经网络模型执行异常流量的检测工作,当检测到异常流量就认为当前时间段内网络遭受攻击,当没有检测到异常流量就认为当前时间段内网络为遭受攻击出于安全状态。
具体的,得到图表示FullGraph的方法为:
(1)输入处理:针对GIN_Embedding和SAGPool_Subgraph输出进行平铺,将多维数组转换成一维数组,针对长度较短的一维数组进行填充,确保GIN_Embedding和SAGPool_Subgraph可被全连接层处理;
(2)权重融合:全连接层中的每个神经元都与GIN_Embedding和SAGPool_Subgraph中的所有元素相连接,连接的权重在训练过程中被优化,使模型更好的融合来自两个不同图表示的信息;
(3)激活函数:在全连接层后面加入激活函数ReLU来增加非线性、缓解梯度消失问题,使图神经网络模型能够学习和复制更复杂的数据关系;
(4)输出表示:通过激活函数ReLU得到图G的图表示FullGraph。
步骤S4中,网络空间安全态势感知,包括:
(1)异常检测与预警:通过监测网络中的异常流量,及时检测到潜在的网络异常或入侵行为,确定受到攻击或威胁的特定资产,并迅速发出警报,通知网络安全管理员采取适当的措施来减轻潜在风险;
(2)评估受影响范围:通过查询资产知识图谱,确定网络空间中的哪些其他资产可能直接或间接受到威胁;
(3)依据资产知识图谱中的详细信息,明确受攻击资产所属的部门主管或***管理员,并及时告知相关人员加强网络安全防范;
(4)趋势分析与策略制定:通过长期积累的网络攻击事件,进行趋势分析,识别网络安全事件和攻击模式的演变趋势,辅助管理人员制定长期的网络安全策略,以应对未来的潜在威胁;
(5)漏洞识别与修补:通过基于异常网络流量的检测结果,准确识别网络中的漏洞或弱点,辅助网络安全管理员及时修补这些漏洞,提高网络的整体安全性;
(6)警报和决策支持:基于异常网络流量的检测结果,生成安全警报或提供决策支持,帮助网络安全管理人员迅速响应潜在的网络安全问题,并制定应对策略。
本发明基于图神经网络的异常流量检测方法,通过WireShark工具,对网络中一定时间段内的网络流量进行精确捕获,随后将其导出为CSV格式;利用Pycharm工具及CSV中的列标签,将数据转换为图形结构,并与前一时间段的图进行比较,进而得到增量图;为了最大化算法的运行效率,对这些增量图施加图简化技术;在深度分析过程中,融合集成学习策略,同时搭配图神经网络(例如GIN和SAGPool模型)来对简化后的增量图进行二元分类,判定其为“遭受攻击”或“未遭受攻击”。基于图神经网络和恶意流量的网络安全异常检测方法可以实时并高效地检测出各种已知和未知的网络攻击行为,进而确保网络的稳健安全。
本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种基于图神经网络的异常流量检测方法,其特征在于,包括以下步骤:
S1:利用Wireshark捕获传输在物理网络上的数据包;
S2:将捕获的网络流量模拟成一系列增量图,其中每个图反映了一段连续时间内的流量变化;
S3:利用图神经网络分类模型对增量图进行二分类,分为遭受攻击和未遭受攻击两类;
S4:根据图分类结果并结合资产知识图谱进行网络空间安全态势感知。
2.根据权利要求1所述的一种基于图神经网络的异常流量检测方法,其特征在于,步骤S1中,数据包的捕获方法为:
S101:在捕获网络流量之前,安装Wireshark工具进行流量捕获;
S102:启动Wireshark工具,然后选择需要捕获网络流量的网络接口,并开始捕获流量;
S103:将通过Wireshark工具捕获的一段时间内的网络流量保存下来。
3.根据权利要求2所述的一种基于图神经网络的异常流量检测方法,其特征在于,步骤S103的方法为:
(1)在Wireshark工具的顶部菜单中,选择“文件”;
(2)从下拉菜单中选择“导出分组解析结果”;
(3)在打开的窗口中,选择“As CSV”将捕获的流量保存为CSV格式。
4.根据权利要求3所述的一种基于图神经网络的异常流量检测方法,其特征在于,步骤S2中,增量图的模拟方法为:
S201:利用Python将保存的CSV格式的流量文件转化为点-边-点图;
S202:对生成的图进行简化处理,减小图的复杂度,提高图神经模型的分类效率。
5.根据权利要求4所述的一种基于图神经网络的异常流量检测方法,其特征在于,步骤S201的方法为:
采用Wireshark工具设定每隔10秒钟对网络流量进行一次捕获,随后将这些流量数据保存为专门的CSV格式的流量文件;
利用Python中的Pandas库,读取和处理CSV格式流量文件,并结合networkx库和matplotlib库,将流量文件转化为点-边-点的图形,生成名为图形t的可视化模型;
对于在第n个时间间隔内捕获的数据,生成一个对应的图,记作tn,然后将图tn与其前一个时间间隔内生成的图tn-1进行比较,得到第n个时间间隔内的图形增量,即增量图Tn。
6.根据权利要求5所述的一种基于图神经网络的异常流量检测方法,其特征在于,利用Python中的Pandas库、networkx库、matplotlib库将导出的CSV格式的流量文件转化为点-边-点图的方法为:
在CSV文件中选择“Source”列中的IP地址作为每个通信事件的起始点,代表数据包的发送方;将“Destination”列中的IP地址设定为生成图的终点,代表数据包的接收方。
7.根据权利要求6所述的一种基于图神经网络的异常流量检测方法,其特征在于,步骤S202中,对生成的图进行简化处理,减小图的复杂度,提高图神经模型的分类效率,具体包括:
在第n个时间间隔内生成的增量图Tn如下所示:
Tn=(Dn,Bn)
其中,D代表增量图T的节点,Dn代表增量图Tn的节点;节点D分为内部节点和外部节点,其中内部节点代表位于企业内部网络的各种设备和组件,外部节点代表位于公共网络中,且与企业内部网络进行通信交互的各种设备和组件;
B代表图T的边,Bn代表增量图Tn的边;
增量图T中的内部节点De、外部节点Do、节点D和边B如下所示:
D=De∪D0
B={B1,···,B2}
其中,i为增量图T中内部节点的数量,w为增量图T中外部节点的数量,b为增量图T中边的数量;
在增量图Tn中,如果内部节点De通过外部节点Do与其他内部节点De相连,则绕过该外部节点Do,将这两个节点直接连通,删除增量图Tn中的所有外部节点Do,采用这种方法生成增量图Tn的简化图G。
8.根据权利要求1所述的一种基于图神经网络的异常流量检测方法,其特征在于,步骤S3中,二分类的方法为:
S301:利用eNSP工具构建虚拟测试平台,具体流程如下:
(1)安装eNSP:从eNSP的官方网站获取安装包,并按照安装说明进行安装;
(2)启动eNSP:安装完成后,在终端或图形用户界面中启动eNSP;
(3)创建新拓扑:在eNSP中,创建一个包含内部网络和外部网络的拓扑解耦,打开eNSP的拓扑编辑器,使用拓扑编辑器的图形界面来创建和配置网络设备;
(4)添加设备:向内部网络及外部网络中配置网络设备,从eNSP的设备库中选择所需的设备,并将其拖放到拓扑中;
(5)连接设备:使用拓扑编辑器的工具,连接内部网络设备和外部网络设备,建立虚拟链路,模拟所需的网络拓扑结构;
(6)配置设备:针对内部网络设备和外部网络设备,分别配置参数,对内部网络设备,设置内部IP地址、子网掩码和静态路由信息;对外部网络设备,设置外部IP地址、默认网关和默认路由参数,确保内部网络和外部网络之间可以有效通信;
(7)设置ACL规则:通过路由器的配置界面设置ACL规则,在内部网络的路由器上配置NAT,将内部网络主机的私有IP地址映射到路由器的公共IP地址,确保内部网络中的主机能够访问外部网络资源;
(8)添加应用程序和服务:在内部网络的Web服务器上安装并配置***;
(9)设置仿真参数:在eNSP中,设置仿真所需的参数,包括仿真时间、仿真速度、事件触发条件等;
(10)运行仿真:在确认拓扑设置和设备配置完成后,启动仿真,使用eNSP模拟网络中数据包传输、路由行为和其他网络活动;
(11)监控和分析:在仿真运行期间,使用eNSP提供的监控和分析工具来跟踪网络行为、性能和故障;
S302:利用搭建好的虚拟平台对图神经网络模型进行训练,构建面向恶意流量的图神经网络模型;具体流程如下;
所述图神经网络模型通过GIN模型和SAGPool模型,可以得到包含全局的拓扑信息和局部的、重要的结构信息的图表示;其中GIN模型模型用于捕捉复杂的图结构信息,区分任何两个不同构的图;SAGPool模型通过引入自注意力机制识别和保留最具代表性的节点,对图进行下采样;
采用图神经网络模型对在一定时间段内未遭受任何攻击而生成的增量图G和受到攻击情况下生成的增量图G进行深入的特征提取,提取出两种图中的不同的结构特征,依据提取出的结构特征利用softmax分类器进行二分类,判断出在一段时间内网络有没有遭受攻击,其方法为:
(1)将图G的邻接矩阵数据输入到GIN模型中,通过GIN模型提取节点的嵌入表示,并捕获图的结构和节点的上下文信息,得到名为GIN_Embedding的图表示;
(2)使用SAGPool模型处理来自GIN模型的输出,通过自注意力机制识别并保留图中最重要的节点,同时执行图的下采样,减少图的规模并保留关键的结构信息,得到名为SAGPool_Subgraph的图表示;
(3)将SAGPool模型的输出SAGPool_Subgraph与GIN模型的输出GIN_Embedding通过全连接层结合,得到一个综合GIN模型和SAGPool模型优势的图表示FullGraph;
(4)对集成的模型***进行训练,优化图分类任务的准确性,将图表示FullGraph输入到softmax分类器中,使用交叉熵损失函数计算损失:
其中,y是真实标签,是预测的概率。
S303:利用训练完成的图神经网络模型执行异常流量的检测工作,当检测到异常流量就认为当前时间段内网络遭受攻击,当没有检测到异常流量就认为当前时间段内网络为遭受攻击出于安全状态。
9.根据权利要求8所述的一种基于图神经网络的异常流量检测方法,其特征在于,得到图表示FullGraph的方法为:
(1)输入处理:针对GIN_Embedding和SAGPool_Subgraph输出进行平铺,将多维数组转换成一维数组,针对长度较短的一维数组进行填充,确保GIN_Embedding和SAGPool_Subgraph可被全连接层处理;
(2)权重融合:全连接层中的每个神经元都与GIN_Embedding和SAGPool_Subgraph中的所有元素相连接,连接的权重在训练过程中被优化,使模型更好的融合来自两个不同图表示的信息;
(3)激活函数:在全连接层后面加入激活函数ReLU来增加非线性、缓解梯度消失问题,使图神经网络模型能够学习和复制更复杂的数据关系;
(4)输出表示:通过激活函数ReLU得到图G的图表示FullGraph。
10.根据权利要求1所述的一种基于图神经网络的异常流量检测方法,其特征在于,步骤S4中,网络空间安全态势感知,包括:
(1)异常检测与预警:通过监测网络中的异常流量,及时检测到潜在的网络异常或入侵行为,确定受到攻击或威胁的特定资产,并迅速发出警报,通知网络安全管理员采取适当的措施来减轻潜在风险;
(2)评估受影响范围:通过查询资产知识图谱,确定网络空间中的哪些其他资产可能直接或间接受到威胁;
(3)依据资产知识图谱中的详细信息,明确受攻击资产所属的部门主管或***管理员,并及时告知相关人员加强网络安全防范;
(4)趋势分析与策略制定:通过长期积累的网络攻击事件,进行趋势分析,识别网络安全事件和攻击模式的演变趋势,辅助管理人员制定长期的网络安全策略,以应对未来的潜在威胁;
(5)漏洞识别与修补:通过基于异常网络流量的检测结果,准确识别网络中的漏洞或弱点,辅助网络安全管理员及时修补这些漏洞,提高网络的整体安全性;
(6)警报和决策支持:基于异常网络流量的检测结果,生成安全警报或提供决策支持,帮助网络安全管理人员迅速响应潜在的网络安全问题,并制定应对策略。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311600827.1A CN117749426A (zh) | 2023-11-28 | 2023-11-28 | 一种基于图神经网络的异常流量检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311600827.1A CN117749426A (zh) | 2023-11-28 | 2023-11-28 | 一种基于图神经网络的异常流量检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117749426A true CN117749426A (zh) | 2024-03-22 |
Family
ID=90249867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311600827.1A Pending CN117749426A (zh) | 2023-11-28 | 2023-11-28 | 一种基于图神经网络的异常流量检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117749426A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118095358A (zh) * | 2024-04-18 | 2024-05-28 | 清华大学 | 数据中心网络流量超分辨率的生成方法、装置及程序 |
-
2023
- 2023-11-28 CN CN202311600827.1A patent/CN117749426A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118095358A (zh) * | 2024-04-18 | 2024-05-28 | 清华大学 | 数据中心网络流量超分辨率的生成方法、装置及程序 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11336669B2 (en) | Artificial intelligence cyber security analyst | |
US20200358792A1 (en) | Artificial intelligence (ai) based cyber threat analyst to support a cyber security appliance | |
US7530105B2 (en) | Tactical and strategic attack detection and prediction | |
EP2040435B1 (en) | Intrusion detection method and system | |
EP4111343A1 (en) | An artificial intelligence adversary red team | |
US20230336581A1 (en) | Intelligent prioritization of assessment and remediation of common vulnerabilities and exposures for network nodes | |
Rubio et al. | Analysis of Intrusion Detection Systems in Industrial Ecosystems. | |
EP3763099B1 (en) | Attribute-based policies for integrity monitoring and network intrusion detection | |
Asif et al. | Network intrusion detection and its strategic importance | |
WO2023283357A1 (en) | Intelligent prioritization of assessment and remediation of common vulnerabilities and exposures for network nodes | |
Fredj | A realistic graph‐based alert correlation system | |
US20230164567A1 (en) | Artificial Intelligence based cybersecurity system monitoring telecommunications networks | |
EP4154136A1 (en) | Endpoint client sensors for extending network visibility | |
CN117749426A (zh) | 一种基于图神经网络的异常流量检测方法 | |
Sukhwani et al. | A survey of anomaly detection techniques and hidden markov model | |
WO2023163842A1 (en) | Thumbprinting security incidents via graph embeddings | |
Bhuyan et al. | Alert management and anomaly prevention techniques | |
Yassine et al. | Security Risk Assessment Methodologies in The Internet of Things: Survey and Taxonomy | |
Chakir et al. | A real-time risk assessment model for intrusion detection systems | |
Iudica | A monitoring system for embedded devices widely distributed | |
CN118018231A (zh) | 隔离区的安全策略管理方法、装置、设备和存储介质 | |
Ye et al. | Exploring Automated Defense Technology of Artificial Intelligence in Network Security | |
Salih et al. | Semantical rule-based false positive detection for IDS | |
Alrehaili et al. | An Attack Scenario Reconstruction Approach Using Alerts Correlation and a Dynamic Attack Graph | |
Kadiravan et al. | Dynamic Network Intrusion Detection System for Virtual Machine Environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |