CN116684133A - 基于双层注意力和时空特征并行融合的sdn网络异常流量分类装置及方法 - Google Patents
基于双层注意力和时空特征并行融合的sdn网络异常流量分类装置及方法 Download PDFInfo
- Publication number
- CN116684133A CN116684133A CN202310646614.6A CN202310646614A CN116684133A CN 116684133 A CN116684133 A CN 116684133A CN 202310646614 A CN202310646614 A CN 202310646614A CN 116684133 A CN116684133 A CN 116684133A
- Authority
- CN
- China
- Prior art keywords
- layer
- data
- byte
- matrix
- data packet
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000004927 fusion Effects 0.000 title claims abstract description 31
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 13
- 239000011159 matrix material Substances 0.000 claims abstract description 88
- 239000013598 vector Substances 0.000 claims abstract description 86
- 238000012545 processing Methods 0.000 claims abstract description 50
- 238000010606 normalization Methods 0.000 claims abstract description 24
- 238000011176 pooling Methods 0.000 claims abstract description 22
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 230000009467 reduction Effects 0.000 claims abstract description 7
- 230000006870 function Effects 0.000 claims description 42
- 238000013507 mapping Methods 0.000 claims description 22
- 238000012549 training Methods 0.000 claims description 20
- 230000004913 activation Effects 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 16
- 230000009466 transformation Effects 0.000 claims description 13
- 238000007781 pre-processing Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 6
- 210000002569 neuron Anatomy 0.000 claims description 6
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 5
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 claims description 3
- 230000003213 activating effect Effects 0.000 claims description 3
- 238000004140 cleaning Methods 0.000 claims description 3
- 238000011478 gradient descent method Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000010339 dilation Effects 0.000 claims description 2
- 239000010410 layer Substances 0.000 claims 37
- 239000002355 dual-layer Substances 0.000 claims 9
- 238000013527 convolutional neural network Methods 0.000 description 33
- 230000002457 bidirectional effect Effects 0.000 description 6
- 230000001364 causal effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000016273 neuron death Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification 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
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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
-
- 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)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于双层注意力和时空特征并行融合的SDN网络异常流量分类装置及方法,(1)将数据集转换成一维字节序列和二维数字矩阵,并进行批归一处理;(2)L2‑BiTCN模型:将字节序列传入一层BiTCN模型,通过字节注意力机制计算得出字节数据的权重分布,得到字节数据包向量;再将带字节权重的数据包向量作为输入,传入二层BiTCN模型,通过数据包注意力机制计算得出数据包的权重分布,得到流时序特征向量f1;(3)CNN模型:将数字矩阵传入CNN模型,使用不同大小的卷积核进行两轮卷积和平均池化操作,将得到的局部特征矩阵进行Flatten降维,再对一维张量进行Concat连接,得到流空间特征向量f2;(4)融合f1和f2得到时空特征向量f,使用Softmax分类器得出最终的流量类别。
Description
技术领域
本发明涉及数据安全技术领域,具体涉及基于双层注意力和时空特征并行融合的SDN网络异常流量分类装置及方法。
背景技术
随着信息技术的不断发展,网络攻击案件频发,网络环境不断复杂多样化,恶意的网络活动时刻威胁着人们的信息基础设备,应用及数据安全等,所以对网络异常流量进行有效的识别,从而实现对网络攻击的精准预防已经成为网络空间安全的重要任务。由于传统的网络架构将流量观测点分布在各转发设备上,难以有效地实现异常检测,软件定义网络(Software-Defined Networking,SDN)作为一种新型网络架构,可以将设备的控制和转发功能解耦,具有转控分离、集中式监测、中心化控制等特点,为研究网络异常流量分类提供了新的方法和手段。
目前,对流量分类方法的研究主要有四类:基于端口号的分类,简单容易实现,但是精准度较低;基于深度报文检测(DPI)的分类,准确率高,但是无法处理加密流量且复杂度高;基于统计和行为分类,都是基于机器学习,计算复杂度较低可用于加密流量,但是需要专门的特征设计。近年来,深度学习被广泛用于解决网络流量分类问题,该方法可以减少手动特征提取的工作量,并且有着更好的精确度和可移植性。
网络流量本质上是一种时序数据,是按照层次化结构组织起来的一维字节流。从低层次到高层次依次为字节、帧、会话、整个流量。该结构很类似自然语言处理中的字母、词语、句子、段落这样的结构。最近的研究发现,对于序列化处理,TCN体系结构不仅比经典的递归网络(如LSTM和GRU)更精确,而且更简单清晰,它可能是将深度网络应用于序列的一个更合适的起点。此外,在卷积网络上添加注意力机制,可以在大量自然语言处理任务上取得更好的效果,但目前还尚未应用到网络流量分类问题中。
但无论是传统的机器学习还是深度学习模型,大多都以网络流量包头和整个流的统计信息为特征提取对象,忽视了网络流量中有效载荷数据的价值。其次,网络流量中各类信息对于流量分类决策的重要性是不同的,若仅考虑流量的时序特征或者空间特征,使用标准的CNN、RNN等神经网络,对重要信息的捕获能力不足;最后,网络流量的上下文特征和空间特征也会对最后的分类结果起到一定的影响,单向TCN结构的语义捕获明显能力不足,还有待进一步完善优化。
因此,本方法对流量数据包中的有效载荷数据进行提取,以BiTCN和CNN架构为研究模型,对BiTCN模型进一步结合双层注意力机制,捕获字节和数据包层次的重要时序特征信息,对CNN模型使用不同大小的卷积核,提取数据包间的空间特征信息,最后将网络流的时序特征和空间特征相融合,生成更加准确的流量时空特征向量,以此实现对网络流量数据的有效分类。
发明内容
针对上述问题,本发明提出基于双层注意力和时空特征并行融合的SDN网络异常流量分类装置及方法。首先,对输入的流量数据进行预处理,生成一维网络流量字节序列和二维数字矩阵。其次,在L2-BiTCN+CNN(即双层双向TCN+CNN)模型训练或处理数据之前,对一维网络流量序列进行批归一化处理,以便加快模型的拟合速度;接着,在L2-BiTCN+CNN模型训练过程中,使用LeakyReLU激活函数代替传统的ReLU函数,以解决神经元死亡问题;同时,对L2-BiTCN架构引入双层注意力机制,捕获关键字节和数据包时序特征信息f1,对CNN架构使用三种大小的卷积核,经过平均池化层和展平层之后,得到不同数据包内字节的空间层次结构特征f2,将流的时序特征f1和空间特征f2相融合生成更加准确的流量时空特征向量f。最后,将网络流全局时空特征向量f输入到Softmax分类器,得出最终的流量类别。
具体地,本方案中模型数据输入采用的是原始流量数据处理之后的两种不同形式:一维网络流量字节序列和二维数字矩阵,这样能够消除重塑操作之后的带来的信息损失。设计的TCN层共有4层,每层的扩张因子η分别为1,2,4和8,滤波器大小K为2。层与层之间的连接采用残差结构,每个残差块由因果卷积、膨胀卷积和残差连接组成。使用双向TCN结构,即BiTCN,获得流量的正向特征和反向特征,并将其融合获取流量的上下文联系,以此提高分类的精确度。对于CNN架构,将每条流表示成(N,T)二维数字矩阵,分别使用3*3、2*5、1*5大小的卷积核提取不同数据包内字节间的空间纹理,设置步长为1,通道数为16,padding为0,按步幅为1进行2*2的Average池化,再经过Flatten层后得到3个一维局部空间特征张量,最后将局部特征张量融合得到流全局空间特征。
具体方案如下:
一种基于双层注意力和时空特征并行融合的SDN网络异常流量分类方法,包括如下步骤:
S1:对原始流量数据进行预处理,生成一维网络流量字节序列和二维数字矩阵,对网络流量序列进行批归一化处理;
S2:将S1处理过的数据输入L2-BiTCN+CNN模型进行训练或处理,L2-BiTCN+CNN模型包括L2-BiTCN模型和CNN模型,L2-BiTCN模型用于捕获关键字节和数据包的时序特征f1,CNN模型用于得到不同数据包内字节的空间特征f2,
S3:将时序特征f1和空间特征f2相融合生成流量时空特征向量f,并输入到Softmax分类器,得出最终的流量类别。
进一步,所述S1的具体过程如下:
S1.1:流量分割阶段:使用Wireshark软件中editcap工具,主要是将获得的原始流量数据进行切分,可以按照Flow或者Session的方式将原始数据切分成多个离散的网络流数据;
S1.2:流量匿名化阶段:分割之后的.pcap文件中包含多个数据包,该阶段主要是对数据包中的有效载荷数据进行提取,通过删除IP地址来减少其对流量分类结果的影响;
S1.3:流量清理阶段:该阶段对匿名化之后的网络流数据进行遍历,删除重复数据以及有效载荷数据长度为0的数据包,并将数据包处理成固定长度,大于该长度的进行截取,不足则用0进行填补;
S1.4:输入格式生成阶段:该阶段对固定长度流数据进行格式转换,首先,将网络流数据处理成一维的字节序列,以十六进制读取数据,并被标记用于L2-BiTCN模型,然后重新将网络流数据转换为二维数字矩阵,以IDX格式读取数据,并被标记用于CNN模型。
进一步,所述S2的L2-BiTCN模型包括字节层次和数据包层次,字节层次包含字节嵌入层、BiTCN层、字节注意力层,数据包层次包含数据包嵌入层、BiTCN层、数据包注意力层;在第一层卷积层的前面加入批归一化层,并在TCN层、注意力层、全连接层采取权值归一化处理;
所述L2-BiTCN模型训练或处理数据的步骤如下:
步骤1:将字节序列作为输入传到字节层次中的嵌入层,用xit表示一个数据包的字节信息词向量,其中xit=bite,bit表示第i个数据包中的第t个字节数据,e∈RT*d表示词向量矩阵,T表示数据包中的字节数量,d表示词向量维度,Xi={xi1,xi2,…,xit,…xuT}表示第i个数据包字节信息词向量的集合;
步骤2:将词向量集合Xi={xi1,xi2,…,xit,…xiT}输入到字节层次中的BiTCN层,并进行批归一化处理,之后TCN对输入的字节数据词向量进行编码;
步骤3:引入字节注意力机制,计算字节的权重分布,对重要的特征赋予更高的权重,获得带字节权重的数据包向量pi;
步骤4:获得带字节权重的数据包向量pi之后,将其作为输入数据传进数据包层次的BiTCN层中;
步骤5:数据包层次的BiTCN层对输入的数据包向量pi进行编码;
步骤6:引入数据包注意力机制,计算数据包的权重分布,对重要的特征赋予更高的权重,最终得到网络流时序特征向量f1。
进一步,所述步骤2的具体过程如下:
步骤2.1:引入膨胀卷积:定义滤波器F=(f1,f2,…,fk,...,fK),分别表示大小为1、2、k、K的滤波器,xit处的膨胀卷积公式为:
其中cit表示正向网络流量的特征,η为膨胀因子,K为滤波器的大小,t-(K-k)η表示之前的方向信息,当η=1时,即为普通卷积,当η=2时,即每隔两个输入点数据进行一次采样;
步骤2.2:加入残差模块,用于跨层连接的恒等映射;具体如下:
步骤2.2.1:得到步骤2.1处理的cit之后,接着对网络权重进行权值归一化处理;
步骤2.2.2:使用激活函数LeakyReLU进行非线性变换,获得的新正向网络流量特征向量为公式如下:
其中,w1表示权重矩阵,b1表示偏置,α为系数,可以理解为激活函数负轴上赋予的梯度值;
步骤2.2.3:使用Dropout进行正则化,随机选出隐藏层的神经元,然后将其删除,Dropout设置为0.2;
步骤2.3:重复一次步骤2.1和2.2,设计一个1*1Conv对x进行变换,使变换后的H(x)和x可以相加;
步骤2.4:对词向量集合Xi={xi1,xi2,…,xit,…xiT}进行序列的反转,得到反转矩阵X′i={xiT…,xit,…,xi2,xi1},将反向序列放入反向TCN模型进行训练或处理,学习得到反向流量特征c′it,如公式
c′it=TCN(X′i) (公式3)
其中,TCN函数处理过程即为公式(1)所述,接着重复步骤2.2和2.3,其中步骤2.2.2改为对c′it使用LeakyReLU激活函数进行非线性变换,获得的新反向网络流量特征向量为公式如下:
其中,w2表示权重矩阵,b2表示偏置,α为系数,可以理解为激活函数负轴上赋予的梯度值;
步骤2.5:将计算得出的正向特征向量和反向特征向量和/>进行连接,生成数据包的特征向量/>
进一步,所述步骤3的具体过程如下:
步骤3.1:同时将hit输入到Embedding中进行映射,分别映射到三个不同的空间,其中公式如(5)(6)(7)所示,Wq,Wk和Wv代表随机不同的空间矩阵,分别得到Query矩阵Q={qit},Key矩阵K={kit},Value矩阵V={vit}。
步骤3.2:再将映射矩阵Q与K点积得到hit与其他数据包特征向量之间的关联程度Simi,Simi通过Softmax函数计算得到一个归一化的注意力权重矩阵αit,αit表示数据包i中的第t个字节信息的权重,如公式(8)(9);
步骤3.3:最后将归一化权重矩阵αit与vit进行加权求和,更新每个字节的特征表示,得到数据包向量pi,如公式(10);
Q=Wq*hit (公式5)
K=Wk*hit (公式6)
V=Wv*hit (公式7)
pi=∑tαitvit (公式10)
其中,引入c′来防止计算结果溢出,c′取值一般为输入信号中的最大值。
进一步,步骤5的具体过程如下:
步骤5.1:数据包层次的BiTCN处理过程同字节层次的BiTCN,数据包pi处的膨胀卷积公式如下,
其中ci表示正向流量数据包特征,η为膨胀因子,K为滤波器的大小,i-(K-k)η表示之前的方向信息;
步骤5.2:先对网络权重进行权值归一化处理,接着残差模块使用激活函数LeakyReLU进行非线性变换,获得的新正向流量数据包特征为公式如下:
其中,w3表示权重矩阵,b3表示偏置,α为系数;
使用Dropout进行正则化,随机选出隐藏层的神经元,然后将其删除,Dropout设置为0.2;
步骤5.3:重复一次步骤5.1和步骤5.2,设计一个1*1Conv对x进行变换,使变换后的x和H(x)可以相加;
步骤5.4:对已经正向处理的数据包特征集合P={p1,p2,…,pi,…ps}进行反转,得到反转矩阵P′={ps,…,pi,…,p2,p1},其中s表示分割之后的Flow或Session中数据包的个数,将反向矩阵放入反向TCN模型进行训练或处理,从而学习得到反向数据报包特征c′i,公式如下:
c′i=TCN(P′) (公式13)
其中,TCN函数处理过程即为公式(10)所述,接着对c′i使用LeakyReLU激活函数进行非线性变换,获得的新反向数据包特征为公式如下:
其中,w4表示权重矩阵,b4表示偏置,α为系数;
步骤5.5:将计算得出的正向特征向量和反向特征向量和/>进行连接,生成数据包的特征向量/>
进一步,步骤6的具体过程如下:
步骤6.1:同时将hi输入到Embedding中进行映射,分别映射到三个不同的空间,其中公式如(15)(16)(17)所示,Wq,Wk和Wv代表随机不同的空间矩阵,分别得到Query矩阵Q={qi},Key矩阵K={ki},Value矩阵V={vi}。
步骤6.2:再将映射矩阵Q与K相乘得到hi与其他流量特征向量之间的关联程度Simi,Simi通过Softmax函数计算得到一个归一化的注意力权重矩阵αi,αi表示数据包i信息的权重,如公式(18)(19);
步骤6.3:最后将归一化权重矩阵αi与vi进行加权求和,更新每个数据包的特征表示,得到网络流时序特征向量f1,如公式(20);
Q=Wq*hi (公式15)
K=Wk*hi (公式16)
V=Wv*hi (公式17)
f1=∑iαivi (公式20)
其中,c′取值一般为输入信号中的最大值。
进一步,所述CNN模型包括两轮Conv层和Average Pooling层、Flatten层以及Concat层,在第一层卷积层的前面加入批归一化层,CNN模型训练或处理数据的步骤如下:
步骤1:将.pcap格式的流量数据集处理成(N,T)二维数字矩阵格式,将它作为CNN模型的数据输入,用矩阵表示二维流数据;
其中xnt表示第n个数据包第t个字节,Ai表示第i个数据流的二维数字矩阵,大小为(N,T);
步骤2:Conv层:将二维数字矩阵Ai输入到CNN模型中,首先选择3*3卷积核,通道数16,激活函数LeakyReLU进行卷积操作,生成C11卷积层;接着使用2*5卷积核生成C12卷积层;最后使用1*5卷积核生成C13卷积层;
步骤3:Average Pooling层:将生成的C11、C12、C13卷积层进行空间上的缩小,使用2*2区域的Average池化,即从2*2大小的目标区域中计算得出平均值,窗口的移动间隔为1个元素,将平均池化后的结果进行映射,得到S11、S12、S13卷积层;
步骤4:重复步骤2、步骤3,再次进行不同卷积核大小的卷积操作和平均池化处理,生成C21、C22、C23卷积层结果和S21、S22、S23池化层结果;
步骤5:Flatten层:将得到的全局平均池化层结果S21、S22、S23进行Flatten展平,即对这三个局部特征矩阵进行降维操作,得出相应的一维空间特征张量1d-tensor1、1d-tensor2、1d-tensor3;
步骤6:Concat连接:将步骤5中的三个一维空间特征张量进行特征融合,生成流空间特征向量f2。
进一步,所述S3的具体过程如下:
步骤1:将经过L2-BiTCN模型最终得出的带有字节和数据包权重的网络流时序特征f1和CNN模型得到的网络流空间特征f2进行Concat信息融合,到时空特征向量f;
步骤2:再将f通过Softmax分类器得出最终的流量类别概率P,公式如下:
P=Soft max(wc*f+bc) (公式21)
其中,wc表示权重矩阵,bc表示偏置,c表示当前标签值;
步骤3:计算交叉熵函数Loss关于权重参数的梯度,将权重参数沿梯度方向进行更新,具体使用随机梯度下降法(SGD)寻找参数最优解,相关公式如下:
Loss=-∑c=1fcln pc (公式22)
其中,c为标签值,pc是L2-BiTCN+CNN模型计算结果的输出概率,fc是正确解标签。z表示需要更新的权重参数,表示损失函数关于z的梯度,η表示学习率,←表示用右边的值更新左边的值。
本发明还提出一种基于双层注意力和时空特征并行融合的SDN网络异常流量分类装置,该装置能够执行上述的分类方法。
本发明有益效果:
1.使用深度学习方法,减少手动提取流量特征的工作量。
2.使用网络流量中的有效载荷,模型具有更好的精确度和可移植性。
3.采用双层注意力机制,捕获字节和数据包信息,模型能生成更加准确的特征向量。
4.采用双向TCN结构,模型能更好地捕获流量间的语义信息。
5.CNN模型使用不同大小的卷积核,获取不同感受野,提取数据包空间纹理。
6.模型充分提取流量时序特征和空间特征,分类模型的鲁棒性更强。
7.L2-BiTCN和CNN模型并行融合,避免串行级联架构中的流量信息损失。
附图说明
图1.本方法实施流程图
图2.数据预处理流程
图3.L2-BiTCN+CNN模型网络结构
图4.TCN结构示意图
图5.注意力机制示意图
具体实施方式
本发明的实施方案包括:(1)数据预处理:将数据集.pcap文件进行预处理,转换成一维字节序列和二维数字矩阵,对输入的流量数据进行批归一处理;(2)L2-BiTCN模型训练:将处理后的字节序列作为输入,传入一层BiTCN模型,通过字节注意力机制计算得出字节数据的权重分布,得到字节数据包向量;再将带字节权重的数据包向量作为输入,传入二层BiTCN模型,通过数据包注意力机制计算得出数据包的权重分布,得到流时序特征向量f1;(3)CNN模型训练:将处理后的数字矩阵传入CNN模型,使用不同大小的卷积核进行两轮卷积和平均池化操作,将得到的局部特征矩阵进行Flatten降维,再对一维张量进行Concat连接,得到流空间特征向量f2;(4)时空特征向量融合及分类:将流时序特征和流空间特征进行融合,得到时空特征向量f,使用Softmax分类器得出最终的流量类别。
下面结合附图对本方法做进一步的说明,需要说明的是,本发明的具体实施是以本技术为前提,给出了详尽的实施过程和实施步骤,但是本发明的保护范围并不受限于本实施实例。
如图1所示,本发明包括如下几个部分:
(1)数据预处理
在原始的网络流量数据中,通信信息通常是以五元组(源IP地址、源端口、目的IP地址、目的端口、协议)的标准组合而成,且大多数获得的网络流量数据都以.pcap的格式进行存储,但这类数据无法直接作为模型输入进行训练和处理,因此,本方法主要面向双向网络流量,如图2所示,提出如下流量预处理流程:
步骤1:流量分割阶段:该阶段使用Wireshark软件中editcap工具,主要是将获得的原始流量数据进行切分,可以按照Flow或者Session的方式将原始数据切分成多个离散的网络流数据。
步骤2:流量匿名化阶段:分割之后的.pcap文件中包含多个数据包,该阶段主要是对数据包中的有效载荷数据进行提取。一般情况下认为IP地址是无用数据,故本方法通过删除IP地址来减少其对流量分类结果的影响。
步骤3:流量清理阶段:该阶段对匿名化之后的网络流数据进行遍历,删除重复数据以及有效载荷数据长度为0的数据包,并将数据包处理成固定长度,大于该长度的进行截取,不足则用0进行填补。
步骤4:输入格式生成阶段:该阶段对固定长度流数据进行格式转换,首先,将网络流数据处理成一维的字节序列,以十六进制读取数据,并被标记用于L2-BiTCN模型。接着,重新将网络流数据转换为二维数字矩阵,以IDX格式读取数据,并被标记用于CNN模型。
(2)L2-BiTCN模型和CNN模型训练或对数据的处理
如图3所示,整个L2-BiTCN模型分为字节层次和数据包层次,字节层次包含字节嵌入层、双向TCN层(BiTCN层)、字节注意力层,数据包层次包含数据包嵌入层、双向TCN层(BiTCN层)、数据包注意力层。
为了进一步加快模型的拟合的速度,本方法在第一层卷积层的前面加入批归一化层,并在TCN层、注意力层、全连接层采取权值归一化处理。L2-BiTCN模型训练或处理数据的步骤如下:
步骤1:预处理之后的数据包是由字节序列组成的,将字节序列作为输入传到字节层次中的嵌入层,用xit表示一个数据包的字节信息词向量,其中xit=bite,bit表示第i个数据包中的第t个字节数据,e∈RT*d表示词向量矩阵,T表示数据包中的字节数量,d表示词向量维度。Xi={xi1,xi2,…,xit,…xiT}表示第i个数据包字节信息词向量的集合。
步骤2:将词向量集合Xi={xi1,xi2,…,xit,…xiT}输入到字节层次中的BiTCN层,并进行批归一化处理,之后TCN对输入的字节数据词向量进行编码,如图4所示,具体处理流程如下:
步骤2.1:TCN主要通过使用1D-FCN和因果卷积实现时间序列数据的处理,本方法为减少模型的训练时间,进一步引入膨胀卷积:定义滤波器F=(f1,f2,…,fk,...,fK),下标表示滤波器大小分别为1、2、k、K,xit处的膨胀卷积公式为:
其中cit表示正向网络流量的特征,η为膨胀因子,K为滤波器的大小,t-(K-k)η表示之前的方向信息。当η=1时,即为普通卷积,当η=2时,即每隔两个输入点数据进行一次采样,通常情况下η以2的指数增大。通过增大K和η都能够扩大感受野(感受野计算公式为(K-1)η+1)。
步骤2.2:为减少过深网络带来的梯度消失等问题,本方法加入残差模块,残差网络主要是加入跨层连接的恒等映射,获得更多的历史细节来提高模型的精度。
步骤2.2.1:得到步骤2.1处理的cit之后,接着对网络权重进行权值归一化处理。
步骤2.2.2:为避免信息丢失,使用激活函数LeakyReLU进行非线性变换,获得的新正向网络流量特征向量为公式如下:
其中,w1表示权重矩阵,b1表示偏置,α为系数,可以理解为激活函数负轴上赋予的梯度值。
步骤2.2.3:为防止过拟合,使用Dropout进行正则化,随机选出隐藏层的神经元,然后将其删除,Dropout设置为0.2。
步骤2.3:重复一次步骤2.1和2.2,由于输入数据x和输出H(x)通道数可能不一样,本方法设计一个1*1Conv对x进行简单变换,使变换后的H(x)和x可以相加。
步骤2.4:对词向量集合Xi={xi1,xi2,…,xit,…xiT}进行序列的反转,得到反转矩阵X′i={xiT…,xit,…,xi2,xi1}。将反向序列放入反向TCN模型进行训练,从而学习得到反向流量特征c′it,如公式
c′it=TCN(X′i) (公式3)
其中,TCN函数处理过程即为公式(1)所述,接着重复步骤2.2和2.3,其中步骤2.2.2改为对c′it使用LeakyReLU激活函数进行非线性变换,获得的新反向网络流量特征向量为公式如下:
其中,w2表示权重矩阵,b2表示偏置,α为系数,可以理解为激活函数负轴上赋予的梯度值。
步骤2.5:将计算得出的正向特征向量和反向特征向量和/>进行连接,生成数据包的特征向量/>
步骤3:如图5所示,引入字节注意力机制,计算字节的权重分布,对重要的特征赋予更高的权重。
步骤3.1:同时将hit输入到Embedding中进行映射,分别映射到三个不同的空间,其中公式如(5)(6)(7)所示,Wq,Wk和Wv代表随机不同的空间矩阵,分别得到Query矩阵Q={qit},Key矩阵K={kit},Value矩阵V={vit}。
步骤3.2:再将映射矩阵Q与K点积得到hit与其他数据包特征向量之间的关联程度Simi,Simi通过Softmax函数计算得到一个归一化的注意力权重矩阵αit,αit表示数据包i中的第t个字节信息的权重,如公式(8)(9)。
步骤3.3:最后将归一化权重矩阵αit与vit进行加权求和,更新每个字节的特征表示,得到数据包向量pi,如公式(10)。
Q=Wq*hit (公式5)
K=Wk*hit (公式6)
V=Wv*hit (公式7)
pi=∑jαitvit (公式10)
其中,引入c′来防止计算结果溢出,c′取值一般为输入信号中的最大值。
步骤4:获得带字节权重的数据包向量pi之后,将其作为输入数据传进数据包层次的BiTCN中。
步骤5:BiTCN对输入的数据包向量pi进行编码,处理流程具体如下:
步骤5.1:数据包层次的BiTCN构建过程同字节层次的BiTCN,此处不在赘述,数据包pi处的膨胀卷积公式如下,
其中ci表示正向流量数据包特征,η为膨胀因子,K为滤波器的大小,i-(K-k)η表示之前的方向信息。
步骤5.2:先对网络权重进行权值归一化处理,接着残差模块使用激活函数LeakyReLU进行非线性变换,获得的新正向流量数据包特征为公式如下:
其中,w3表示权重矩阵,b3表示偏置,α为系数。
为防止过拟合,使用Dropout进行正则化,随机选出隐藏层的神经元,然后将其删除,Dropout设置为0.2。
步骤5.3:重复一次步骤5.1和步骤5.2。设计一个1*1Conv对x进行简单变换,使变换后的x和H(x)可以相加。
步骤5.4:对已经正向处理的数据包特征集合P={p1,p2,…,pi,…psi进行反转,得到反转矩阵P′={ps,…,pi,…,p2,p1},其中s表示分割之后的Flow或Session中数据包的个数。将反向矩阵放入反向TCN模型进行训练,从而学习得到反向数据报包特征c′i,公式如下:
c′i=TCN(P′) (公式13)
其中,TCN函数处理过程即为公式(10)所述,接着对c′i使用LeakyReLU激活函数进行非线性变换,获得的新反向数据包特征为公式如下:
其中,w4表示权重矩阵,b4表示偏置,α为系数。
步骤5.5:将计算得出的正向特征向量和反向特征向量和/>进行连接,生成数据包的特征向量/>
步骤6:引入数据包注意力机制,计算数据包的权重分布,对重要的特征赋予更高的权重,最终得到时序特征向量f1。
步骤6.1:同时将hi输入到Embedding中进行映射,分别映射到三个不同的空间,其中公式如(15)(16)(17)所示,Wq,Wk和Wv代表随机不同的空间矩阵,分别得到Query矩阵Q={qi},Key矩阵K={ki},Value矩阵V={vi}。
步骤6.2:再将映射矩阵Q与K相乘得到hi与其他流量特征向量之间的关联程度Simi,Simi通过Softmax函数计算得到一个归一化的注意力权重矩阵αi,αi表示数据包i信息的权重,如公式(18)(19)。
步骤6.3:最后将归一化权重矩阵αi与vi进行加权求和,更新每个数据包的特征表示,得到网络流时序特征向量f1,如公式(20)。
Q=Wq*hi (公式15)
K=Wk*hi (公式16)
V=Wv*hi (公式17)
f1=∑iαivi (公式20)
其中,引入c′来防止计算结果溢出,c′取值一般为输入信号中的最大值。
CNN模型部分:
如图3所示,整个CNN模型由两轮Conv层和Average Pooling层、Flatten层以及Concat连接组成。
为了进一步加快模型的拟合的速度,本方法在第一层卷积层的前面加入批归一化层。CNN模型训练或处理数据的步骤如下:
步骤1:将.pcap格式的流量数据集处理成(N,T)二维数字矩阵格式,将它作为CNN模型的数据输入。用矩阵表示二维流数据。
其中xnt表示第n个数据包第t个字节,Ai表示第i个数据流的二维数字矩阵,大小为(N,T)。
步骤2:Conv层:将二维数字矩阵Ai输入到CNN模型中,首先选择3*3卷积核,通道数16,激活函数LeakyReLU进行卷积操作,生成C11卷积层;接着使用2*5卷积核生成C12卷积层;最后使用1*5卷积核生成C13卷积层。
步骤3:Average Pooling层:将生成的C11、C12、C13卷积层进行空间上的缩小,使用2*2区域的Average池化,即从2*2大小的目标区域中计算得出平均值,窗口的移动间隔为1个元素,将平均池化后的结果进行映射,得到S11、S12、S13卷积层。
步骤4:重复步骤2、步骤3,再次进行不同卷积核大小的卷积操作和平均池化处理,生成C21、C22、C23卷积层结果和S21、S22、S23池化层结果。
步骤5:Flatten层:将得到的全局平均池化层结果S21、S22、S23进行Flatten展平,即对这三个局部特征矩阵进行降维操作,得出相应的一维空间特征张量1d-tensor1、1d-tensor2、1d-tensor3。
步骤6:Concat连接:将步骤5中的三个空间特征张量进行特征融合,生成流空间特征向量f2。
(3)时空特征向量融合及分类部分,该部分实施过程如下:
步骤1:将经过L2-BiTCN模型最终得出带有字节和数据包权重的网络流时序特征向量f1和CNN模型得到的网络流空间特征f2进行Concat信息融合,到时空特征向量f。
步骤2:再将f通过Softmax分类器得出最终的流量类别概率P,公式如下:
P=Sodt max(wc*f+bc) (公式21)
其中,wc表示权重矩阵,bc表示偏置,c表示当前标签值。
步骤3:计算交叉熵函数Loss关于权重参数的梯度,将权重参数沿梯度方向进行更新,具体使用随机梯度下降法(SGD)寻找参数最优解,相关公式如下:
Loss=-∑c=1fcln pc (公式22)
其中,c为标签值,pc是L2-BiTCN+CNN模型计算结果的输出概率P,fc是正确解标签。z表示需要更新的权重参数,表示损失函数关于z的梯度,η表示学习率,←表示用右边的值更新左边的值。
本发明还提出一种基于双层注意力和时空特征并行融合的SDN网络异常流量分类装置,该装置能够执行上述的分类方法,装置可以是计算机设备、网络设备、或其他控制器等等。
以上是整个基于双层注意力和时空特征并行融合的SDN网络异常流量分类装置及方法的实施过程,后续可以在公开或者符合规范的私有数据集上进行测试验证。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
Claims (10)
1.基于双层注意力和时空特征并行融合的SDN网络异常流量分类方法,其特征在于,包括如下步骤:
S1:对原始流量数据进行预处理,生成一维网络流量字节序列和二维数字矩阵,对网络流量序列进行批归一化处理;
S2:将S1处理过的数据输入L2-BiTCN+CNN模型进行训练或处理,L2-BiTCN+CNN模型包括L2-BiTCN模型和CNN模型,L2-BiTCN模型用于捕获关键字节和数据包的时序特征f1,CNN模型用于得到不同数据包内字节的空间特征f2,
S3:将时序特征f1和空间特征f2相融合生成流量时空特征向量f,并输入到Softmax分类器,得出最终的流量类别。
2.根据权利要求1所述的基于双层注意力和时空特征并行融合的SDN网络异常流量分类方法,其特征在于,所述S1的具体过程如下:
S1.1:流量分割阶段:使用Wireshark软件中editcap工具,主要是将获得的原始流量数据进行切分,可以按照Flow或者Session的方式将原始数据切分成多个离散的网络流数据;
S1.2:流量匿名化阶段:分割之后的.pcap文件中包含多个数据包,该阶段主要是对数据包中的有效载荷数据进行提取,通过删除IP地址来减少其对流量分类结果的影响;
S1.3:流量清理阶段:该阶段对匿名化之后的网络流数据进行遍历,删除重复数据以及有效载荷数据长度为0的数据包,并将数据包处理成固定长度,大于该长度的进行截取,不足则用0进行填补;
S1.4:输入格式生成阶段:该阶段对固定长度流数据进行格式转换,首先,将网络流数据处理成一维的字节序列,以十六进制读取数据,并被标记用于L2-BiTCN模型,然后重新将网络流数据转换为二维数字矩阵,以IDX格式读取数据,并被标记用于CNN模型。
3.根据权利要求1所述的基于双层注意力和时空特征并行融合的SDN网络异常流量分类方法,其特征在于,所述S2的L2-BiTCN模型包括字节层次和数据包层次,字节层次包含字节嵌入层、BiTCN层、字节注意力层,数据包层次包含数据包嵌入层、BiTCN层、数据包注意力层;在第一层卷积层的前面加入批归一化层,并在TCN层、注意力层、全连接层采取权值归一化处理;
所述L2-BiTCN模型训练或处理数据的步骤如下:
步骤1:将字节序列作为输入传到字节层次中的嵌入层,用xit表示一个数据包的字节信息词向量,其中xit=bite,bit表示第i个数据包中的第t个字节数据,e∈RT*d表示词向量矩阵,T表示数据包中的字节数量,d表示词向量维度,Xi={xi1,xi2,…,xit,…xiT}表示第i个数据包字节信息词向量的集合;
步骤2:将词向量集合Xi={xi1,xi2,…,xit,…xiT}输入到字节层次中的BiTCN层,并进行批归一化处理,之后TCN对输入的字节数据词向量进行编码;
步骤3:引入字节注意力机制,计算字节的权重分布,对重要的特征赋予更高的权重,获得带字节权重的数据包向量pi;
步骤4:获得带字节权重的数据包向量pi之后,将其作为输入数据传进数据包层次的BiTCN层中;
步骤5:数据包层次的BiTCN层对输入的数据包向量pi进行编码;
步骤6:引入数据包注意力机制,计算数据包的权重分布,对重要的特征赋予更高的权重,最终得到网络流时序特征向量f1。
4.根据权利要求3所述的基于双层注意力和时空特征并行融合的SDN网络异常流量分类方法,其特征在于,所述步骤2的具体过程如下:
步骤2.1:引入膨胀卷积:定义滤波器F=(f1,f2,…,fk,...,fK),分别表示大小为1、2、k、K的滤波器,xit处的膨胀卷积公式为:
其中cit表示正向网络流量的特征,η为膨胀因子,K为滤波器的大小,t-(K-k)η表示之前的方向信息,当η=1时,即为普通卷积,当η=2时,即每隔两个输入点数据进行一次采样;
步骤2.2:加入残差模块,用于跨层连接的恒等映射;具体如下:
步骤2.2.1:得到步骤2.1处理的cit之后,接着对网络权重进行权值归一化处理;
步骤2.2.2:使用激活函数LeakyReLU进行非线性变换,获得的新正向网络流量特征向量为公式如下:
其中,w1表示权重矩阵,b1表示偏置,α为系数,可以理解为激活函数负轴上赋予的梯度值;
步骤2.2.3:使用Dropout进行正则化,随机选出隐藏层的神经元,然后将其删除,Dropout设置为0.2;
步骤2.3:重复一次步骤2.1和2.2,设计一个1*1Conv对x进行变换,使变换后的H(x)和x可以相加;
步骤2.4:对词向量集合Xi={xi1,xi2,…,xit,…xiT}进行序列的反转,得到反转矩阵X′i={xiT…,xit,…,xi2,xi1},将反向序列放入反向TCN模型进行训练或处理,学习得到反向流量特征c′it,如公式
c′it=TCN(X′i) (公式3)
其中,TCN函数处理过程即为公式(1)所述,接着重复步骤2.2和2.3,其中步骤2.2.2改为对c′it使用LeakyReLU激活函数进行非线性变换,获得的新反向网络流量特征向量为公式如下:
其中,w2表示权重矩阵,b2表示偏置,α为系数,可以理解为激活函数负轴上赋予的梯度值;
步骤2.5:将计算得出的正向特征向量和反向特征向量和/>进行连接,生成数据包的特征向量/>
5.根据权利要求4所述的基于双层注意力和时空特征并行融合的SDN网络异常流量分类方法,其特征在于,所述步骤3的具体过程如下:
步骤3.1:同时将hit输入到Embedding中进行映射,分别映射到三个不同的空间,其中公式如(5)(6)(7)所示,Wq,Wk和Wv代表随机不同的空间矩阵,分别得到Query矩阵Q={qit},Key矩阵K={kit},Value矩阵V={vit}。
步骤3.2:再将映射矩阵Q与K点积得到hit与其他数据包特征向量之间的关联程度Simi,Simi通过Softmax函数计算得到一个归一化的注意力权重矩阵αit,αit表示数据包i中的第t个字节信息的权重,如公式(8)(9);
步骤3.3:最后将归一化权重矩阵αit与vit进行加权求和,更新每个字节的特征表示,得到数据包向量pi,如公式(10);
Q=Wq*hit (公式5)
K=Wk*hit (公式6)
V=Wv*hit (公式7)
pi=∑tαitvit (公式10)
其中,引入c′来防止计算结果溢出,c′取值一般为输入信号中的最大值。
6.根据权利要求3所述的基于双层注意力和时空特征并行融合的SDN网络异常流量分类方法,其特征在于,步骤5的具体过程如下:
步骤5.1:数据包层次的BiTCN处理过程同字节层次的BiTCN,数据包pi处的膨胀卷积公式如下,
其中ci表示正向流量数据包特征,η为膨胀因子,K为滤波器的大小,i-(K-k)η表示之前的方向信息;
步骤5.2:先对网络权重进行权值归一化处理,接着残差模块使用激活函数LeakyReLU进行非线性变换,获得的新正向流量数据包特征为公式如下:
其中,w3表示权重矩阵,b3表示偏置,α为系数;
使用Dropout进行正则化,随机选出隐藏层的神经元,然后将其删除,Dropout设置为0.2;
步骤5.3:重复一次步骤5.1和步骤5.2,设计一个1*1Conv对x进行变换,使变换后的x和H(x)可以相加;
步骤5.4:对已经正向处理的数据包特征集合P=[p1,p2,…,pi,…ps}进行反转,得到反转矩阵P′={ps,…,pi,…,p2,p1},其中s表示分割之后的Flow或Session中数据包的个数,将反向矩阵放入反向TCN模型进行训练或处理,从而学习得到反向数据报包特征c′i,公式如下:
c′i=TCN(P′) (公式13)
其中,TCN函数处理过程即为公式(10)所述,接着对c′i使用LeakyReLU激活函数进行非线性变换,获得的新反向数据包特征为公式如下:
其中,w4表示权重矩阵,b4表示偏置,α为系数;
步骤5.5:将计算得出的正向特征向量和反向特征向量和/>进行连接,生成数据包的特征向量/>
7.根据权利要求3所述的基于双层注意力和时空特征并行融合的SDN网络异常流量分类方法,其特征在于,步骤6的具体过程如下:
步骤6.1:同时将hi输入到Embedding中进行映射,分别映射到三个不同的空间,其中公式如(15)(16)(17)所示,Wq,Wk和Wv代表随机不同的空间矩阵,分别得到Query矩阵Q={qi},Key矩阵K={ki},Value矩阵V={vi}。
步骤6.2:再将映射矩阵Q与K相乘得到hi与其他流量特征向量之间的关联程度Simi,Simi通过Softmax函数计算得到一个归一化的注意力权重矩阵αi,αi表示数据包i信息的权重,如公式(18)(19);
步骤6.3:最后将归一化权重矩阵αi与vi进行加权求和,更新每个数据包的特征表示,得到网络流时序特征向量f1,如公式(20);
Q=Wq*hi (公式15)
K=Wk*hi (公式16)
V=Wv*hi (公式17)
f1=∑iαivi (公式20)
其中,c′取值一般为输入信号中的最大值。
8.根据权利要求1所述的基于双层注意力和时空特征并行融合的SDN网络异常流量分类方法,其特征在于,所述CNN模型包括两轮Conv层和Average Pooling层、Flatten层以及Concat层,在第一层卷积层的前面加入批归一化层,CNN模型训练或处理数据的步骤如下:
步骤1:将.pcap格式的流量数据集处理成(N,T)二维数字矩阵格式,将它作为CNN模型的数据输入,用矩阵表示二维流数据;
其中xnt表示第n个数据包第t个字节,Ai表示第i个数据流的二维数字矩阵,大小为(N,T);
步骤2:Conv层:将二维数字矩阵Ai输入到CNN模型中,首先选择3*3卷积核,通道数16,激活函数LeakyReLU进行卷积操作,生成C11卷积层;接着使用2*5卷积核生成C12卷积层;最后使用1*5卷积核生成C13卷积层;
步骤3:Average Pooling层:将生成的C11、C12、C13卷积层进行空间上的缩小,使用2*2区域的Average池化,即从2*2大小的目标区域中计算得出平均值,窗口的移动间隔为1个元素,将平均池化后的结果进行映射,得到S11、S12、S13卷积层;
步骤4:重复步骤2、步骤3,再次进行不同卷积核大小的卷积操作和平均池化处理,生成C21、C22、C23卷积层结果和S21、S22、S23池化层结果;
步骤5:Flatten层:将得到的全局平均池化层结果S21、S22、S23进行Flatten展平,即对这三个局部特征矩阵进行降维操作,得出相应的一维空间特征张量1d-tensor1、1d-tensor2、1d-tensor3;
步骤6:Concat连接:将步骤5中的三个一维空间特征张量进行特征融合,生成流空间特征向量f2。
9.根据权利要求1所述的基于双层注意力和时空特征并行融合的SDN网络异常流量分类方法,其特征在于,所述S3的具体过程如下:
步骤1:将经过L2-BiTCN模型最终得出的带有字节和数据包权重的网络流时序特征f1和CNN模型得到的网络流空间特征f2进行Concat信息融合,到时空特征向量f;
步骤2:再将f通过Softmax分类器得出流量类别概率P,公式如下:
P=Soft max(wc*f+bc) (公式21)
其中,wc表示权重矩阵,bc表示偏置,c表示当前标签值;
步骤3:计算交叉熵函数Loss关于权重参数的梯度,将权重参数沿梯度方向进行更新,具体使用随机梯度下降法(SGD)寻找参数最优解,相关公式如下:
Loss=-∑c=1fcln pc (公式22)
其中,c为标签值,pc是L2-BiTCN+CNN模型计算结果的输出概率P,fc是正确解标签。z表示需要更新的权重参数,表示损失函数关于z的梯度,η表示学习率,←表示用右边的值更新左边的值。
10.基于双层注意力和时空特征并行融合的SDN网络异常流量分类装置,其特征在于,该装置能够执行权利要求1-9任一项所述的分类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310646614.6A CN116684133A (zh) | 2023-06-01 | 2023-06-01 | 基于双层注意力和时空特征并行融合的sdn网络异常流量分类装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310646614.6A CN116684133A (zh) | 2023-06-01 | 2023-06-01 | 基于双层注意力和时空特征并行融合的sdn网络异常流量分类装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116684133A true CN116684133A (zh) | 2023-09-01 |
Family
ID=87780428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310646614.6A Pending CN116684133A (zh) | 2023-06-01 | 2023-06-01 | 基于双层注意力和时空特征并行融合的sdn网络异常流量分类装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116684133A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116862080A (zh) * | 2023-09-05 | 2023-10-10 | 国网山东省电力公司营销服务中心(计量中心) | 一种基于双视角对比学习的碳排放预测方法及系统 |
-
2023
- 2023-06-01 CN CN202310646614.6A patent/CN116684133A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116862080A (zh) * | 2023-09-05 | 2023-10-10 | 国网山东省电力公司营销服务中心(计量中心) | 一种基于双视角对比学习的碳排放预测方法及系统 |
CN116862080B (zh) * | 2023-09-05 | 2024-02-09 | 国网山东省电力公司营销服务中心(计量中心) | 一种基于双视角对比学习的碳排放预测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112163594B (zh) | 一种网络加密流量识别方法及装置 | |
Xu et al. | A method of few-shot network intrusion detection based on meta-learning framework | |
CN109951444B (zh) | 一种加密匿名网络流量识别方法 | |
Song et al. | Encrypted traffic classification based on text convolution neural networks | |
CN113469234A (zh) | 一种基于免模型联邦元学习的网络流量异常检测方法 | |
CN114615093B (zh) | 基于流量重构与继承学习的匿名网络流量识别方法及装置 | |
CN113037730A (zh) | 基于多特征学习的网络加密流量分类方法及系统 | |
CN113162908A (zh) | 一种基于深度学习的加密流量检测方法及系统 | |
CN112906019A (zh) | 基于改进dcgan模型的流量数据生成方法、装置及系统 | |
CN115037805B (zh) | 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质 | |
CN116684133A (zh) | 基于双层注意力和时空特征并行融合的sdn网络异常流量分类装置及方法 | |
CN111565156A (zh) | 一种对网络流量识别分类的方法 | |
CN112804253A (zh) | 一种网络流量分类检测方法、系统及存储介质 | |
CN114826776B (zh) | 一种用于加密恶意流量的弱监督检测方法及系统 | |
Chen et al. | Ride: Real-time intrusion detection via explainable machine learning implemented in a memristor hardware architecture | |
CN117391188A (zh) | 基于联邦ai计算的物联网模型训练方法 | |
CN116306780B (zh) | 一种动态图链接生成方法 | |
CN117853861A (zh) | 农作物病害识别模型的训练方法及农作物病害识别方法 | |
CN117318980A (zh) | 一种面向小样本场景的自监督学习恶意流量检测方法 | |
CN112580011A (zh) | 一种面向生物特征隐私保护的人像加解密系统 | |
CN115438753B (zh) | 一种基于生成的衡量联邦学习协议数据安全性的方法 | |
CN114979017B (zh) | 基于工控系统原始流量的深度学习协议识别方法及系统 | |
CN116684138A (zh) | 基于注意力机制的drsn和lstm的网络入侵检测方法 | |
Ji et al. | Traffic classification based on graph convolutional network | |
CN114358177B (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 |