CN116599720A - 一种基于GraphSAGE的恶意DoH流量检测方法、系统 - Google Patents
一种基于GraphSAGE的恶意DoH流量检测方法、系统 Download PDFInfo
- Publication number
- CN116599720A CN116599720A CN202310554865.1A CN202310554865A CN116599720A CN 116599720 A CN116599720 A CN 116599720A CN 202310554865 A CN202310554865 A CN 202310554865A CN 116599720 A CN116599720 A CN 116599720A
- Authority
- CN
- China
- Prior art keywords
- data
- flow
- graph
- node
- feature
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 31
- 238000012549 training Methods 0.000 claims abstract description 40
- 238000013528 artificial neural network Methods 0.000 claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 26
- 235000002020 sage Nutrition 0.000 claims abstract description 24
- 102100026278 Cysteine sulfinic acid decarboxylase Human genes 0.000 claims abstract description 18
- 108010064775 protein C activator peptide Proteins 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 24
- 238000005070 sampling Methods 0.000 claims description 21
- 230000002776 aggregation Effects 0.000 claims description 19
- 238000004220 aggregation Methods 0.000 claims description 19
- 230000002441 reversible effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 11
- 230000002457 bidirectional effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 claims description 6
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 230000004913 activation Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 5
- 238000010606 normalization Methods 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000004044 response Effects 0.000 claims description 2
- 238000000547 structure data Methods 0.000 claims description 2
- 238000010801 machine learning Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/042—Knowledge-based neural networks; Logical representations of neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于GraphSAGE的恶意DoH流量检测方法、系统,涉及网络信息安全领域。该方法包括:获取自带流量类型的PCAP流量数据并进行处理,提取流量的流级特征和包级特征;将提取的特征数据转换为图数据;采用图数据对GraphSAGE图神经网络进行训练;提取部分PCAP流量数据的特征,将其作为待检测流量,提取特征数据,并转换为图数据,输入训练好的GraphSAGE图神经网络,并判断是否是恶意DoH流量。本发明提出的检测方法提高了训练效率,减少了内存消耗,并无需对加密流量解密。
Description
技术领域
本发明属于网络信息安全领域,具体涉及一种基于GraphSAGE的恶意DoH流量检测方法、系统。
背景技术
DNS over HTTPS使用安全的HTTPS协议运行DNS,与单独使用DNS协议相比,DoH增强用户的安全性和隐私性。通过使用加密的HTTPS连接,第三方将不再影响或监视解析过程,因此无法查看请求的URL并对其进行更改。若数据在传输过程中发生丢失时,DoH中的TCP协议会做出更快的反应。DoH先天具备极高的隐私性,导致现有流量检测方法无法准确识别出全部的恶意DoH流量。
目前的方法是在非解密的情况下,提取流量数据的IP、端口、流级特征和包级特征,利用机器学习或深度学习的方式来检测流量中的恶意流量。
通过机器学习方法检测恶意流量,首先获取恶意流量和正常流量,制定特征提取规则后提取特征,构建特征矩阵以及训练集,建立机器学习模型如树模型等,将训练集输入机器学习模型中,训练完成后使用该模型进行恶意流量检测。该方法的不足之处是:在提取特征后,需要不断测试选择出最优的特征组合,在这一过程中,耗费大量的时间和人力。
通过深度学习方法检测恶意流量,该方法与机器学习类似,区别在于建立训练网络时,采用神经元的方式互联,常用深度神经网络、一维卷积神经网络和长短期记忆网络等。该方法不足之处是:深度学习模型的训练需要大量的有效数据来进行学习,数据量过小会导致过拟合,同时深度学习模型的泛化能力较差,适用环境需要与训练环境数据分布保持一致。
除此之外,现有的机器学习方法和深度学习方法忽略以IP地址为表征的实体及其关系,在建模过程中,为避免模型过拟合,通常对IP和端口信息进行删除处理。本发明以IP和端口信息为基础建立节点,构建出节点之间的关系,形成图数据进行训练,提高训练效率并降低了内存消耗。
发明内容
本发明所要解决的技术问题是:提出了一种基于GraphSAGE的恶意DoH流量检测方法、系统,能够挖掘流量在传输层的统计特征,保留以IP地址为表征的实体及其关系,在非破密的情况下准确地判断DoH流量是否为恶意流量。
本发明为解决上述技术问题采用以下技术方案:
本发明提出的一种基于GraphSAGE的恶意DoH流量检测方法,包括以下步骤:
S1、获取自带流量类型的PCAP流量数据并进行处理,提取特征数据。
S2、将提取的特征数据转换为图数据,表示为G=(Ns,Nd,E),其中Ns为图的起点,Nd为图的终点,E为边。
S3、利用图数据训练GraphSAGE图神经网络。
S4、使用Wireshark工具捕获部分PCAP流量数据,将其作为待检测流量,提取特征数据,并转换为图数据。
S5、将步骤S4中的图数据输入到训练完成的GraphSAGE图神经网络中,根据待检测流量中恶意DoH流量和正常DoH流量的数量比例设定阈值,并与图神经网络输出的数值结果进行比较,若小于阈值则为恶意DoH流量,检测结果反馈为1;若大于阈值则为正常DoH流量,检测结果反馈为0。
进一步的,所述步骤S1中,提取特征数据的具体步骤为:
S101、收集网络安全公开数据集,根据数据集中的网络流量数据自带的类型标签,将数据分为正常DoH流量和恶意DoH流量,分别存储为PCAP流量数据,使用Wireshark对PCAP流量数据进行解析,过滤筛选出使用TCP和UDP作为传输协议的流数据,TCP流以FIN标志位作为结束标志,UDP流对响应时间进行限定作为结束标志。
S102、根据流量数据的五元组将流量数据划分为不同的流量集合,流量集合的IP、端口、协议的数据相同,仅存在源IP、端口和目的IP、端口位置相反的区别,在每个流量集合中,将第一条流量数据的源IP和目的IP的流向方向作为正向流,其余流量数据与第一条流量数据的流向方向相同则为正向流,不同则为反向流;每个方向流的每条流量数据通过与前后两条流量数据的计算推断出该流量数据的信息数据,并将其与Wireshark中的每条流量数据的相关协议信息数据合并作为流量的特征数据,去除缺失值后对统计特征进行归一化操作,将统计特征和IP、端口、标签按流量数据特征格式组合。
双向流的信息数据包括流量包的总大小、平均大小、最大大小及最小大小,每两个流量包之间的所用时间的总时间、平均时间、最大时间及最小时间,流量包的数量及平均数量,流量数据持续时间,流量数据字节数,两个流量数据之间的所用时间的平均时间、最大时间及最小时间;其中每个信息数据都分为正向流和反向流两类数据。
S103、所述流量特征数据的表达格式为:[SourceIP,SourcePort,DestinationIP,DestinationPort,特征,标签]。
其中,SourceIP表示源IP;SourcePort表示源端口号;DestinationIP表示目的IP;DestinationPort表示目的端口号;特征表示归一化处理后的流量特征数据;标签表示流量的类型,若为1则表示是恶意DoH流量,若为0则表示是正常DoH流量。
进一步的,所述步骤S2中,将特征数据转换为图数据的具体内容为:
节点定义如下:
N=(node_name,node_feature)
其中,node_name表示该节点的名称,由IP和对应的端口号组成的二元组表示;node_feature表示节点的特征向量,经过初始化后由GraphSAGE图神经网络经过邻域采样得到。
边定义如下:
E=(edge_feature,edge_label)
其中,edge_feature表示流量的特征数据,edge_label表示所标注的流量类型。
图数据的表达形式为:
G=(Ns,Nd,E)
其中,Ns表示图的起点,则node_name是由SourceIP和SourcePort组成的节点;Nd表示图的终点,则node_name是由DestinationIP和DestinationPort组成的节点。
将数据按照节点定义和边定义填充后,使用第三方图形库创建空的图对象,将Ns和Nd分别作为图的起点和终点填入,节点的特征向量使用同一个数对其进行初始化,E作为边的特征向量参与GraphSAGE图神经网络的邻域采样。
进一步的,所述步骤S3中,训练GraphSAGE图神经网络的具体内容为:
S301、利用GraphSAGE图神经网络对图数据中的节点Ns和Nd的特征进行初始化,即将节点的特征向量node_feature初始化为全部是1的特征向量,为node_feature={1,1,1,…,1}。
S302、通过采样邻域的边特征均值得到当前节点的聚合信息,具体公式为:
其中,N(v)表示图数据中的节点,E表示图数据中的边,v表示N中的任意一个节点,u表示v的所有邻居节点或采样邻居节点,k表示采样的深度,表示节点v和邻居u之间的边特征数据,|M(v)|e表示采样邻居的个数。
S303、根据节点的聚合信息,得到节点的嵌入特征zv,具体公式为:
其中,表示节点v的上一层聚合信息,Wk表示权重参数矩阵,concat表示将节点v的上一层聚合信息和当前层的聚合信息拼接,f(·)表示激活函数。
S304、根据节点的嵌入特征zv以及边的定义E=(edge_feature,edge_label),得到边嵌入特征具体公式为:
其中,和/>表示该边所表示的起点和终点的嵌入特征。
S305、将边嵌入特征输入至一层线性层中,对特征向量加权后求和并使用激活函数对求和后的值进行激活。
S306、使用Momentum加速的SGD优化算法,并加入学习率调整机制,若每轮的准确率结果不变或下降,则对学习率进行自动降低,从而对GraphSAGE图神经网络进行训练优化。
本发明还提出了一种基于GraphSAGE的恶意DoH流量检测系统,包括:
特征提取模块,用于将流量数据解析后,提取数据中双向流的信息数据,并与Wireshark中每条流量数据的相关协议信息数据合并作为流量的统计特征,并和IP、端口、标签按流量特征格式组合,所述流量特征格式为[SourceIP,SourcePort,DestinationIP,DestinationPort,特征,标签]。
图数据构建模块,用于将流量的特征数据转换为图结构数据,所述图表示为G=(Ns,Nd,E),其中Ns表示为图的起点,Nd表示为图的终点,E表示为图的边。
GraphSAGE图神经网络训练模块,用于利用图数据训练GraphSAGE图神经网络。
流量数据分类模块,用于将图数据输入到GraphSAGE图神经网络中,通过比较输出的数值结果与设定阈值的大小,对流量数据进行分类。
本发明还提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现前文所述的基于GraphSAGE的恶意DoH流量检测方法的步骤。
本发明还提出一种计算机可读的存储介质,所述计算机可读的存储介质存储有计算机程序,所述计算机程序被处理器运行时执行前文所述的基于GraphSAGE的恶意DoH流量检测方法的步骤。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
(1)本发明所构建的检测方法在特征提取过程中,同时提取TCP和UDP协议的双向流的包的相关特征和流的相关特征,并和Wireshark直接解析得到相关协议的信息数据合并,丰富了图神经网络训练过程中可使用的特征数量。
(2)保留了以IP地址为表征的实体及其关系,以IP和端口号为基础建立节点,其余特征数据作为边表示节点之间的关系,使用第三方库将其转换为图数据结构,对流量进行更加丰富的表征。
(3)采用GraphSAGE图神经网络进行训练,该模型将节点的特征数据初始化为1,每一层的节点的嵌入特征都由邻居节点边特征决定,边嵌入特征由嵌入特征后的节点决定,充分利用了边特征数据,在保留IP和端口号的同时,避免IP和端口号作为训练特征。同时提高了训练效率,减少了内存消耗。
附图说明
图1为本发明的整体实施流程图。
图2为本发明实施例中节点聚合过程。
图3为本发明实施例中训练基于GraphSAGE的恶意DoH流量检测模型所用的时间图。
图4为本发明实施例中训练基于GraphSAGE的恶意DoH流量检测模型的情况图。
图5为本发明实施例中训练基于GraphSAGE的恶意DoH流量检测模型的二分类混淆矩阵图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清晰,下面结合具体实施例,并参照附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,通常在此图中描述和示出的本发明实施例的组件可以以各种不同的配置来部署和设计。
本实施例提供了一种基于GraphSAGE的恶意DoH流量检测方法,该检测方法包括以下步骤,如图1所示:
S1、获取自带流量类型的PCAP流量数据并进行处理,提取特征数据,具体步骤为:
S101、使用UNB网站上的CIRA-CIC-DoHBrw2020数据集,根据数据集中的网络流量数据自带的类型标签,将数据分为正常DoH流量和恶意DoH流量,分别存储为PCAP流量数据。使用Wireshark对PCAP流量数据进行解析得出TCP、UDP、TLS、SSL四种协议类型的流量数据,过滤筛选出使用TCP和UDP作为传输协议的流量数据,按流量产生的时间排序,当TCP协议流量数据中的两方发送的流量数据的FIN标志位都为1时,表示一个TCP连接的结束,在UDP流量数据中,当第二条流量数据的时间与上一条流量数据的时间间隔相差0.5秒时,表示一个UDP连接的结束。
在筛选出的TCP协议里的第一条流量数据的SouceIP为192.168.20.191,DestinationIP为176.103.130.130,SourcePort为50749,DestinationPort为443,通过Wireshark解析可以得到该条流量数据的相对时间为0.018151,数据偏移量为0,包的长度为54,FIN标志位为0.
在筛选出的UDP协议里的第一条流量数据的SourceIP为192.168.20.112,DestinationIP为1.1.1.1,SourcePort为35012,DestinationPort为443,通过Wireshark解析可以得到该条流量数据的相对时间为5.4241192,数据偏移量为0,包的长度为263。
S102、根据流量包的五元组将流量包划分为不同的流量集合,流量集合的IP、端口、协议的数据相同,仅存在源IP、端口和目的IP、端口位置相反的区别。在第一个流量集合中,按照时间戳的顺序升序,设定当SourceIP为192.168.20.191、DestinationIP为176.103.130.131时的流向方向为正向流,相反则为反向流。每条流量数据与前后两条流量数据进行包大小及流时间的计算推断出双向流的信息数据,并将其与Wireshark中每条流量数据的相关协议的信息数据合并作为流量的特征数据,去除缺失值后对统计特征进行归一化操作,将统计特征和IP、端口、标签按流量数据特征格式组合。
在本实施例中,第一个流量集合中有四条TCP流量数据,其中包括正向流和反向流,其中正向流有两条,反向流有两条,四条流量数据的数据偏移量均为0,第一条正向流的相对时间为0.066135,第二条正向流的相对时间为0.338690,通过相减计算推断出正向流的持续时间为0.272555,平均时间为0.1362775,因为仅有两条,所以最大和最小所用时间均为0.272555,两条正向流的包的大小分别为85和60,由此推断出包的总大小为145,平均大小为72.5,最大大小为85,最小大小为60。第一条反向流的相对时间为0.081135,第二条反向流的相对时间为0.338744,通过计算推断出反向流的持续时间为0.257609,平均时间为0.1288045,最大和最小所用时间均为0.257609,两条反向流的包的大小均为54,由此推断出包的总大小为108,平均大小、最大大小及最小大小均为54。将最后一条流量数据的时间减去第一条流量数据的时间推断出一个完整的TCP流量的持续为0.272609。
S103、所述流量特征数据的表达格式为:[SourceIP,SourcePort,DestinationIP,DestinationPort,特征,标签]。
其中,SourceIP表示源IP;SourcePort表示源端口号;DestinationIP表示目的IP;DestinationPort表示目的端口号;特征表示归一化处理后的流量特征数据;标签表示流量的类型,若为1则表示是恶意DoH流量,若为0则表示是正常DoH流量。
双向流的信息数据包括包的总大小、平均大小、最大大小及最小大小,每两个包之间的所用时间的总时间、平均时间、最大时间及最小时间,包的数量及平均数量,流持续时间,流字节数,两个流之间的所用时间的平均时间、最大时间及最小时间;其中每个信息数据都分为正向流和反向流两类数据。
Wireshark直接解析得到的相关协议信息数据包括头部长度、窗口大小、带有ACK包和FIN包的流量数量。
在本实施例中,第一个流量集合所传递的数据的头部长度为20,每个方向流的窗口大小均相同,正向流的窗口大小为123,反向流的窗口大小为254,四条流量数据的ACK标志位都为1,所以带有ACK包的流量数量为4,仅有第二条正向流和第二条反向流的FIN标志位为1,所以带有FIN包的流量数量为2。
将计算推断出的信息数据与Wireshark解析得到的信息数据按照表达格式合并为以下形式:
流量特征数据=[192.168.20.191,50749,176.103.130.131,443,[0.272609,0.272555,……],0]。
S2、将提取的特征数据转换为图数据,具体内容为:
节点定义如下:
N=(node_name,node_feature)
其中,node_name表示该节点的名称,由IP和对应的端口号组成的二元组表示;node_feature表示节点的特征向量,经过初始化后由GraphSAGE图神经网络经过邻域采样得到。在步骤S1的第一个流量集合中,两个节点的node_name分别为(192.168.20.191:50749)和(176.103.130.131:443)。
边定义如下:
E=(edge_feature,edge_label)
其中,edge_feature表示流量的特征数据,edge_label表示所标注的流量类型。
图数据的表达形式为:
G=(Ns,Nd,E)
其中,Ns表示图的起点,则node_name是由SourceIP和SourcePort组成的节点;Nd表示图的终点,则node_name是由DestinationIP和DestinationPort组成的节点。
将数据按照节点定义和边定义填充后,使用Networkx第三方库创建空的图对象,将Ns和Nd分别作为图的起点和终点填入,节点的特征向量初始化为1,E作为边的特征向量参与GraphSAGE图神经网络的邻域采样。
在本实施例中,第一个流量集合转为图数据形式为:
G1={(192.168.20.191:50749),(176.103.130.131:443),[(0.272609,0.272555,……),(0)]}。
S3、利用图数据训练GraphSAGE图神经网络,具体内容为:
S301、利用GraphSAGE图神经网络对图数据中的节点Ns和Nd的特征进行初始化,即将节点的特征向量node_feature初始化为全部是1的特征向量,为node_feature={1,1,1,…,1}。
S302、通过采样邻域的边特征均值得到当前节点的聚合信息,具体公式为:
其中,N(v)表示图数据中的节点,E表示图数据中的边,v表示N中的任意一个节点,u表示v的所有邻居节点或采样邻居节点,k表示采样的深度,表示节点v和邻居u之间的边特征数据,|M(v)|e表示采样邻居的个数。
S303、根据节点的聚合信息,得到节点的嵌入特征zv,具体公式为:
其中,表示节点v的上一层聚合信息,Wk表示权重参数矩阵,concat表示将节点v的上一层聚合信息和当前层的聚合信息拼接,f(·)表示激活函数。
图2表示两层深度采样的聚合过程,在本实施例中,A表示为192.168.20.191的节点,B表示为8.8.4.4的节点,C表示为176.103.130.131的节点,D表示为176.103.130.130的节点,E表示为192.168.20.113的节点,对A节点进行两层深度的采样。
所述A节点的IP作为SourceIP,B、C、D节点作为DestinationIP,BD连接表示B作为SourceIP,D作为DestinationIP,DE连接表示D作为SourceIP,E作为DestinationIP。
A节点分别与B、C、D三个节点直接连接,作为采样的第二层,再寻找与B、C、D直接连接的节点,作为第一层,以B节点为例,此时BA表示为反向流,BD表示为正向流,将BA和BD的边的特征向量求和取平均后,作为B节点的聚合信息,将B的聚合信息和B定义后的node_feature拼接后加权并使用ReLU函数激活,得到B节点的嵌入特征,重复上述操作得到A节点的嵌入特征。
BA的边的特征向量为[0.336564,0.083213,……],BD的边的特征向量为[0.153298,0.056886,……],将两个特征向量求和取平均后为[0.244931,0.0700495,……],计算后的结果和B节点定义的节点特征向量相加拼接为[1.244931,1.0700495,……],并使用ReLU函数激活后作为B节点的嵌入特征,因为特征向量均大于0,所以B节点的嵌入特征仍为[1.244931,1.0700495,……],重复上述操作得到C节点的嵌入特征为[1.652712,1.852434],D节点的嵌入特征为[1.452723,1.752831,……],相加后求平均得到A节点的嵌入特征为[1.450122,1.558438]。
S304、根据节点的嵌入特征zv以及边的定义E=(edge_feature,edge_label),得到边嵌入特征具体公式为:
其中,和/>表示该边所表示的起点和终点的嵌入特征。
S305、将A和B节点的嵌入特征拼接后,输入至一层线性层中,对特征向量加权后求和并使用sigmoid函数进行激活,根据待检测流量中恶意DoH流量和正常DoH流量的数量比例,设定阈值为0.6。
S306、使用Momentum加速的SGD优化算法,并加入学习率调整机制,若每轮的准确率结果不变或下降,则对学习率进行自动降低,从而对GraphSAGE图神经网络进行训练优化。
在本实施例中,学习率初始化为0.01,在第98轮时,训练准确率为0.865206,第99轮时,训练准确率为0.865204,相比于第98轮的准确率有所下降,此时学习率自动降低为0.001。图3直观地展示对GraphSAGE图神经网络进行600轮训练的所用时间,时间曲线呈线性趋势,从中可以发现,训练最终使用了大概70秒,平均每100轮用时11秒左右。说明该模型的训练所用时间短,训练的效率较高。
S4、使用Wireshark工具捕获部分PCAP流量数据,将其作为待检测流量,提取特征数据,并转换为图数据。
S5、将步骤S4中的图数据输入到训练完成的GraphSAGE图神经网络中,根据待检测流量中恶意DoH流量和正常DoH流量的数量比例设定阈值,并与图神经网络输出的数值结果进行比较,若小于阈值则为恶意DoH流量,检测结果反馈为1;若大于阈值则为正常DoH流量,检测结果反馈为0。
图4分别展示了在600轮训练过程中,损失函数值和训练准确率值的曲线变化,在损失函数图中,损失函数值由开始的0.7最终降至0.03左右,在第100轮时,损失函数值降至0.05左右,随后趋于平稳,反应了该模型能够在很快时间内达到收敛。
在准确率值图中,训练集的准确率由0.928左右达到0.997左右,并且依然呈现向1趋近的趋势,说明模型的结构较优,少量的训练轮数即可达到较优的效果。
图5展示了测试集的数据量以及数据的分布情况,有107818条数据作为测试集,其中,正确分类的数据大约占98.63%,仅有约1.37%的数据分类错误,反应了该模型具有较高的准确率及较好的检测能力。
将训练数据分割出部分数据作为测试集,使用训练好的GraphSAGE神经网络对测试集进行分类,将分类的类型结果和数据自带的类型结果采用混淆矩阵的方法,对GrphSAGE图神经网络的性能从准确率、精确率、召回率和F1指标方面进行评估,具体情况如表1所示。
表1 GraphSAGE图神经网络训练结果
Accuracy | Precision | Recall | F1-Score | |
正常流量 | 0.9878 | 0.8609 | 0.995 | 0.9231 |
恶意流量 | 0.9878 | 0.9996 | 0.9873 | 0.9934 |
正常流量的精确率低于恶意流量的精确率,仅有0.8609,两者的召回率均在98.7%之上,达到较好的性能,正常流量因精确率较低,在F1指标上也低于恶意流量。总体上反应了该模型对恶意DoH流量的检测上的性能优于正常DoH流量的检测。
本发明实施例还提出了一种基于GraphSAGE的恶意DoH流量检测系统,包括特征提取模块、图数据构建模块、GraphSAGE图神经网络训练模块、流量数据分类模块及可在处理器上运行的计算机程序。需要说明的是,上述系统中的各个模块对应本发明实施例所提供的方法的具体步骤,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例还提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。需要说明的是,上述电子设备对应本发明实施例所提供的方法的具体步骤,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例还提出一种计算机可读的存储介质,所述计算机可读的存储介质存储有计算机程序。需要说明的是,上述存储介质对应本发明实施例所提供的方法的具体步骤,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
尽管上面示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。任何根据本发明的技术构思所做出的各种其他相应的改变和变型,均应包含在本发明权利要求的保护范围内。
Claims (7)
1.一种基于GraphSAGE的恶意DoH流量检测方法,其特征在于,包括:
S1、获取自带流量类型的PCAP流量数据并进行处理,提取特征数据;
S2、将提取的特征数据转换为图数据;
S3、利用图数据训练GraphSAGE图神经网络;
S4、使用Wireshark工具捕获部分PCAP流量数据,将其作为待检测流量,提取特征数据,并转换为图数据;
S5、将步骤S4中的图数据输入到训练完成的GraphSAGE图神经网络中,根据待检测流量中恶意DoH流量和正常DoH流量的数量比例设定阈值,并与图神经网络输出的数值结果进行比较,若小于阈值则为恶意DoH流量,检测结果反馈为1;若大于阈值则为正常DoH流量,检测结果反馈为0。
2.根据权利要求1所述的基于GraphSAGE的恶意DoH流量检测方法,其特征在于,步骤S1中,提取特征数据的具体步骤为:
S101、收集网络安全公开数据集,根据数据集中的网络流量数据自带的类型标签,将数据分为正常DoH流量和恶意DoH流量,分别存储为PCAP流量数据,使用Wireshark对PCAP流量数据进行解析,过滤筛选出使用TCP和UDP作为传输协议的流数据,TCP流以FIN标志位作为结束标志,UDP流对响应时间进行限定作为结束标志;
S102、根据流量数据的五元组将流量数据划分为不同的流量集合,在每个流量集合中,将第一条流量数据的源IP和目的IP的流向方向作为正向流,其余流量数据与第一条流量数据的流向方向相同则为正向流,不同则为反向流;
每个方向流的每条流量数据通过与前后两条流量数据的计算推断出该流量数据的信息数据,并将其与Wireshark中每条流量数据的相关协议信息数据合并作为流量的特征数据,去除缺失值后对统计特征进行归一化操作,将统计特征和IP、端口、标签按流量数据特征格式组合;
其中,双向流的信息数据包括:流量包的大小数值,每两个流量包之间所用的时间,流量包的数量,流量数据的持续时间,流量数据的字节数,两个流量数据之间所用的时间;其中每个信息数据都分为正向流和反向流两类数据;
S103、所述流量特征数据的表达格式为:[SourceIP,SourcePort,DestinationIP,DestinationPort,特征,标签];
其中,SourceIP表示源IP;SourcePort表示源端口号;DestinationIP表示目的IP;DestinationPort表示目的端口号;特征表示归一化处理后的流量特征数据;标签表示流量的类型,若为1则表示是恶意DoH流量,若为0则表示是正常DoH流量。
3.根据权利要求2所述的基于GraphSAGE的恶意DoH流量检测方法,其特征在于,步骤S2中,将特征数据转换为图数据的具体内容为:
节点定义如下:
N=(node_name,node_feature)
其中,node_name表示该节点的名称,由IP和对应的端口号组成的二元组表示;node_feature表示节点的特征向量,经过初始化后由GraphSAGE图神经网络经过邻域采样得到;
边定义如下:
E=(edge_feature,edge_label)
其中,edge_feature表示流量的特征数据,edge_label表示所标注的流量类型;
图数据的表达形式为:
G=(Ns,Nd,E)
其中,Ns表示图的起点,则node_name是由SourceIP和SourcePort组成的节点;Nd表示图的终点,则node_name是由DestinationIP和DestinationPort组成的节点;
将数据按照节点定义和边定义填充后,使用第三方图形库创建空的图对象,将Ns和Nd分别作为图的起点和终点填入,对节点的特征向量进行初始化,E作为边的特征向量参与GraphSAGE图神经网络的邻域采样。
4.根据权利要求1所述的基于GraphSAGE的恶意DoH流量检测方法,其特征在于,步骤S3中,训练GraphSAGE图神经网络的具体内容为:
S301、利用GraphSAGE图神经网络对图数据中的节点Ns和Nd的特征进行初始化;
S302、通过采样邻域的边特征均值得到当前节点的聚合信息,具体公式为:
其中,N(v)表示图数据中的节点,E表示图数据中的边,v表示N中的任意一个节点,u表示v的所有邻居节点或采样邻居节点,k表示采样的深度,表示节点v和邻居节点u之间的边特征数据,|M(v)|e表示采样邻居的个数;
S303、根据节点的聚合信息,得到节点的嵌入特征zv,具体公式为:
其中,表示节点v的上一层聚合信息,Wk表示权重参数矩阵,concat表示将节点v的上一层聚合信息和当前层的聚合信息拼接,f(·)表示激活函数;
S304、根据节点的嵌入特征zv以及边的定义E=(edge_feature,edge_label),得到边嵌入特征具体公式为:
其中,和/>表示该边所表示的起点和终点的嵌入特征;
S305、将边嵌入特征输入至一层线性层中,对特征向量加权后求和并使用激活函数对求和后的值进行激活;
S306、使用Momentum加速的SGD优化算法,并加入学习率调整机制,若每轮的准确率结果不变或下降,则对学习率进行自动降低,从而对GraphSAGE图神经网络进行训练优化。
5.一种基于GraphSAGE的恶意DoH流量检测系统,其特征在于,包括:
特征提取模块,用于将流量数据解析后,提取数据中双向流的信息数据,并与Wireshark中每条流量数据的相关协议信息数据合并作为流量的统计特征,并和IP、端口、标签按流量特征格式组合,所述流量特征格式为[SourceIP,SourcePort,DestinationIP,DestinationPort,特征,标签];
图数据构建模块,用于将流量的特征数据转换为图结构数据,所述图表示为G=(Ns,Nd,E),其中Ns表示为图的起点,Nd表示为图的终点,E表示为图的边;
GraphSAGE图神经网络训练模块,用于利用图数据训练GraphSAGE图神经网络;
流量数据分类模块,用于将图数据输入到GraphSAGE图神经网络中,通过比较输出的数值结果与设定阈值的大小,对流量数据进行分类。
6.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
7.一种计算机可读的存储介质,所述计算机可读的存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行所述权利要求1至4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310554865.1A CN116599720A (zh) | 2023-05-17 | 2023-05-17 | 一种基于GraphSAGE的恶意DoH流量检测方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310554865.1A CN116599720A (zh) | 2023-05-17 | 2023-05-17 | 一种基于GraphSAGE的恶意DoH流量检测方法、系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116599720A true CN116599720A (zh) | 2023-08-15 |
Family
ID=87605711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310554865.1A Pending CN116599720A (zh) | 2023-05-17 | 2023-05-17 | 一种基于GraphSAGE的恶意DoH流量检测方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116599720A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294486A (zh) * | 2023-09-18 | 2023-12-26 | 广州大学 | 一种基于图嵌入的恶意流量检测方法及系统 |
-
2023
- 2023-05-17 CN CN202310554865.1A patent/CN116599720A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117294486A (zh) * | 2023-09-18 | 2023-12-26 | 广州大学 | 一种基于图嵌入的恶意流量检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110290022B (zh) | 一种基于自适应聚类的未知应用层协议识别方法 | |
CN109961204B (zh) | 一种微服务架构下业务质量分析方法和系统 | |
CN111191767B (zh) | 一种基于向量化的恶意流量攻击类型的判断方法 | |
WO2022037130A1 (zh) | 网络流量异常的检测方法、装置、电子装置和存储介质 | |
CN107786388B (zh) | 一种基于大规模网络流数据的异常检测系统 | |
CN109218223B (zh) | 一种基于主动学习的鲁棒性网络流量分类方法及系统 | |
CN112511555A (zh) | 基于稀疏表示和卷积神经网络的私有加密协议报文分类法 | |
CN113989583A (zh) | 一种互联网恶意流量检测方法及系统 | |
CN112822189A (zh) | 一种流量识别方法及装置 | |
CN113378899B (zh) | 非正常账号识别方法、装置、设备和存储介质 | |
CN113992349B (zh) | 恶意流量识别方法、装置、设备和存储介质 | |
CN108846275A (zh) | 基于ripper算法的未知操作系统类型识别方法 | |
CN105183780B (zh) | 基于改进agnes算法的协议分类方法 | |
CN116599720A (zh) | 一种基于GraphSAGE的恶意DoH流量检测方法、系统 | |
CN112887291A (zh) | 基于深度学习的i2p流量识别方法及系统 | |
CN115600128A (zh) | 一种半监督加密流量分类方法、装置及存储介质 | |
US11570069B2 (en) | Network traffic classification method and system based on improved K-means algorithm | |
Graham et al. | Finding and visualizing graph clusters using pagerank optimization | |
CN114915575A (zh) | 一种基于人工智能的网络流量检测装置 | |
Guo et al. | FullSight: A feasible intelligent and collaborative framework for service function chains failure detection | |
CN112235254A (zh) | 一种高速主干网中Tor网桥的快速识别方法 | |
CN115225310B (zh) | 基于优化元学习的轻量恶意软件流量检测方法及装置 | |
CN114979017B (zh) | 基于工控系统原始流量的深度学习协议识别方法及系统 | |
CN113746707B (zh) | 一种基于分类器及网络结构的加密流量分类方法 | |
CN114900835A (zh) | 恶意流量智能检测方法、装置及存储介质 |
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 |