CN115037805B - 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 - Google Patents
一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN115037805B CN115037805B CN202210641577.5A CN202210641577A CN115037805B CN 115037805 B CN115037805 B CN 115037805B CN 202210641577 A CN202210641577 A CN 202210641577A CN 115037805 B CN115037805 B CN 115037805B
- Authority
- CN
- China
- Prior art keywords
- layer
- protocol
- data
- encoder
- clustering
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000007781 pre-processing Methods 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 33
- 238000011176 pooling Methods 0.000 claims description 23
- 238000009826 distribution Methods 0.000 claims description 22
- 238000000605 extraction Methods 0.000 claims description 16
- 230000004913 activation Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 239000000284 extract Substances 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004140 cleaning Methods 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 230000008521 reorganization Effects 0.000 claims description 5
- 230000007246 mechanism Effects 0.000 abstract description 9
- 238000012549 training Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000013145 classification model Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000002123 temporal effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003014 reinforcing effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/06—Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- 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/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Environmental & Geological Engineering (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质,识别方法包括从网络中获取原始网络数据包并进行数据预处理,得到应用层协议数据;将应用层协议数据进行特征提取,得到协议数据特征;将协议数据特征输入预训练的协议识别模型,获得协议识别结果。通过预训练的自编码器模型中的编码器,利用NIN层和BLSTM层提取协议数据的时空特征,并利用通道注意力机制和空间注意力机制进行特征的强化。在未知协议识别阶段,通过构建协议识别模型,对协议数据进行聚类,不断训练协议识别模型,当模型损失函数收敛时达到最优,并获得最终的协议识别结果。
Description
技术领域
本发明涉及一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质,属于网络信息安全技术领域。
背景技术
未知协议是指协议规范未公开的私有或半私有协议。随着互联网的不断发展,各种未知协议不断涌现,给网络管理和网络安全带来严峻挑战。由于缺少协议的先验知识,基于端口的协议识别方法和基于深度包检测的协议识别方法无法有效识别未知协议。由于难以确定适用于识别未知协议的统计特征,基于机器学习的协议识别方法也难以应用于未知协议识别。
识别未知协议并进行分析,有助于发现网络中可能存在的安全威胁并采取有效的防御措施,对网络管理和网络安全至关重要。由于未知协议大部分是应用层协议,本发明主要研究如何有效识别未知应用层协议。
根据是否使用协议类别标签进行训练,现有未知协议识别方法主要可以分为有监督未知协议识别方法、半监督未知协议识别方法和无监督未知协议识别方法。有监督未知协议识别方法将已知协议之外的所有协议均划分为未知协议,该类方法存在将所有未知协议分为一类、不能对未知协议类别进行细致区分的问题。半监督未知协议识别方法利用已知协议的信息对未知协议进行分类,当未知协议与已知协议区别较大时,该类方法将失效。无监督未知协议识别方法首先需要利用人工或自编码器提取协议数据特征,然后利用无监督聚类算法基于所提取特征对未知协议数进行聚类,使得相同簇的对象之间相似度高,不同簇的对象之间差异较大,此时不同的簇代表不同的协议类型。然而现有无监督未知协议识别方法存在以下问题:(1)采用算法多属于浅层机器学习模型,只能捕获协议数局部特征,导致最终聚类效果欠佳。(2)自编码器虽然能自动提取协议数据并进行降维,但是自编码器的特征提取过程和后续无监督聚类过程往往被割裂开来,无法利用后续聚类损失对自编码器进行优化,更准确地提取协议数据特征。(3)协议数据是一种高度结构化的序列数据,往往同时具有空间特征和时间特征,现有的未知协议识别方法未充分利用这一特性,构建的自编码器无法有效提取协议数据的空间特征和时间特征。
总体上看,现有的聚类算法对于未知协议的识别并不理想,协议识别模型的特征提取能力有限,协议识别准确率偏低。
发明内容
本发明的目的在于克服现有技术中的不足,提供一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质,将无监督深度神经网络和聚类算法结合起来,利用深度神经网络自动挖掘输入数据特征,将高维输入数据压缩到低维潜在空间,利用聚类时产生的聚类损失进一步优化深度神经网络结构,能够提高神经网络的特征提取能力进而提高最终聚类效果,有效识别未知协议。
为达到上述目的,本发明是采用下述技术方案实现的:
第一方面,一种基于深度聚类的未知网络协议识别方法,包括:
获取待识别网络协议的原始网络数据包并进行数据预处理,得到应用层协议数据;
将应用层协议数据进行特征提取,得到协议数据特征;
将协议数据特征输入预训练的协议识别模型,获得协议识别结果;其中所述协议识别模型包括编码器和与编码器相连的聚类层;编码器用于对协议数据特征进行编码处理,聚类层用于对提取的输入特征进行聚类优化。
进一步的,所述数据预处理包括对待识别网络协议的原始网络数据包依次进行网络流量清洗、网络流重组与切分以及协议数据归一化。
进一步的,所述特征提取的方法包括采用训练好的自编码器模型对应用层协议数据依次提取空间特征、进行通道注意力学习、进行空间注意力学习和提取时间特征。
进一步的,所述自编码器模型包括解码器和协议识别模型的编码器,所述编码器包括依次连接的NIN层、通道注意力层、空间注意力层以及BLSTM层,解码器包括依次连接的BLSTM层、通道注意力层、空间注意力层以及NIN层。
进一步的,所述NIN层包括依次连接的4个卷积层,每个卷积层利用多个相同大小的卷积核提取数据的空间特征,并采用ReLU为激活函数;
所述通道注意力层包括一个全局最大池化层、一个全局平均池化层、两个全连接层和一个Reshape层;全局最大池化层与全局平均池化层并联,并同时与串联的两个全连接层连接,全连接层通过一个Sigmoid激活函数与Reshape层连接;
所述空间注意力层包括依次连接的一个全局最大池化层、一个全局平均池化层和一个卷积层;
所述BLSTM层包括串联的两个BLSTM块。
进一步的,所述自编码器模型的损失函数计算公式为:
式中,x为输入自编码器模型的数据;θ表示解码器的参数,β表示编码器的参数;gθ(fβ(x))为自编码器模型的输出结果。
进一步的,所述协议识别模型的损失函数采用聚类层的KL散度损失函数,KL散度损失函数的计算公式包括:
式中,i代表的是数据样本编号;j代表的是数据样本簇编号;uj为编号为j的数据样本簇;zi为编号为i的数据样本,qij表示zi属于uj的预测概率分布;pij为zi属于uj的目标概率分布;
式中,α为概率论中t分布的自由度;k为聚类的数据样本簇的总簇数;ut为属于t分布的数据样本簇;
式中,n为数据样本的总数目;k为聚类的数据样本簇的总簇数;tj表示所有数据样本属于数据样本簇uj的概率总和;s表示所遍历的数据样本簇的编号;ts表示所有数据样本属于编号为s的遍历的数据样本簇的概率总和;qis为数据样本zi属于编号为s的遍历数据样本簇的预测概率分布。
第二方面,一种基于深度聚类的未知网络协议识别系统,包括:
预处理模块:获取待识别网络协议的原始网络数据包并进行数据预处理,得到应用层协议数据;
特征提取模块:将应用层协议数据进行特征提取,得到协议数据特征;
协议识别模块:将协议数据特征输入预训练的协议识别模型,获得协议识别结果。
第三方面,一种基于深度聚类的未知网络协议识别装置,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据上述任一项所述方法的步骤。
第四方面,计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
与现有技术相比,本发明所达到的有益效果:
(1)本发明通过由预训练的编码器和聚类层组合的协议识别模型,对经过预处理及特征提取后的待识别网络协议进行识别,将无监督深度神经网络和聚类算法结合起来,利用深度神经网络挖掘输入数据特征,将高维输入数据压缩到低维潜在空间,利用聚类时产生的聚类损失进一步优化深度神经网络结构,能够提高神经网络的特征提取能力进而提高最终聚类效果,充分利用深度聚类方法的优势,自动挖掘协议数据中具有区分度的关键特征,提高未知协议识别的准确率。
(2)通过对待识别网络协议依次进行网络流量清洗、网络流重组与切分、协议数据归一化的预处理,能从网络流量中获得协议识别所需要的网络流信息,并将其转化为协议识别模型容易处理并进行识别的格式;
(3)通过构建包含NIN层、通道注意力层、空间注意力层以及BLSTM层的编码器对预处理后的待识别网络协议进行特征提取,能结合待识别网络协议数据的特点,提取协议数据的时空特征,并利用通道注意力机制和空间注意力机制进行特征强化,确保提取最有区分度的特征用于协议识别。
附图说明
图1是实施例一中提供的方法流程图;
图2是实施例一中自编码器模型结构图;
图3是实施例一中编码器结构图;
图4是实施例一中协议识别模型结构图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例一:
本实施例提供了一种基于深度聚类的未知网络协议识别方法,包括三个阶段:数据预处理阶段、特征提取阶段以及未知协议识别阶段,具体包括以下步骤:
从网络中获取原始网络数据包并进行数据预处理,得到应用层协议数据;
将应用层协议数据进行特征提取,得到协议数据特征;
将协议数据特征输入到预训练的协议识别模型中进行识别处理,输出协议识别结果。
其中协议识别模型包括编码器和与编码器相连的聚类层;编码器用于对协议数据特征进行编码处理,得到提取的输入特征,聚类层用于对提取的输入特征进行聚类优化。
一、数据预处理阶段
数据预处理阶段主要可以细分为三个子步骤:网络流量清洗、网络流重组与切分和协议数据归一化。通过数据预处理,可以从网络中获得协议识别所需要的网络流信息,具体为原始网络数据包。
网络流量清洗。在真实网络环境捕获的网络数据包会包含一些与协议识别无关的数据包,需要将这些数据包剔除以提高协议识别的准确率。这些数据包与应用层协议的识别并没有直接联系,因此需要删除,避免影响后续的协议识别。在本实施例中,删除用于建立和结束TCP连接的TCP SYN数据包和TCP FIN数据包。
网络流重组与切分。在进行未知应用层协议识别之前,需要对网络流量进行重组,本实施例将网络数据包重组为网络流,在网络流的基础上进行协议识别。网络流是完整的一次TCP连接或者完整的一次UDP交互。对于TCP连接,利用建立和结束连接的数据包分别标识网络流的开始和结束,利用协议首部的序列号和标识将网络流重组为有序流。对于UDP连接,则可以采用设置时间阈值的方法,首个数据包的发送时间标识当前网络流的开始时间,计算后续数据包发送时间与网络流的开始时间的差值,差值大于时间阈值表明当前流的传输结束,按捕获顺序将数据包重组为有序流,否则则认为当前流传输还未结束。由于后续分析中所使用的神经网络对输入数据有格式要求,因此需要对重组后的网络流进行切分。对于未知协议,由于协议规范没有公开,也就难以确定协议首部和有效载荷的准确边界。在网络协议中,协议首部的格式相对固定,是区分不同协议的关键,载荷部分则是随机性较强的数据,对协议识别的作用相对较弱。因此为确保输入数据中包含协议首部信息和尽可能少的载荷数据,本发明截取网络流前部固定长度的一段数据,并根据需要进行截断和填充操作,对于长度超过设置的固定长度的网络流,舍弃多余部分;对于长度小于固定长度的网络流,从网络流尾部开始填充0确保长度统一。
协议数据归一化。在对网络流切分后,得到长度为L的字节序列。将序列的每个字节转换为0~255之间的十进制数,构建长为L的一维矩阵x。为了消除不同量纲的影响,提高未知应用层协议识别的准确率,对所得矩阵x进行归一化处理,方法是将x各分量的值除以255,将其归一到[0,1]范围。
二、特征提取阶段
对于经过数据预处理后的网络协议数据,需要对其特征进行提取,本实施例中采用无监督神经网络中的自编码器模型进行特征提取。特征提取阶段涉及到自编码器模型的构建、预训练以及使用三个子阶段。
(1)构建自编码器模型。
如图2所示,自编码器模型包括协议识别模型中的编码器和解码器。其中如图3所示,编码器包括依次连接的NIN层、通道注意力层、空间注意力层以及BLSTM层,分别对应用层协议数据进行空间特征学习、通道注意力学习、空间注意力学习和时间特征学习;解码器包括依次连接的BLSTM层、通道注意力层、空间注意力层以及NIN层。
NIN层。包括依次连接的4个卷积层,每个卷积层利用多个相同大小的卷积核提取数据的空间特征;卷积层进行卷积运算时,每个卷积核与当前感受野内的对应元素相乘得到一个数值,然后移动固定步长后进行卷积运算得到另一个数值,两个步骤不断重复,最终得到多个数值,所有数值进行非线性激活后构成一个特征图。每个卷积核对应一个特征图,所有卷积核对应的特征图构成卷积层输出。ReLU激活函数具有加速网络训练和防止梯度消失的优点,因此本发明实施例采用ReLU作为NIN模型卷积层的激活函数。
通道注意力层。所述通道注意力层包括一个全局最大池化层、一个全局平均池化层、两个全连接层和一个Reshape层。全局最大池化层与全局平均池化层并联,并同时与串联的两个全连接层连接,全连接层通过一个Sigmoid激活函数与Reshape层连接;全局最大池化层提取通道注意力层输入数据的特征,然后利用两个串联的全连接层进一步提取输入数据的特征,得到一个初始权重矩阵;与全局最大池化层并联的全局平均池化层同时提取通道注意力层的输入数据特征,两个串联的全连接层进一步提取输入数据的特征,得到另一个初始权重矩阵。将两个初始权重矩阵对应位置元素相加,利用Sigmoid激活函数激活并利用Reshape层调整维度后得到通道注意力层的权重矩阵,最后利用所得权重矩阵强化通道注意力层的输入数据特征。由于利用NIN模型提取协议数据的空间特征时不同卷积核各有侧重,所得特征图区别较大,对协议识别任务的重要性是不同的。如果不进行通道注意力学习,那么在后续协议识别过程中,每个特征图将被视为同等重要并赋予相同权重,不利于提高协议识别准确率。通道注意力机制能够学习各个特征图的重要性,根据当前任务选择性增强或抑制不同的特征图,提高分类效果。本实施例利用通道注意力机制学习特征图之间的相互关系,得到一个权重矩阵,将权重矩阵和所提取协议数据空间特征相乘,使得关键特征图赋予较大的权重、非关键特征图赋予较小的权重,达到对协议数据空间特征进行强化进而提高协议识别准确率的目的。经过通道注意力学习后,NIN模型提取的协议数据空间特征得到强化,在后续协议识别任务中,关键特征图的影响力得到显著提升,非关键特征图的影响力显著下降,有助于提高协议识别的准确率。
空间注意力层。所述空间注意力层包括依次连接的一个全局最大池化层、一个全局平均池化层和一个卷积层。全局最大池化层和全局平均池化层分别提取空间注意力层输入数据的特征,得到两个初始权重矩阵,将两个初始权重矩阵按通道维度进行拼接,利用卷积层进一步提取拼接后权重矩阵的更细粒度特征,然后利用Sigmoid激活函数进行激活,最后利用所得权重矩阵强化通道注意力层输入数据的特征。由于协议数据不同字段对于协议识别的重要性不同,例如在一条HTTP协议报文“HTTP/1.1 200OK”中,只有“HTTP/1.1”是识别协议的关键。因此在进行通道注意力学习后,需要利用空间注意力机制对NIN网络提取的协议数据空间特征进一步强化,赋予特征图内关键位置的特征更大的权重,提高协议识别准确率。首先分析特征图内各个位置的重要性,利用分析所获得的重要性权重对通道注意力图作强化。经过空间注意力学习后,协议数据空间特征得到强化,每个特征图内关键位置和非关键位置特征被赋予不同的权重,提升了关键位置特征对后续协议识别任务的影响力。经过第二个步骤通道注意力学习和第三个步骤空间注意力学习后,协议数据空间特征得到全面强化,关键特征图和每个特征图内的关键位置特征将在后续协议识别中起决定性作用,提升未知协议识别的准确率。
BLSTM层。包括两个BLSTM块,分别为BLSTM_6层和BLSTM_7层,目的是更好地提取协议数据的时间特征,两者特征学习过程相同。以BLSTM_6层为例介绍特征提取过程。假设BLSTM_6层的输入为一维矩阵,计算前向LSTM层和后向LSTM层的隐状态输出,将前向LSTM层和后向LSTM层的输出特征进行拼接可以得到BLSTM_6层的输出特征。经过时间特征学习后,所得协议数据空间特征内部蕴含的时间特征可以被挖掘出来,得到更具代表性和更能区分协议类型的协议数据时空特征。
(2)预训练自编码器模型
未知网络协议数据经过预处理后转化为符合自编码器输入数据的格式,将协议数据输入到自编码器中。在训练自编码器时,优化目标是使自编码器的输入和自编码器的输出之间的差异越小越好。我们使用的损失函数是Mean Square Error(MSE)。根据MSE损失函数调整优化自编码器的网络参数,当损失函数达到稳定时停止训练。
自编码器模型训练方法包括:将训练用的网络协议数据输入到预构建的自编码器模型中,进行编码及解码,直至自编码器模型损失函数稳定,完成自编码器模型的训练。
所述自编码器模型的损失函数采用MSE损失函数,计算公式为:
式中,x为输入自编码器模型的数据;θ表示解码器的参数,β表示编码器的参数;gθ(fβ(x))为自编码器模型的输出结果。
(3)使用自编码器模型
在对自动编码器进行预训练后,自动编码器的编码器可以看作是从输入到潜在空间的映射,而自动编码器的解码器则利用潜在空间中的信息重构输入。所得到的潜在空间包含了最具表现力的输入特征,将编码器与聚类层结合的方式提取的特征与聚类原始数据两者相比,编码器与聚类层结合的方式提取的特征可以得到更高的准确率。其原因在于原始输入的维数通常很高,并且原始输入中包含许多冗余特征,经过编码器提取输入特征后再进行聚类,能够更高效、准确地将不同类别的数据聚集在一起。在本发明的协议识别过程中,需要利用编码器提取协议数据的特征,以便后续对未知协议进行聚类,而不需要解码器重构输入。因此,保留编码器用于协议识别模型的构建,将编码器与聚类层相连接构建协议识别模型。
三、未知协议识别阶段
经过数据预处理的未知网络协议数据在经过预训练的自编码器模型中编码器的特征提取后,得到协议数据特征,本实施例中识别阶段基于协议识别模型对协议数据特征进行处理,最终输出协议识别结果。具体包括构建和实时训练两个子阶段。
(1)构建协议识别模型
如图4所示,本实施例中协议识别模型包括预训练的自编码器中的编码器部分以及与编码器连接的聚类层。
(2)实时训练协议识别模型
本实施例中协议识别模型的实时训练基于对聚类层的实时优化,利用K-Means算法基于编码器提取的协议数据特征进行聚类,得到初始聚类结果。由于K-Means算法随机选择聚类中心,常常导致聚类结果不理想,因此需要优化调整聚类中心。在优化过程中,首先利用聚类层计算每项协议数据属于各个簇的概率,基于所得概率计算聚类损失,然后根据聚类损失优化分类模型。当连续的两轮优化过程中,发生标签变化的协议数据小于某一阈值时,认为协议识别模型达到了最优,所得到的聚类结果可以作为最终结果输出。
在计算聚类损失时,首先利用聚类层计算每个样本属于各个簇的概率,得到预测概率分布Q。为衡量所得概率分布Q的准确性,需要构建了一个目标概率分布P,计算P和Q的KL散度损失,即聚类损失。选择KL散度损失函数的原因是:在概率论研究领域,KL散度损失函数可用于量化两个概率分布之间的差异,两个概率分布的差异越小,对应的KL散度值越小。所选择的目标概率分布P需要满足以下特点:1)能够提高聚类的准确率,2)对于属于某个簇的可能性很大的协议数据样本,在优化后属于该簇的可能性将变得更大,3)在计算聚类损失时,对每个簇中心的损失贡献进行归一化。分类模型不断迭代使得聚类损失的值逐渐减小,聚类准确率逐渐提高,当聚类损失的值小于某一阈值时,迭代停止,得到最终的聚类结果。与直接利用K-Means对数据进行聚类相比,本发明计算数据分配到各个簇的概率,进而计算聚类损失以优化分类模型。K-Means选取初始聚类中心时的随机性不再会对协议识别结果造成大的影响,协议识别的准确率可以显著提高。
其中所述KL散度损失函数,KL散度损失函数的计算公式包括:
式中,i代表的是数据样本编号;j代表的是数据样本簇编号;uj为编号为j的数据样本簇;zi为编号为i的数据样本,qij表示zi属于uj的预测概率分布;pij为zi属于uj的目标概率分布;
式中,α为概率论中t分布的自由度;k为聚类的数据样本簇的总簇数;ut为属于t分布的数据样本簇;
式中,n为数据样本的总数目;k为聚类的数据样本簇的总簇数;tj表示所有数据样本属于数据样本簇uj的概率总和;s表示所遍历的数据样本簇的编号;ts表示所有数据样本属于编号为s的遍历的数据样本簇的概率总和;qis为数据样本zi属于编号为s的遍历数据样本簇的预测概率分布。
基于KL散度损失函数的收敛,聚类层优化完成,可确定协议识别模型的实时训练结束,输出的结果即为未知网络协议识别的结果。
本发明基于深度聚类的未知网络协议识别方法,首先对待识别网络协议中获取原始网络数据包进行数据预处理,经过网络流量清洗、网络流重组与切分、协议数据归一化步骤之后,从原始网络数据中获得协议识别所需要的符合自编码器格式要求的网络流,也即应用层协议数据。对于应用层协议数据,结合网络协议数据的特点,通过预训练的自编码器模型中的编码器,利用NIN层和BLSTM层提取协议数据的时空特征,并利用通道注意力机制和空间注意力机制进行特征的强化。在未知协议识别阶段,通过构建协议识别模型,对协议数据进行聚类,根据聚类损失函数不断实时训练协议识别模型,当模型损失函数收敛时达到最优,并获得最终的协议识别结果。本发明自动挖掘协议数据具有区分度的关键特征,能够显著提升未知协议识别的准确率。
实施例二:
本实施例提供了一种基于深度聚类的未知网络协议识别系统,包括:
预处理模块:获取待识别网络协议的原始网络数据包并进行数据预处理,得到应用层协议数据;
特征提取模块:将应用层协议数据进行特征提取,得到协议数据特征;
协议识别模块:将协议数据特征输入预训练的协议识别模型,获得协议识别结果。
实施例三:
本发明实施例还提供了一种基于深度聚类的未知网络协议识别装置,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行下述方法的步骤:
获取待识别网络协议的原始网络数据包并进行数据预处理,得到应用层协议数据;
将应用层协议数据进行特征提取,得到协议数据特征;
将协议数据特征输入预训练的协议识别模型,获得协议识别结果;
实施例四:
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现下述方法的步骤:
获取待识别网络协议的原始网络数据包并进行数据预处理,得到应用层协议数据;
将应用层协议数据进行特征提取,得到协议数据特征;
将协议数据特征输入预训练的协议识别模型,获得协议识别结果;
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种基于深度聚类的未知网络协议识别方法,其特征在于,包括:
获取待识别网络协议的原始网络数据包并进行数据预处理,得到应用层协议数据;
将应用层协议数据进行特征提取,得到协议数据特征;
将协议数据特征输入预训练的协议识别模型,获得协议识别结果;其中所述协议识别模型包括编码器和与编码器相连的聚类层;编码器用于对协议数据特征进行编码处理,聚类层用于对提取的输入特征进行聚类优化;
其中,所述特征提取的方法包括采用训练好的自编码器模型对应用层协议数据依次提取空间特征、进行通道注意力学习、进行空间注意力学习和提取时间特征;
所述自编码器模型包括解码器和协议识别模型的编码器,所述编码器包括依次连接的NIN层、通道注意力层、空间注意力层以及BLSTM层,解码器包括依次连接的BLSTM层、通道注意力层、空间注意力层以及NIN层。
2.根据权利要求1所述的基于深度聚类的未知网络协议识别方法,其特征在于,所述数据预处理包括对待识别网络协议的原始网络数据包依次进行网络流量清洗、网络流重组与切分以及协议数据归一化。
3.根据权利要求1所述的基于深度聚类的未知网络协议识别方法,其特征在于,所述NIN层包括依次连接的4个卷积层,每个卷积层利用多个相同大小的卷积核提取数据的空间特征,并采用ReLU为激活函数;
所述通道注意力层包括一个全局最大池化层、一个全局平均池化层、两个全连接层和一个Reshape层;全局最大池化层与全局平均池化层并联,并同时与串联的两个全连接层连接,全连接层通过一个Sigmoid激活函数与Reshape层连接;
所述空间注意力层包括依次连接的一个全局最大池化层、一个全局平均池化层和一个卷积层;
所述BLSTM层包括串联的两个BLSTM块。
5.根据权利要求1所述的基于深度聚类的未知网络协议识别方法,其特征在于,所述协议识别模型的损失函数采用聚类层的KL散度损失函数,KL散度损失函数的计算公式包括:
式中,i代表的是数据样本编号;j代表的是数据样本簇编号;uj为编号为j的数据样本簇;zi为编号为i的数据样本,qij表示zi属于uj的预测概率分布;pij为zi属于uj的目标概率分布;
式中,α为概率论中t分布的自由度;k为聚类的数据样本簇的总簇数;ut为属于t分布的数据样本簇;
式中,n为数据样本的总数目;k为聚类的数据样本簇的总簇数;tj表示所有数据样本属于数据样本簇uj的概率总和;s表示所遍历的数据样本簇的编号;ts表示所有数据样本属于编号为s的遍历的数据样本簇的概率总和;qis为数据样本zi属于编号为s的遍历数据样本簇的预测概率分布。
6.一种基于深度聚类的未知网络协议识别系统,其特征在于,包括:
预处理模块:获取待识别网络协议的原始网络数据包并进行数据预处理,得到应用层协议数据;
特征提取模块:将应用层协议数据进行特征提取,得到协议数据特征;
协议识别模块:将协议数据特征输入预训练的协议识别模型,获得协议识别结果;
其中,所述特征提取的方法包括采用训练好的自编码器模型对应用层协议数据依次提取空间特征、进行通道注意力学习、进行空间注意力学习和提取时间特征;
所述自编码器模型包括解码器和协议识别模型的编码器,所述编码器包括依次连接的NIN层、通道注意力层、空间注意力层以及BLSTM层,解码器包括依次连接的BLSTM层、通道注意力层、空间注意力层以及NIN层。
7.一种基于深度聚类的未知网络协议识别装置,其特征在于,包括处理器及存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行根据权利要求1~5任一项所述方法的步骤。
8.计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210641577.5A CN115037805B (zh) | 2022-06-08 | 2022-06-08 | 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210641577.5A CN115037805B (zh) | 2022-06-08 | 2022-06-08 | 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115037805A CN115037805A (zh) | 2022-09-09 |
CN115037805B true CN115037805B (zh) | 2023-05-30 |
Family
ID=83122129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210641577.5A Active CN115037805B (zh) | 2022-06-08 | 2022-06-08 | 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115037805B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115664906B (zh) * | 2022-10-18 | 2023-05-02 | 中国人民解放军军事科学院系统工程研究院 | 一种tdma信号协议无监督聚类方法及装置 |
CN116545772B (zh) * | 2023-07-04 | 2023-09-19 | 杭州海康威视数字技术股份有限公司 | 轻量级物联网流量的协议识别方法、装置及设备 |
CN117640476A (zh) * | 2024-01-23 | 2024-03-01 | 中国人民解放军61660部队 | 一种基于关系网络的小样本应用层协议识别方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871948A (zh) * | 2019-03-26 | 2019-06-11 | 中国人民解放军陆军工程大学 | 一种基于二维卷积神经网络的应用层协议识别方法 |
CN110532564A (zh) * | 2019-08-30 | 2019-12-03 | 中国人民解放军陆军工程大学 | 一种基于cnn和lstm混合模型的应用层协议在线识别方法 |
-
2022
- 2022-06-08 CN CN202210641577.5A patent/CN115037805B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109871948A (zh) * | 2019-03-26 | 2019-06-11 | 中国人民解放军陆军工程大学 | 一种基于二维卷积神经网络的应用层协议识别方法 |
CN110532564A (zh) * | 2019-08-30 | 2019-12-03 | 中国人民解放军陆军工程大学 | 一种基于cnn和lstm混合模型的应用层协议在线识别方法 |
Non-Patent Citations (2)
Title |
---|
Network protocol recognition based on convolutional neural network;Wenbo Feng, etc.;《IEEE》;全文 * |
自适应聚类的未知应用层协议识别方法;洪征等;《计算机工程与应用》;第56卷(第5期);第109-117页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115037805A (zh) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115037805B (zh) | 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 | |
CN112839024B (zh) | 一种基于多尺度特征注意力的网络流量分类方法及系统 | |
CN114615093B (zh) | 基于流量重构与继承学习的匿名网络流量识别方法及装置 | |
WO2015180101A1 (en) | Compact face representation | |
CN109033833B (zh) | 一种基于多特征与特征选择的恶意代码分类方法 | |
Yang et al. | One-class classification using generative adversarial networks | |
CN116992299B (zh) | 区块链交易异常检测模型的训练方法、检测方法及装置 | |
CN110826617A (zh) | 态势要素分类方法及其模型的训练方法、装置及服务器 | |
CN115277888B (zh) | 一种移动应用加密协议报文类型解析方法及系统 | |
CN114006870A (zh) | 一种基于自监督卷积子空间聚类网络的网络流量识别方法 | |
CN111130942B (zh) | 一种基于消息大小分析的应用流量识别方法 | |
Xue et al. | Classification and identification of unknown network protocols based on CNN and T-SNE | |
CN111404942A (zh) | 一种基于深度学习的垂直类恶意爬虫流量识别方法 | |
CN117375896A (zh) | 基于多尺度时空特征残差融合的入侵检测方法及系统 | |
CN114332500A (zh) | 图像处理模型训练方法、装置、计算机设备和存储介质 | |
CN117527391A (zh) | 基于注意力机制和一维卷积神经网络的加密流量分类方法 | |
CN118041689A (zh) | 一种网络恶意流量检测方法 | |
CN114726802A (zh) | 一种基于不同数据维度的网络流量识别方法及装置 | |
CN116915720B (zh) | 物联网设备流量识别方法、系统、电子设备及存储介质 | |
CN116738354B (zh) | 一种电力物联网终端行为异常检测方法及系统 | |
CN118210706A (zh) | 一种基于深度学习的测试用例过滤方法和装置 | |
CN114979017B (zh) | 基于工控系统原始流量的深度学习协议识别方法及系统 | |
CN115795314B (zh) | 一种关键样本采样方法、系统、电子设备及存储介质 | |
CN112383488A (zh) | 一种适用于加密与非加密数据流的内容识别方法 | |
CN115348215B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |