CN114048799A - 一种基于统计信息和有效载荷编码的零日流量分类方法 - Google Patents
一种基于统计信息和有效载荷编码的零日流量分类方法 Download PDFInfo
- Publication number
- CN114048799A CN114048799A CN202111229160.XA CN202111229160A CN114048799A CN 114048799 A CN114048799 A CN 114048799A CN 202111229160 A CN202111229160 A CN 202111229160A CN 114048799 A CN114048799 A CN 114048799A
- Authority
- CN
- China
- Prior art keywords
- pos
- layer
- zero
- payload
- training
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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/045—Combinations of 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/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/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Biology (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于统计信息和有效载荷编码的零日流量分类方法,包括,构建混合神经网络,并用任意无标签数据、有标签已知类别的流量和深度度量学习策略预训练混合神经网络;对待识别的流量和有标签已知类别的流量进行无偏化预处理,构成统计信息四元组和有效载荷;并通过标准化处理得到格式化样本A、B;根据混合神经网络得到嵌入向量A、B;利用k‑Means聚类算法对嵌入向量A、B进行聚类,识别零日应用流量;将人工标注的零日流量进行无偏化预处理和标准化处理,得到格式化样本C,通过混合神经网络得到嵌入向量C;将嵌入向量B、C加入支撑集,而后通过k‑NN算法对支撑集和嵌入向量A进行分类;本发明具有较高的分类精度。
Description
技术领域
本发明涉及网络流量分类的技术领域,具体而言涉及一种基于统计信息和有效载荷编码的零日流量分类方法。
背景技术
近年来流量分类对于网络安全、服务质量、网络监视和管理具有重要的意义。这些应用在对网络流量缺乏了解的情况下并不能很好的工作,因此流量分类技术,即根据不同的任务需求,将网络中的流量正确归类到一个或者多个类别中实际是这些应用的前置要求。
由于流量分类问题的重要意义,从互联网产生的早期至今一直是重要的研究课题。现有的流量分类技术可以大致分为传统流量分类方法和基于机器学习的流量分类方法,但两者流量分类问题尚存在一些问题还未被很好的解决包括:1.输入数据可能是异构且有偏的;2.多分类/多标签问题;3.零日应用的发现和识别。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明提供了一种基于统计信息和有效载荷编码的零日流量分类方法,能够解决输入数据是异构且有偏的问题,解决多分类/多标签问题,解决零日应用的发现和识别问题。
为解决上述技术问题,本发明提供如下技术方案:包括,构建混合神经网络,并用任意无标签数据、有标签已知类别的流量和深度度量学习策略预训练所述混合神经网络;对待识别的流量和参与混合神经网络预训练的有标签已知类别的流量进行无偏化预处理,构成统计信息四元组和数据包中有效载荷部分;并通过标准化处理得到格式化样本A和格式化样本B;将所述格式化样本A和格式化样本B输入至所述混合神经网络,得到嵌入向量A和嵌入向量B;利用k-Means聚类算法对所述嵌入向量A和嵌入向量B进行聚类,以识别零日应用流量;将人工标注的零日流量进行无偏化预处理和标准化处理,得到格式化样本C,将所述格式化样本C输入至所述混合神经网络得到嵌入向量C;将所述嵌入向量B、嵌入向量C加入k-NN算法的支撑集,而后通过k-NN算法对所述支撑集和嵌入向量A进行分类。
作为本发明所述的基于统计信息和有效载荷编码的零日流量分类方法的一种优选方案,其中:所述混合神经网络包括自编码器层、预训练头、Transformers层;所述自编码器层包括:全连接层构成的统计信息编码器-解码器结构、卷积神经网络层、反卷积网络层、最大池化层和ReLU激活层构成的有效载荷编码器-解码器结构;所述预训练头和所述自编码器层共享统计信息解码器和有效载荷解码器,并带有一个输入维度126,输出维度2的全连接网络层,所述预训练头将Transformers层的输出移除词元帽对应的2个维度,恢复到126维,按Transformers层的输入时的词元类型,分别将词元输入到统计信息解码器和有效载荷解码器还原为统计信息四元组和原始载荷,以获得流重构的结果,并将矩阵第一个词元输入到一个输入维度126,输出维度2的全连接层,获得流完整性预测的结果。
作为本发明所述的基于统计信息和有效载荷编码的零日流量分类方法的一种优选方案,其中:所述Transformer层将自编码器层的两个编码器的输出按原始流量中的顺序拼接为一个完整的流矩阵;而后在流矩阵的开头插入一个全零的126维度词元,并为每一个词元添加一个2维度的词元帽,以来区分词元的类型;对流矩阵添加位置编码信息,将位置编码pepos附加到流矩阵中的每个词元repos上,将其变为epos;
其中,在流矩阵中,第pos个词元的位置编码pepos包含128个维度,其值可以下式求得:
所述epos为:
epos=repos+pepos
其中,2i,2i+1∈[1,128],i为向量第i个位置;pe(pos,2i)为pepos第2i个元素;为第i∈[1,63]组的波长;pe(pos,2i+1)为pepos第2i+1个元素;epos为未添加位置编码前流矩阵第pos个词元;pepos为流矩阵第pos个词元repos对应位置编码;repos为添加位置编码后流矩阵第pos个词元。
作为本发明所述的基于统计信息和有效载荷编码的零日流量分类方法的一种优选方案,其中:用所述任意无标签数据预训练所述混合神经网络为预训练阶段;所述预训练阶段包括:对自编码器层进行预训练;对自编码器层、Transformers层和预训练头进行联合预训练。
作为本发明所述的基于统计信息和有效载荷编码的零日流量分类方法的一种优选方案,其中:所述无偏化预处理包括,从所述待识别的流量和参与混合神经网络预训练的有标签已知类别的流量中采集若干数据包;对于每个数据包,丢弃头部的协议层,保留有效载荷长度、TCP窗口大小、到达时间、方向构成所述统计信息四元组。
作为本发明所述的基于统计信息和有效载荷编码的零日流量分类方法的一种优选方案,其中:所述标准化处理包括,将所有的统计信息四元组中的值h变换为log(1+h),将有效载荷的每个字节p视为[0,255]间的一个值,并将其变换为该值得取值范围是[0,1]。
作为本发明所述的基于统计信息和有效载荷编码的零日流量分类方法的一种优选方案,其中:所述嵌入向量样本A、所述嵌入向量样本B、所述嵌入向量样本C为一个128维嵌入向量。
作为本发明所述的基于统计信息和有效载荷编码的零日流量分类方法的一种优选方案,其中:所述嵌入向量A和所述嵌入向量B输入k-Means聚类算法得到输出的簇,所述簇需满足两个条件:簇内嵌入向量数大于阈值,所述阈值取值0或1;簇内不包含任何有标签已知类别的流量对应的嵌入向量,以识别所述零日应用流量。F
作为本发明所述的基于统计信息和有效载荷编码的零日流量分类方法的一种优选方案,其中:所述零日应用流量中的流量进行5%的人工标记得到所述人工标注的零日流量。
本发明的有益效果:本发明保留了异构输入的信息、有效统计信息和有效载荷的内在联系和时序信息,比现有技术分类任务的准确度高3.5%,同时仅需人工标记5%的零日流量,即可大约90%的准确率分类零日流量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明第一个实施例所述的基于统计信息和有效载荷编码的零日流量分类方法的混合神经网络的结构及两阶段预训练的流程示意图;
图2为本发明第一个实施例所述的基于统计信息和有效载荷编码的零日流量分类方法的有效载荷编码器修正特征偏移及缩减维度的示意图;
图3为本发明第一个实施例所述的基于统计信息和有效载荷编码的零日流量分类方法的多头注意力机制的原理和结构示意图;
图4为本发明第一个实施例所述的基于统计信息和有效载荷编码的零日流量分类方法的混合神经网络和机器学习算法的连接方式示意图;
图5为本发明第一个实施例所述的基于统计信息和有效载荷编码的零日流量分类方法的深度度量学习的Triplet Margin Loss概念示意图;
图6为本发明第一个实施例所述的基于统计信息和有效载荷编码的零日流量分类方法的将深度度量学习拓展到多任务多标签环境的基本概念;
图7为本发明第一个实施例所述的基于统计信息和有效载荷编码的零日流量分类方法的深度度量学习可以从已知类的训练中识别未知类的必要条件示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1~图7,为本发明的第一个实施例,该实施例提供了基于统计信息和有效载荷编码的零日流量分类方法,包括:
S1:构建混合神经网络,并用任意无标签数据、有标签已知类别的流量和深度度量学习策略预训练混合神经网络。
(1)混合神经网络包括自编码器层、预训练头、Transformers层;
具体的,①自编码器层包括如下结构:1.将输入的统计信息四元组编码为多个126维词元(token),及将126维词元还原为统计信息四元组的,由全连接层构成的统计信息(HDR)编码器-解码器结构;2.将输入的有效载荷信息编码为多个126维词元(token),及将126维词元还原为有效载荷信息的,由卷积神经网络层(Convolution Neural Network,CNN)、反卷积网络层(Transposed Convolution Neural Network)、最大池化层(MaxPooling)和ReLU激活层构成的有效载荷(PAY)编码器-解码器结构;结合图2,有效载荷编码器可以一定程度修正特征偏移及缩减维度;相比于将原始流量中的字节直接输入Transformer层的做法,使用卷积神经网络构成的有效载荷编码器可以将有效载荷中最为显著的局部特征编码为126维的词向量,这赋予了词向量明确的含义;有效载荷编码器中使用了最大池化层,这使得有效载荷编码器以一定程度上处理特征偏移,如图2所示,并缩小了最终生成的有效载荷词元序列长度。
②预训练头:预训练头仅参与预训练过程,预训练头和自编码器层共享两个解码器,并带有一个输入维度126,输出维度2的全连接网络层;预训练头将Transformers层的输出移除词元帽对应的2个维度,恢复到126维;接着,按Transformers层的输入时的词元类型,分别将词元输入到统计信息解码器和有效载荷解码器还原为统计信息四元组和原始载荷,以获得流重构的结果,并将矩阵第一个词元(#CLS#对应的词元)输入到一个输入维度126,输出维度2的全连接网络层,获得流完整性预测的结果。
③Transformers层:Transformers层首先将自编码器层的两个编码器的输出按原始流量中的顺序拼接为一个完整的流矩阵,该矩阵的维度为126;接着,在矩阵开头插入一个全零的126维度特殊词元(#CLS#),进一步的对于每一个词元,为其添加一个2维度的“词元帽(Token Hat)”来区分它们的类型,其中,#CLS#使用(0,0)表示,来自统计信息编码器的词元使用(1,0)表示,来自有效载荷编码器的词元使用(0,1)表示,此时,流矩阵的维度为128(126+2);进一步的,为流矩阵添加位置编码信息,对于流矩阵W中,第pos个词元,其位置编码pepos包含128个维度,其值可以下式求得:
其中,2i,2i+1∈[1,128],因此每个维度都具有不同的波长或者相位差,每个位置编码都具有独特的纹理,这允许模型从纹理中了解字向量的位置;接着如下式所示,将位置编码pepos附加到流矩阵中的每个词元repos上,将其变为epos:
epos=repos+pepos
其中,epos为未添加位置编码前流矩阵第pos个词元,pepos为流矩阵第pos个词元repos对应位置编码,repos为添加位置编码后流矩阵第pos个词元。
接着,将流矩阵送入由多个(6个)Transformers块堆叠而成的网络结构中,该结构的输出同为128维的,且和输入矩阵尺寸完全相同;结合图3,说明Transformers块的结构:
每一个Transformer块的输入和输出的尺寸一致且为输入上一个Transformer块的输出,因此可以学习到更复杂的关系和更抽象的表达。该层共有6个Transformer块,其中第n层输出和第n+1层输入均为其中P为词元数(即序列长度);如图1所示,每个Transformer块都包含3个主要模块:多头注意力机制、add&norm和feed forward层;图3展示了多头注意力机制的整体结构,每个多头注意力机制中包含了k=8个并行的自注意力模块;输入x被分割为k组[x1,x2,…,xi,…,xk]后分别输入到k个自注意力模块中;对于第i个自注意力模块,输入xi分别使用参数Wi Q,Wi K,Wi V线性变换到Qi,Ki,Vi以生成自注意力机制的输入,自注意力机制的目的是通过相似度函数找出输入xi中词元间的内在联系,进而获得一个包含上下文关系的权重;自注意力机制Attention(Q,K,V)如下式:
其中,dk为自注意力模块输入xi的维度,为,Qi,Ki,Vi为3个128维度向量,softmax()为归一化指数函数,由于多头注意力机制的输入x维度为128,xi具有维度16(128/8);于是第i个自注意力块的输出headi可以被表示为:
headi=Attention(QiWi Q,KiWi K,ViWi V)
而多头注意力机制的输出MultiHead(x)为每个自注意力块输出的合并使用参数WO做线性变换,该过程可以表述为:
MultiHead(x)=Concat(headi,…,headk)WO
其中,WO为矩阵,多头注意力机制的后续为2层add&norm和一个Feed Forward网络层;Feed Forward是一个包含两个全连接层的网络,他们中间存在一个ReLU激活函数,其功能如下式:
FFN(x)=max(0,xW1+b1)W2+b2
其中,W1,b1,W2,b2为两个全连接层的参数,W1的尺寸为128×384,W2的尺寸为384×128;Add&Norm层实际为一个可以表示为y=F(x)+x的残差连接层,其中F(·)表示某种操作多头注意力机制和Feed Forward,因为模型比较深,因此残差连接层可以有效解决深层网络退化的问题,进而提高模型的表现。
(2)用任意无标签数据预训练混合神经网络为预训练阶段;训练阶段包括:对自编码器层进行预训练;对自编码器层、Transformers层和预训练头进行联合预训练。
进一步的,使用任意无标签数据预训练一个混合神经网络的具体步骤为:
①预训练阶段,输入为无标签的格式化样本,样本来源不限,但是样本数量越多,来源越广泛,预训练获得的模型的泛化性越强;学习不同词元间的内在联系。
②预训练自编码器层:对于由全连接层构成的统计信息(HDR)编码器-解码器结构,我们将统计信息四元组输入编码器,每个统计信息四元组都被编码为维度为126的词元,接着,将词元输入解码器,根据解码器重构的统计信息和输入统计信息的均方差(MSE)损失训练编码器和解码器;类似的,对于由卷积神经网络层(Convolution NeuralNetwork,CNN)、反卷积网络层(Transposed Convolution Neural Network)、最大池化层(Max Pooling)和ReLU激活层构成的有效载荷(PAY)编码器-解码器结构,为每个数据包的有效载荷添加随机噪声(将3%的值置0,并为每个值添加[-0.1,0.1]范围内的高斯噪声)后输入编码器中,编码器的输出为包含多个维度为126的词元序列;再将所有词元输入解码器,根据解码器重构的有效载荷和未添加噪声的有效载荷的均方差(MSE)损失训练编码器和解码器。
③对自编码器层预训练获得的统计信息(HDR)编码器和有效载荷(PAY)编码器的输出可能具有不同的分布,因此我们需要在联合预训练中继续训练自编码器层。
④联合预训练混合网络的自编码器层、Transformers层和预训练头:将流中每个包的统计信息和有效载荷分别输入到自编码器层的统计信息(HDR)编码器和有效载荷(PAY)编码器中;对于两个编码器的输出,以概率p=0.5将其中一个统计信息词元和有效载荷词元替换为来自其他样本的词元以破坏流完整性;对于每个词元,以概率0.04将其值替换为随机值,以概率0.16将其值替换为0;接着将这些值送入Transformers层中,并将Transformers层的输出送入预训练头中;其中,预训练头中与自编码器层共享的两个解码器从Transformers层的输出重构输入自编码器层的有效载荷和统计信息,并使用MSE计算流重构损失;预训练头中的一个输入维度126,输出维度2的全连接网络层负责预测流完整性是否被破坏,并使用交叉熵(Cross Entropy,CE)计算预测损失。
(3)用有标签已知类别的流量和深度度量学习策略预训练混合神经网络。
①使用有标签的样本构造若干个三元组,每个三元组包括一个锚点(anchor)x,与x属于同一类的正样本(positive)x+,与x异类的负样本(negative)x-;将一个三元组中的三个样本输入到混合神经网络中,对于每个样本,神经网络的输出为一个128维嵌入向量;使用d(·,·)表达距离函数(可以为欧式距离即几何距离,也可为余弦相似度等算法),同类样本x,x+在嵌入空间中的距离d1=d(f(x),f(x+))应该小于异类样本x,x-在嵌入空间中的距离d2=d(f(x),f(x-)),为了进一步分开类间距离d2和类内距离d1,一个间隔(margin)m被引入,即要求满足条件d1+m<d2;于是损失可由以下公式计算获得:
L(x,x+,x-;f)=max(0,d1-d2+m)
其中L()为损失函数,f为映射函数,由于该算法基于三元组(triplet),因此样本空间的复杂度为O(n3),在训练过程中穷举所有的三元组不可行的,且绝大多数情况下,构建的三元组都满足条件d1+m<d2,因而梯度值为0;针对这种情况,需要难样本挖掘(hardnegative mining)以选出包含信息最多的三元组,这里选择的算法为Multi SimilarityMiner其选择规则是:
1.如果一个负样本与锚点在嵌入空间的距离比最困难的正样本与锚点在嵌入空间中的距离减去间隔m还要小,那么这个负样本将被选择。可以将该条件形式化的描述为:若满足下式,负样本对{xi,xj}将被选择;
2.如果一个正样本与锚点在嵌入空间的距离比最困难的负样本与锚点在嵌入空间的距离加间隔m还小,那么这个正样本将被选择。可以将该条件形式化的描述为:若满足下式,正样本对{xi,xj}将被选择。
②为了本发明进一步推广到多目标(也称多标签,多任务)的数据中(即,一个样本可能同时具有三个标签:例如:VPN加密、VoIP、Skype),对于每个任务,使用一个单独的嵌入空间计算损失函数,并加权求和(总损失);存在两种由混合神经网络输出的嵌入向量到每个任务对应的嵌入空间的映射,分别为:
1.不做任何变换,直接将嵌入向量作为每个任务对应的嵌入空间。由于每个嵌入空间中的损失被单独计算,故具有不同的间隔m,此时不同任务的标签冲突由每个嵌入空间中的不同的间隔m解决。
2.使用由2层全连接层构成的MLP以实现重映射。
S2:对待识别的流量和参与混合神经网络预训练的有标签已知类别的流量进行无偏化预处理,构成统计信息四元组和数据包中有效载荷部分;并通过标准化处理得到格式化样本A和格式化样本B。
(1)无偏化预处理:从待识别的流量和参与混合神经网络预训练的有标签已知类别的流量中采集若干数据包;对于每个数据包,丢弃头部的协议层,保留有效载荷长度、TCP窗口大小、到达时间、方向构成统计信息四元组。
S3:将格式化样本A和格式化样本B输入至混合神经网络,得到128维嵌入向量A和128维嵌入向量B。
S4:利用k-Means聚类算法对嵌入向量A和嵌入向量B进行聚类,以识别零日应用流量。
将嵌入向量A和嵌入向量B输入k-Means聚类算法得到输出的簇,簇需满足两个条件:簇内嵌入向量数大于阈值,阈值取值0或1;簇内不包含任何有标签已知类别的流量对应的嵌入向量,以识别零日应用流量。
聚类的具体步骤为:
1.选择嵌入向量A和嵌入向量B的k个样本作为聚类中心a=[a1,a2,…ak];
2.针对数据集中每个样本xi,计算它到k个聚类中心的距离并将其分到最小聚类中心所对应的类中;
4.重复2、3两步的操作,直到聚类中心变化小于1e-4或是重复次数超过300步。
S5:将人工标注的零日流量进行无偏化预处理和标准化处理,得到格式化样本C,将格式化样本C输入至混合神经网络得到嵌入向量C。
将任意5%零日应用流量中的流量进行人工标记得到人工标注的零日流量。
S6:将嵌入向量B、嵌入向量C加入k-NN算法的支撑集,而后通过k-NN算法对支撑集和嵌入向量A进行分类。
该步骤可以被形式化的描述为,将混合神经网络视为一种从输入样本到嵌入向量的映射函数f(·),将参与模型训练的有标签已知类别样本称为数据集Ttrain,将待分类样本称为数据集Ttest,将手工标注的零日应用样本称为数据集Tnovel,那么三个数据集首先满足下式:
通过下式获得支撑集Esupport:
Esupport=f(Ttrain∪Tnovel)
类似的,待识别样本对应的嵌入向量Etest=f(Ttest),那么,对于第i个嵌入向量ei∈Etest,当下式成立时,其对应的样本的标签yi=yj:
其中d()为,ei为第i个嵌入向量,ej为第j个嵌入向量,ek为第k个嵌入向量。
实施例2
为了对本方法中采用的技术效果加以验证说明,本实施例选择和本方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。
为了对本方法中采用的技术效果加以验证说明,本实施例选择DISTILLER、1D-CNN、2-CNN、MLP、HYBRID和采用本方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。
为验证本方法相对DISTILLER、1D-CNN、2-CNN、MLP、HYBRID具有较高的任务分类准确度,本实施例中将采用传统DISTILLER、1D-CNN、2-CNN、MLP、HYBRID和本方法分别对多任务流量的进行实时分类对比。
我们在仿真平台对比不同算法的分类效果,所有仿真都在一台python3.8,Inteli9 CPU,2080ti显卡的测试平台上使用Pytorch1.8深度学习框架和Scikit-Learn库实现;分类数据集使用ISCX VPN 2016数据集,该数据集由加拿大网络安全机构公布。其中,数据以PCAP文件形式提供,每个PCAP文件包括多个流,每个PCAP都被分配一个三任务标签(包裹类别,服务类别,应用类别,详见表1);由于该数据集每个PCAP文件都包含一些已知不属于所属标签的流量,我们使用Scapy库对所有流量都进行了扫描,并过滤掉类别已知且与所属标签的无关的流量,例如源IP或目标IP为255.255.255.255(本地网络广播)的流量,属于域名解析协议(DNS)的流量,属于链路本地多播名称解析(LLMNR)的流量,属于网络时间协议(NTP)的流量等;接着按专利述方法进行无偏化预处理,获得格式化样本。进一步的,将80%样本划分到训练集中,20%样本划分到测试集中;为了验证本方法的有效性,我们选择了2017-2021年最相关的文献中使用的方法进行比较,包括:
1. 1D-CNN(Wang et al.):Wang等人2017年提出的1D-CNN,该模型为单模态输入,输入仅包含有效载荷。
2.HYBRID(Lopez-Martin et al.):Lopez-Martin等人2017年提出的2D-CNN+LSTM混合模型,在原先实现中,该方法输入为包含有偏信息的统计信息,按照相关文献《DISTILLER:Encrypted traffic classification via multimodal multitask deeplearning》的方法对模型结构和输入进行修改,以去除无偏输入。
3. 2-CNN(Huanget al.):Huang等人在2018年提出的模型结构,输入为有效载荷。
4.MLP(Sun et al.),MLP(Zhao et al.):分别由Sun等人和Zhao等人在2019年提出的算法,这两种算法都可以实现输入为统计信息和有效载荷的版本,但是由于模型结构限制,这两种方法都无法实现同时输入有效载荷和统计信息。
6. 1D-CNN(Rezaei and Liu):Rezaei和Liu在2020年提出的分类架构,与HYBRID(Lopez-Martin et al.)类似的,该方法输入为包含有偏信息的统计信息,按照相关文献《DISTILLER:Encrypted traffic classification via multimodal multitask deeplearning》的方法对模型结构和输入进行修改,以去除无偏输入。
7.DISTILLER(Aceto et al.):Aceto等人在2021年提出的多模态输入多任务加密流量分类算法。
除了本方法外所有方法训练60轮,本方法先使用ISCX Tor2016数据集移除标签后的无标签数据进行预训练,预训练结束后再使用ISCX VPN2016数据集的有标签数据进行60轮训练。
由于算法的输入不完全一样,这里使用(Both)来表示模型为多模态输入(同时输入有效载荷和统计信息),使用(HDR)表示模型输入为统计信息,使用(PAY)表示模型输入为有效载荷。
这里和本方法最相关的方法为DISTILLER(Aceto et al.),因为其与本方法有几乎相同的输入和输出,也对其他所有方法做了复现和对比,然而,和本方法略微不同之处在于,其过滤步骤略微宽松一些(例如未过滤网络时间协议NTP等流量),这导致此处的复现结果有区别,为了进行一个公平公正的比较,复现结果和原始结果将被一并给出,其中原始结果使用(Ori)标记,复现结果使用(Rep)标记。
完整结果如表2所示。
表1:ISCX VPN 2016数据集任务及类别说明
表2:ISCX VPN 2016数据集上不同方法的性能对比
使用粗体标注每个任务每个指标的最佳算法,使用斜体和方框标注除本方法外最佳算法,无论其是否为复现结果。可以发现本方法在3个任务的大多数指标中超过了相关方法,特别是在Task2-Traffic Type Classification中,Accuracy增益为3.50%,F1-score增益为4.09%;若仅考虑同一实验条件下的复现结果(Rep),那么本方法在所有任务的所有指标上都超过了现有算法。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (9)
1.一种基于统计信息和有效载荷编码的零日流量分类方法,其特征在于:包括,
构建混合神经网络,并用任意无标签数据、有标签已知类别的流量和深度度量学习策略预训练所述混合神经网络;
对待识别的流量和参与混合神经网络预训练的有标签已知类别的流量进行无偏化预处理,构成统计信息四元组和数据包中有效载荷部分;并通过标准化处理得到格式化样本A和格式化样本B;
将所述格式化样本A和格式化样本B输入至所述混合神经网络,得到嵌入向量A和嵌入向量B;
利用k-Means聚类算法对所述嵌入向量A和嵌入向量B进行聚类,以识别零日应用流量;
将人工标注的零日恶意流量进行无偏化预处理和标准化处理,得到格式化样本C,将所述格式化样本C输入至所述混合神经网络得到嵌入向量C;
将所述嵌入向量B、嵌入向量C加入k-NN算法的支撑集,而后通过k-NN算法对所述支撑集和嵌入向量A进行分类。
2.如权利要求1所述的基于统计信息和有效载荷编码的零日流量分类方法,其特征在于:所述混合神经网络包括自编码器层、预训练头和Transformers层;
所述自编码器层包括:全连接层构成的统计信息编码器-解码器结构、卷积神经网络层、反卷积网络层、最大池化层和ReLU激活层构成的有效载荷编码器-解码器结构;
所述预训练头和所述自编码器层共享统计信息解码器和有效载荷解码器,并带有一个输入维度126,输出维度2的全连接网络层,所述预训练头将Transformers层输出的词元,移除词元帽,恢复到126维;按Transformers层的输入时的词元类型,分别将词元输入到统计信息解码器和有效载荷解码器还原为统计信息四元组和原始载荷,以获得流重构的结果,并将矩阵第一个词元输入到一个输入维度126,输出维度2的全连接网络层,获得流完整性预测的结果。
3.如权利要求2所述的基于统计信息和有效载荷编码的零日流量分类方法,其特征在于:还包括,
所述Transformer层将自编码器层的两个编码器的输出按原始流量中的顺序拼接为一个完整的流矩阵;而后在流矩阵的开头插入一个全零的126维度词元,并为每一个词元添加一个2维度的词元帽,以来区分词元的类型;
对流矩阵添加位置编码信息,将位置编码pepos附加到流矩阵中的每个词元repos上,将其变为epos;
其中,在流矩阵中,第pos个词元的位置编码pepos包含128个维度,其值可以下式求得:
所述epos为:
epos=repos+pepos
4.如权利要求2或3所述的基于统计信息和有效载荷编码的零日流量分类方法,其特征在于:还包括,
用所述任意无标签数据预训练所述混合神经网络为预训练阶段;
所述预训练阶段包括:对自编码器层进行预训练;对自编码器层、Transformers层和预训练头进行联合预训练。
5.如权利要求4所述的基于统计信息和有效载荷编码的零日流量分类方法,其特征在于:所述无偏化预处理包括,
从所述待识别的流量和参与混合神经网络预训练的有标签已知类别的流量中采集若干数据包;
对于每个数据包,丢弃头部的协议层,保留有效载荷长度、TCP窗口大小、到达时间、方向,构成所述统计信息四元组;所述有效载荷长度为传输层载荷去除末尾的零填充。
7.如权利要求6所述的基于统计信息和有效编码的零日流量分类方法,其特征在于:所述嵌入向量样本A、所述嵌入向量样本B、所述嵌入向量样本C为一个128维嵌入向量。
8.如权利要求7所述的基于统计信息和有效编码的零日流量分类方法,其特征在于:还包括,
所述嵌入向量A和所述嵌入向量B输入k-Means聚类算法得到输出的簇,所述簇需满足两个条件:簇内嵌入向量数大于阈值,所述阈值取值0或1;簇内不包含任何有标签已知类别的流量对应的嵌入向量,以识别所述零日应用流量。
9.如权利要求8所述的基于统计信息和有效编码的零日流量分类方法,其特征在于:所述零日应用流量中的恶意流量进行5%的人工标记得到人工标注的零日恶意流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111229160.XA CN114048799A (zh) | 2021-10-21 | 2021-10-21 | 一种基于统计信息和有效载荷编码的零日流量分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111229160.XA CN114048799A (zh) | 2021-10-21 | 2021-10-21 | 一种基于统计信息和有效载荷编码的零日流量分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114048799A true CN114048799A (zh) | 2022-02-15 |
Family
ID=80205459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111229160.XA Pending CN114048799A (zh) | 2021-10-21 | 2021-10-21 | 一种基于统计信息和有效载荷编码的零日流量分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114048799A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114679308A (zh) * | 2022-03-21 | 2022-06-28 | 山东大学 | 一种基于双路自编码的未知流量识别方法及系统 |
-
2021
- 2021-10-21 CN CN202111229160.XA patent/CN114048799A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114679308A (zh) * | 2022-03-21 | 2022-06-28 | 山东大学 | 一种基于双路自编码的未知流量识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hsu et al. | Learning-Based Frequency Estimation Algorithms. | |
Sattler et al. | Sparse binary compression: Towards distributed deep learning with minimal communication | |
CN109639739B (zh) | 一种基于自动编码器网络的异常流量检测方法 | |
Wang et al. | App-net: A hybrid neural network for encrypted mobile traffic classification | |
CN109902740B (zh) | 一种基于多算法融合并行的再学习工业控制入侵检测方法 | |
CN116760742B (zh) | 基于多阶段混合时空融合的网络流量异常检测方法及系统 | |
CN109376797B (zh) | 一种基于二进制编码器和多哈希表的网络流量分类方法 | |
Komar et al. | Compression of network traffic parameters for detecting cyber attacks based on deep learning | |
CN116192523A (zh) | 一种基于神经网络的工控异常流量监测方法和系统 | |
CN113408202B (zh) | 面向变电站核心工控业务的流量基线模型构造方法 | |
CN104881449A (zh) | 基于流形学习数据压缩哈希的图像检索方法 | |
Wang et al. | A fast feature fusion algorithm in image classification for cyber physical systems | |
CN109800314A (zh) | 一种利用深度卷积网络生成用于图像检索的哈希码的方法 | |
CN114487673A (zh) | 一种基于Transformer的电力设备故障检测模型和电子设备 | |
CN113887642B (zh) | 一种基于开放世界的网络流量分类方法及系统 | |
CN115277888A (zh) | 一种移动应用加密协议报文类型解析方法及系统 | |
CN114048799A (zh) | 一种基于统计信息和有效载荷编码的零日流量分类方法 | |
CN115174178A (zh) | 基于生成对抗网络的半监督网络流量异常检测方法 | |
CN114898136A (zh) | 一种基于特征自适应的小样本图像分类方法 | |
Dai et al. | Shape: A simultaneous header and payload encoding model for encrypted traffic classification | |
Chen et al. | Ride: Real-time intrusion detection via explainable machine learning implemented in a memristor hardware architecture | |
CN116663499A (zh) | 智能化工业数据处理的方法及系统 | |
Pucci et al. | Fixed simplex coordinates for angular margin loss in capsnet | |
CN114358177A (zh) | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及系统 | |
CN115331068A (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 |