CN116743506B - 一种基于四元数卷积神经网络的加密流量识别方法及装置 - Google Patents
一种基于四元数卷积神经网络的加密流量识别方法及装置 Download PDFInfo
- Publication number
- CN116743506B CN116743506B CN202311016642.6A CN202311016642A CN116743506B CN 116743506 B CN116743506 B CN 116743506B CN 202311016642 A CN202311016642 A CN 202311016642A CN 116743506 B CN116743506 B CN 116743506B
- Authority
- CN
- China
- Prior art keywords
- quaternion
- data
- data packet
- neural network
- convolutional neural
- 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 58
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 55
- 239000011159 matrix material Substances 0.000 claims abstract description 35
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 238000007781 pre-processing Methods 0.000 claims abstract description 11
- 238000012549 training Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 12
- 238000012360 testing method Methods 0.000 claims description 10
- 239000013598 vector Substances 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000011218 segmentation Effects 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 5
- 102100026278 Cysteine sulfinic acid decarboxylase Human genes 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 108010064775 protein C activator peptide Proteins 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000000280 densification 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
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000005070 sampling 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/1416—Event detection, e.g. attack signature detection
-
- 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/08—Learning methods
- G06N3/092—Reinforcement learning
-
- 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
-
- 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/1441—Countermeasures against malicious traffic
-
- 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)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于四元数卷积神经网络的加密流量识别方法及装置。所述方法包括:采集数据;对数据进行预处理;提取每条流中指定数量数据包的负载长度、到达时间间隔、方向和传输协议四个特征并进行归一化;在四元数空间中嵌入归一化数据表示成四元数矩阵形式;将四元数矩阵送入四元数卷积神经网络模型,获得加密流量识别结果,其中四元数卷积神经网络模型将输入数据和卷积核均扩展为四元数,利用四元数性质进行前向传播进行训练。本发明将流量识别输入由灰度图的形式转换成四元数的形式,在四元数的数学框架下将传统标量卷积神经网络拓展为超复数卷积神经网络,结合各特征通道之间的相关性使得加密流量的特征描述更精确,分类也更为准确。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及一种基于四元数卷积神经网络的加密流量识别方法及装置。
背景技术
随着人们对隐私保护和数据安全的需求日益增长,越来越多的个人和企业选择使用加密机制对流量进行加密传输,以提高流量传输的安全性。网络通信加密化已成为不可阻挡的趋势,加密网络流量呈现爆炸增长。但也有越来越多的网络攻击开始采用加密恶意流量伪装成正常网络流量的手段进行通信。对加密网络流量进行有效地监测和识别,以提高网络的服务质量、加强网络的管理以及保障数据的安全性显得十分重要。
现有的传统网络流量分类方法可以分为以下四类:
基于端口号的方法:在早期发展中,每一个网络应用都会被指定固定的端口号。例如,SSL协议相关应用使用80端口,TELNET远程终端协议相关应用使用23端口等。这种分类方法的原理非常简单,只需要读取网络数据流中的第一个数据包即可成功识别,识别效率非常高而具体实现又极为简单。但是,随着技术的不断发展,该方法不适用于非标准端口或新定义的端口,动态端口技术的出现导致基于端口的流量识别方法准确率开始下降。
基于有效载荷的深度包检测(Deep Packet Inspection,DPI)方法:该方法是通过匹配数据分组的有效载荷的表达式来对流量进行识别,可以有效避免上述动态端口等带来的问题。但是近年来,越来越多的应用程序在传输数据时使用加密通信,给这种流量分类方法也带来了极大挑战。
基于统计特征的方法:该方法是通过将网络流量特征输入机器学习模型,由模型输出识别结果,虽然这种方法不依赖数据包有效载荷的解析,但是输入模型的网络流量特征需要人工提取,需要耗费大量的人力资源,导致识别效率低且准确度低。
基于深度学习的方法:该方法是将数据包字节转换成灰度图的形式作为输入,使用卷积神经网络对数据包负载内容进行分类。这种方法虽然取得了较好的分类效果并且被广泛应用,但是基于灰度图的流量分类方法可解释性较差,该方法是将字节之间的关系与图像像素之间类比并且现有深度学习方法需要采用固定长度序列作为模型输入进行检测,无法识别数据包较短的加密流量,导致识别结果不准确。
因此,需要一种新的加密流量识别技术。
发明内容
发明目的:本发明的目的是提供一种基于四元数卷积神经网络的加密流量识别方法及装置,以较低的运算成本解决加密网络流量难以准确识别的问题。
技术方案:第一方面,本发明提供一种基于四元数卷积神经网络的加密流量识别方法,包括以下步骤:
采集数据,得到流量数据集;
对数据进行预处理,包括对流量进行切分、去除不相关数据、数据包统一化处理;
提取每条流中指定数量数据包的负载长度、到达时间间隔、方向和传输协议四个特征并对特征进行归一化;
在四元数空间中嵌入归一化后的数据,将特征表示成四元数矩阵形式;
将所述四元数矩阵作为输入数据,送入四元数卷积神经网络模型,获得加密流量识别结果,所述四元数卷积神经网络模型中的卷积操作定义为:
,
其中W=r+xi+yj+zk为四元数权值滤波矩阵,Xp=R+Xi+Yj+Zk为四元数输入向量,R、X、Y、Z是输入的四个特征,即数据包负载长度、到达间隔时间、方向和传输协议特征,r、x、y、z为四个特征对应滤波器的卷积核大小,i,j,k是四元数的虚数单位基,表示卷积运算。
第二方面,本发明提供一种基于四元数卷积神经网络的加密流量识别装置,包括:
数据采集模块,用于采集数据,得到流量数据集;
数据预处理模块,用于对数据进行预处理,包括对流量进行切分、去除不相关数据、数据包统一化处理;
特征提取模块,用于提取每条流中指定数量数据包的负载长度、到达时间间隔、方向和传输协议四个特征并对特征进行归一化;
四元数表示模块,用于在四元数空间中嵌入归一化后的数据,将特征表示成四元数矩阵形式;
四元数卷积神经网络识别模块,用于将所述四元数矩阵作为输入数据,送入四元数卷积神经网络模型,获得加密流量识别结果,所述四元数卷积神经网络模型中的卷积操作定义为:
,
其中W=r+xi+yj+zk为四元数权值滤波矩阵,Xp=R+Xi+Yj+Zk为四元数输入向量,R、X、Y、Z是输入的四个特征,即数据包负载长度、到达间隔时间、方向和传输协议特征,r、x、y、z为四个特征对应滤波器的卷积核大小,i,j,k是四元数的虚数单位基,表示卷积运算。
第三方面,本发明还提供一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如本发明第一方面所述的基于四元数卷积神经网络的加密流量识别方法的步骤。
第四方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述的基于四元数卷积神经网络的加密流量识别方法的步骤。
与现有技术相比,本发明的有益效果为:
本发明的基于四元数卷积神经网络的加密流量识别方法,创新地将流量识别输入由以往灰度图的形式转换成四元数的形式。在四元数的数学框架下将传统标量卷积神经网络拓展为超复数卷积神经网络,通过结合各特征通道之间的相关性使得加密流量的特征描述更为精确,分类也更为准确。本发明的方法可以在复杂的网络环境下,仅使用每个流前16个数据包的四个特征就可以达到97%的准确性,无需针对不同分类任务设计不同特征,减少了模型参数量,降低了计算开销,适用于在线分类平台。
附图说明
图1为本发明实施例中基于四元数卷积神经网络的加密流量识别方法流程图;
图2为本发明实施例中四元数整体卷积过程示意图;
图3为本发明实施例中模型训练验证流程图;
图4为本发明实施例中各模型测试对比结果图。
具体实施方式
下面将结合附图对本发明实施例中的技术方案进行清楚、完整的描述。
参照图1,本发明提供的一种基于四元数卷积神经网络的加密流量识别方法,包括以下步骤:
步骤1:数据采集,得到流量数据集。
本发明旨在实现利用四元数卷积神经网络来识别加密流量,对神经网络的应用一般需要事先用训练数据集通过训练得到网络模型。相应地,数据采集步骤包括两种情况,一种是采集用于训练的流量数据,一种是采集待识别的网络流量。根据本发明的实施方式,在训练阶段输入的流量数据均是由Wireshark工具在真实环境中获取。通过Wireshark软件捕捉各种加密和非加密流量,生成相应的PCAP文件,并对所述PCAP文件进行人工标注,标注标签分为加密和非加密,获得用于训练的流量数据集。在应用阶段,由Wireshark工具在真实环境中获取流量,生成PCAP文件。
步骤2:数据预处理,包括对流量进行切分、去除不相关数据、数据包统一化处理。
流量切分:基于深度学习的流量分类方法需要首先按照一定粒度将连续流量切分为多个离散单元。针对原始加密数据流文件,即PCAP包,首先通过流量切分工具根据其五元组信息(即源IP地址、源端口号、目的IP地址、目的端口号、传输层协议),将原始数据流切割为各个独立的单元。流量切分一般有两种标准方式:一种为流,另一种为会话。流,是指具有相同五元组(源IP、源端口、目的IP、目的端口、传输层协议)的所有包。会话,是指由双向流组成的所有包,即五元组中的源和目的可以互换。按流切分,是指按照五元组信息将连续的流量集合划分为多个子集合,每个子集合内的包按照时间顺序排列,将其称为一个流;按会话切分,是指按照五元组信息将从源IP到目的IP、从源端口到目的端口方向相同以及相反的数据包提取出来,按照时间顺序排列,将其称为一个会话。
优选的,本发明采用切割成会话的形式,因为其考虑了流的双向性信息,所以包含的信息更能代表原始数据流的特征。使用动态窗口对各个独立的单元进行切分,对于切分后的子流进行采样,获得带有序列关系的子流。
去除不相关数据:即去除影响模型预测或有效载荷为空的数据包。真实环境中的流量会包含一些用于TCP建立、断开连接的数据包,比如包含SYN、ACK或FIN标志位的数据包,还有一些用于域名解析的数据包和有效载荷为空的数据包,这些数据包对于流量分类是不起作用的,反而会影响分类准确性,所以需要去除,得到初始加密流量数据集。
数据统一:对初始加密流量数据集中的流量数据进行数据截断或填充处理,以使任一加密流量数据的数据包数量一致。
应理解,在训练阶段和应用阶段都需要做上述预处理工作。
步骤3:提取每条流中指定数量数据包的负载长度、到达时间间隔、方向和传输协议四个特征并对特征进行归一化。
根据本发明的实施方式,提取每条流前16个数据包的负载长度、到达时间间隔、方向和传输协议四个特征。
对于数据包负载长度,最大选择为1500字节。如果大于或等于1500字节则将数据包负载长度设置为1,将其余小于1500字节的数据包负载长度除以1500进行归一化,即将数据包负载长度特征值划分至[0,1]范围之内。
对于数据包到达时间间隔,其最大值设置为1秒,如果实际到达时间间隔大于或等于1秒,则将到达间隔时间设置为1,如果小于1秒则保留以秒计的小数形式。这样处理可以保证数据包到达时间间隔特征值在[0,1]范围之内。
对于方向,以该条流中第一个数据包的方向(即,是从源IP到目的IP,还是从目的IP到源IP)为基准,与其相同的数据包方向特征值设置为0,否则为1。
对于传输协议,将协议为UDP的报文的传输协议特征值设置为0,将协议为TCP的报文的传输协议特征值设置为1。
通过归一化处理使得每种特征的输入大小都在[0,1]的范围之内。
步骤4:在四元数空间中嵌入归一化后的数据,将特征表示成四元数矩阵形式。
本发明将归一化后的四种特征数据组成四元数矩阵,以进入四元数卷积神经网络模型进行卷积操作。在本发明中,选择了标准四元数表示方式,即,其中R,X,Y,Z是实部和三个虚部的系数。R是四元数的实部,/>是四元数的虚部。1,i,j,k是四元数单位基。
根据本发明的实施方式,将归一化后的数据包负载长度对应四元数的实部,将归一化后的到达间隔时间、方向和传输协议特征对应四元数的三个虚部。需要说明的是,到达间隔时间、方向和传输协议特征与三个虚部X,Y,Z并不一定是固定对应的关系,例如,可以是到达间隔时间对应X,方向对应Y,传输协议对应Z,也可以是达间隔时间对应Y,方向对应Z,传输协议对应X,或者是其他对应关系,本发明对此不做限制。在本发明中采用了一种基于四元数理论的嵌入方式,即将数据包对应的特征表示为,也可以表示为向量的形式:/>,数据包的四元数表示排列成一个矩阵,就构成了一个四元数矩阵。因此,一个流量样本可表示为一个四元数矩阵。
步骤5:将所述四元数矩阵作为输入数据,送入四元数卷积神经网络模型,获得加密流量识别结果。
本发明在卷积神经网络模型基础上,建立四元数卷积神经网络模型。卷积核扩展为四元数卷积核;输入数据为四元数矩阵,经过三层四元数卷积层后,最终经过全连接层,即为四元数卷积神经网络模型。即,本发明实施例中的四元数卷积神经网络模型由三个四元数卷积层、三个ReLU层、三个批标准化(BN)层以及一个全连接层组成。图2示出了本发明实施例中四元数整体卷积过程,可以看出对输入的四个通道特征进行4次卷积操作后,分别生成了4个通道的新特征图(MK1,MK2,MK3,MK4),最后经过进一步的整合计算,就可以得到四元数卷积层输出的深度特征。通过将输入数据和卷积核均扩展为四元数,利用四元数性质进行前向传播,训练整个四元数卷积神经网络。
四元数卷积原理为:四元数卷积神经网络的输入数据为四元数矩阵,矩阵的每一行均为一个四元数向量,卷积核同样为四元数形式。设W=r+xi+yj+zk为四元数权值滤波矩阵,Xp=R+Xi+Yj+Zk为四元数输入向量。在实值空间中定义了卷积过程:
,
因此可以表示为矩阵形式:
,
其中,表示卷积运算,R、X、Y、Z是输入的四个特征,即数据包负载长度、到达间隔时间、方向和传输协议特征,r、x、y、z为四个特征对应滤波器的卷积核大小。R'、X'、Y'、Z'代表了经过卷积后新生成的特征向量。
具体地,通过将卷积层、ReLU层、BN层和全连接层的叠加,形成一个完整的卷积神经网络:第一卷积层-第一ReLU层-第一BN层-第二卷积层-第二ReLU层-第二BN层-第三卷积层-第三ReLU层-第三BN层-全连接层。
其中,卷积层为四元数二维卷积,即操作,本发明用QConv2D表示;激活函数ReLU如公式(1)所示:
(1),
批标准化如公式(2)所示:
(2),
式中是某个神经元原始激活值,/>为经过标准化操作后的规范值;/>和/>分别是均值和方差,/>和/>是两个学习参数,用于将归一化后的数据放大并平移回非线性区域。
训练所用的损失函数如公式(3)所示,其中表示当前迭代轮次的预测为正例的概率,s为真实值即标签值,本发明中标签值为0或1:
(3)。
本发明实施例中设置模型Dropout为0.7。
本发明实施例中四元数卷积神经网络模型主要参数设置如表1所示。
表1 四元数卷积神经网络模型参数设置
网络层 | 操作 | 输入 | 卷积核 | 步长 | 填充 | 输出 |
1 | QConv2D+ReLU+BN | 4*4*4 | 3*3 | 1 | Same | 32*4*4 |
2 | QConv2D+ReLU+BN | 32*4*4 | 3*3 | 1 | Same | 64*4*4 |
3 | QConv2D+ReLU+BN | 64*4*4 | 3*3 | 1 | Same | 128*4*4 |
4 | 全连接+Dropout | 128*4*4 | Null | Null | None | 2 |
对建立的四元数卷积神经网络模型进行训练,通过参数寻优确定所述四元数卷积神经网络模型中参数的最优值。
如图3所示,其示出了本发明实施例中模型训练验证流程图,说明:图3中示出的QuaternionConv2D、2QuaternionConv2D、3QuaternionConv2D、Linear分别对应表1中的1-4层网络层。该模型训练过程包括:将数据包的负载长度、到达间隔时间、方向和传输协议组成的四元数矩阵及对应的真实标签值划分为训练集、验证集和测试集,分类比例为8:1:1;利用训练集训练所述四元数卷积神经网络模型,通过参数寻优,得到最优参数,确定模型参数;参数至少包括:四元数卷积核的个数、学习率的大小、全连接层神经元的个数。利用验证集验证四元数卷积神经网络模型的性能;利用测试集测试四元数卷积神经网络模型,使用准确率、精度、召回率和F1-score作为模型的评价指标。表2示出了不同神经元数目下模型指标。
表2 不同神经元数目下模型指标
神经元个数 | 准确率 | F1-score |
128 | 0.9574 | 0.9566 |
512 | 0.9601 | 0.9592 |
1024 | 0.9711 | 0.9708 |
2048 | 0.9656 | 0.9652 |
4096 | 0.9642 | 0.9638 |
通过对比实验,将本发明的模型和其他分类模型的分类结果进行比较,图4示出了本发明实施例中各模型测试对比结果图,表3给出了各模型的测试性能。可以看出,本发明的模型会达到比其他分类模型更高的性能和精准率。
表3 各模型测试对比结果
方法 | 准确率 | 精度 | 召回率 | F1-score |
SAE | 0.9451 | 0.9443 | 0.9451 | 0.9445 |
CNN | 0.9477 | 0.9473 | 0.9477 | 0.9463 |
LSTM | 0.9312 | 0.9311 | 0.9312 | 0.9306 |
CNN-LSTM | 0.9532 | 0.9544 | 0.9532 | 0.9516 |
QCNN(本发明) | 0.9711 | 0.9709 | 0.9711 | 0.9708 |
本发明的基于四元数卷积神经网络的加密流量识别方法,创新地将流量识别输入由以往灰度图的形式转换成四元数的形式。在四元数的数学框架下将传统标量卷积神经网络拓展为超复数卷积神经网络,通过结合各特征通道之间的相关性使得加密流量的特征描述更为精确,分类也更为准确。本发明的方法可以在复杂的网络环境下,仅使用每个流前16个数据包的四个特征就可以达到97%的准确性,无需针对不同分类任务设计不同特征,减少了模型参数量,降低了计算开销,适用于在线分类平台。
基于和方法实施例同样的技术构思,本发明还提供一种基于四元数卷积神经网络的加密流量识别装置,包括:
数据采集模块,用于采集数据,得到流量数据集;
数据预处理模块,用于对数据进行预处理,包括对流量进行切分、去除不相关数据、数据包统一化处理;
特征提取模块,用于提取每条流中指定数量数据包的负载长度、到达时间间隔、方向和传输协议四个特征并对特征进行归一化;
四元数表示模块,用于在四元数空间中嵌入归一化后的数据,将特征表示成四元数矩阵形式;
四元数卷积神经网络识别模块,用于将所述四元数矩阵作为输入数据,送入四元数卷积神经网络模型,获得加密流量识别结果,其中所述四元数卷积神经网络模型包括三个四元数卷积层、三个ReLU层、三个批标准化层和一个全连接层,所述四元数卷积层的卷积过程表示为:
,
其中W=r+xi+yj+zk为四元数权值滤波矩阵,Xp=R+Xi+Yj+Zk为四元数输入向量,R、X、Y、Z是输入的四个特征,即数据包负载长度、到达间隔时间、方向和传输协议特征,r、x、y、z为四个特征对应滤波器的卷积核大小,i,j,k是四元数的虚数单位基。
应理解,本发明实施例中的基于四元数卷积神经网络的加密流量识别装置可以实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。
本发明还提供一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如上所述的基于四元数卷积神经网络的加密流量识别方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于四元数卷积神经网络的加密流量识别方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、计算机设备或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程以及流程图中的流程的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程中指定的功能的步骤。
Claims (8)
1.一种基于四元数卷积神经网络的加密流量识别方法,其特征在于,包括以下步骤:
采集数据,得到流量数据集;
对数据进行预处理,包括对流量进行切分、去除不相关数据、数据包统一化处理;
提取每条流中指定数量数据包的负载长度、到达时间间隔、方向和传输协议四个特征并对特征进行归一化,包括:获取每个数据包的负载长度,将大于或等于1500字节的数据包负载长度特征值设置为1,将小于1500字节的数据包负载长度特征值设置为数据包负载长度除以1500的小数值;获取每个数据包的到达时间间隔,将到达时间间隔大于或等于1秒的数据包的到达间隔时间特征值设置为1,将到达时间间隔小于1秒的数据包的到达间隔时间特征值设置为以秒计的到达时间间隔;获取每个数据包的方向,将与第一个数据包方向相同的数据包的方向特征值设置为0,否则为1;获取每个数据包的传输协议,将传输协议为UDP的数据包传输协议特征值设置为0,将传输协议为TCP的数据包传输协议特征值设置为1;
在四元数空间中嵌入归一化后的数据,将特征表示成四元数矩阵形式,包括:根据标准四元数表示方式将每一个数据包对应的特征表示为,其中归一化后的数据包负载长度对应四元数的实部,归一化后的到达间隔时间、方向和传输协议特征对应四元数的三个虚部,转换为向量的形式/>,将数据包的四元数表示排列成一个矩阵,构成一个四元数矩阵;
将所述四元数矩阵作为输入数据,送入四元数卷积神经网络模型,获得加密流量识别结果,所述四元数卷积神经网络模型中的卷积操作定义为:
,
其中W=r+xi+yj+zk为四元数权值滤波矩阵,Xp=R+Xi+Yj+Zk为四元数输入向量,R、X、Y、Z是输入的四个特征,即数据包负载长度、到达间隔时间、方向和传输协议特征,r、x、y、z为四个特征对应滤波器的卷积核大小,i,j,k是四元数的虚数单位基,表示卷积运算。
2.根据权利要求1所述的方法,其特征在于,所述流量切分包括:利用流量切分工具,根据流量的五元组信息将原始流量切割为多个独立的单元,所述五元组包括数据包的源IP地址、源端口号、目的IP地址、目的端口号、传输层协议;
所述去除不相关数据包括:去除用于TCP连接建立和断开的数据包、用于域名解析的数据包以及有效载荷为空的数据包;
所述数据统一化包括:对流量进行数据截断或填充处理,以使任一流量的数据包数量一致。
3.根据权利要求2所述的方法,其特征在于,根据流量的五元组信息将原始流量切割为多个独立的单元包括:按照五元组信息将从源IP到目的IP、从源端口到目的端口方向相同以及相反的数据包提取出来,按照时间顺序排列。
4.根据权利要求1所述的方法,其特征在于,所述四元数卷积神经网络模型包括三个四元数卷积层、三个ReLU层、三个批标准化层和和一个全连接层,四元数卷积层的卷积过程的矩阵形式为:
,
R'、X'、Y'、Z'代表了经过卷积后新生成的特征向量。
5.根据权利要求1所述的方法,其特征在于,所述四元数卷积神经网络模型是经过训练得到的,训练过程包括:将数据包的负载长度、到达间隔时间、方向和传输协议组成的四元数矩阵及对应的真实标签值划分为训练集、验证集和测试集,利用训练集训练所述四元数卷积神经网络模型,通过参数寻优,得到最优参数,确定模型参数;利用验证集验证四元数卷积神经网络模型的性能;利用测试集测试四元数卷积神经网络模型。
6.一种基于四元数卷积神经网络的加密流量识别装置,其特征在于,包括:
数据采集模块,用于采集数据,得到流量数据集;
数据预处理模块,用于对数据进行预处理,包括对流量进行切分、去除不相关数据、数据包统一化处理;
特征提取模块,用于提取每条流中指定数量数据包的负载长度、到达时间间隔、方向和传输协议四个特征并对特征进行归一化,包括:获取每个数据包的负载长度,将大于或等于1500字节的数据包负载长度特征值设置为1,将小于1500字节的数据包负载长度特征值设置为数据包负载长度除以1500的小数值;获取每个数据包的到达时间间隔,将到达时间间隔大于或等于1秒的数据包的到达间隔时间特征值设置为1,将到达时间间隔小于1秒的数据包的到达间隔时间特征值设置为以秒计的到达时间间隔;获取每个数据包的方向,将与第一个数据包方向相同的数据包的方向特征值设置为0,否则为1;获取每个数据包的传输协议,将传输协议为UDP的数据包传输协议特征值设置为0,将传输协议为TCP的数据包传输协议特征值设置为1;
四元数表示模块,用于在四元数空间中嵌入归一化后的数据,将特征表示成四元数矩阵形式,包括:根据标准四元数表示方式将每一个数据包对应的特征表示为,其中归一化后的数据包负载长度对应四元数的实部,归一化后的到达间隔时间、方向和传输协议特征对应四元数的三个虚部,转换为向量的形式,将数据包的四元数表示排列成一个矩阵,构成一个四元数矩阵;
四元数卷积神经网络识别模块,用于将所述四元数矩阵作为输入数据,送入四元数卷积神经网络模型,获得加密流量识别结果,所述四元数卷积神经网络模型中的卷积操作定义为:
,
其中W=r+xi+yj+zk为四元数权值滤波矩阵,Xp=R+Xi+Yj+Zk为四元数输入向量,R、X、Y、Z是输入的四个特征,即数据包负载长度、到达间隔时间、方向和传输协议特征,r、x、y、z为四个特征对应滤波器的卷积核大小,i,j,k是四元数的虚数单位基,表示卷积运算。
7.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如权利要求1-5中任一项所述的基于四元数卷积神经网络的加密流量识别方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的基于四元数卷积神经网络的加密流量识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311016642.6A CN116743506B (zh) | 2023-08-14 | 2023-08-14 | 一种基于四元数卷积神经网络的加密流量识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311016642.6A CN116743506B (zh) | 2023-08-14 | 2023-08-14 | 一种基于四元数卷积神经网络的加密流量识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116743506A CN116743506A (zh) | 2023-09-12 |
CN116743506B true CN116743506B (zh) | 2023-11-21 |
Family
ID=87915514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311016642.6A Active CN116743506B (zh) | 2023-08-14 | 2023-08-14 | 一种基于四元数卷积神经网络的加密流量识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116743506B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341452A (zh) * | 2017-06-20 | 2017-11-10 | 东北电力大学 | 基于四元数时空卷积神经网络的人体行为识别方法 |
CN112098358A (zh) * | 2020-09-07 | 2020-12-18 | 燕山大学 | 基于四元数卷积神经网络的近红外光谱并行融合定量建模方法 |
CN112804123A (zh) * | 2021-01-13 | 2021-05-14 | 国网安徽省电力有限公司亳州供电公司 | 一种用于调度数据网的网络协议识别方法及系统 |
WO2022041394A1 (zh) * | 2020-08-28 | 2022-03-03 | 南京邮电大学 | 一种网络加密流量识别方法及装置 |
CN114615093A (zh) * | 2022-05-11 | 2022-06-10 | 南京信息工程大学 | 基于流量重构与继承学习的匿名网络流量识别方法及装置 |
CN115334005A (zh) * | 2022-03-31 | 2022-11-11 | 北京邮电大学 | 基于剪枝卷积神经网络和机器学习的加密流量识别方法 |
CN116232696A (zh) * | 2023-01-18 | 2023-06-06 | 南京烽火星空通信发展有限公司 | 基于深度神经网络的加密流量分类方法 |
-
2023
- 2023-08-14 CN CN202311016642.6A patent/CN116743506B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341452A (zh) * | 2017-06-20 | 2017-11-10 | 东北电力大学 | 基于四元数时空卷积神经网络的人体行为识别方法 |
WO2022041394A1 (zh) * | 2020-08-28 | 2022-03-03 | 南京邮电大学 | 一种网络加密流量识别方法及装置 |
CN112098358A (zh) * | 2020-09-07 | 2020-12-18 | 燕山大学 | 基于四元数卷积神经网络的近红外光谱并行融合定量建模方法 |
CN112804123A (zh) * | 2021-01-13 | 2021-05-14 | 国网安徽省电力有限公司亳州供电公司 | 一种用于调度数据网的网络协议识别方法及系统 |
CN115334005A (zh) * | 2022-03-31 | 2022-11-11 | 北京邮电大学 | 基于剪枝卷积神经网络和机器学习的加密流量识别方法 |
CN114615093A (zh) * | 2022-05-11 | 2022-06-10 | 南京信息工程大学 | 基于流量重构与继承学习的匿名网络流量识别方法及装置 |
CN116232696A (zh) * | 2023-01-18 | 2023-06-06 | 南京烽火星空通信发展有限公司 | 基于深度神经网络的加密流量分类方法 |
Non-Patent Citations (1)
Title |
---|
基于MEMS传感器的数据采集识别系统设计;陈健伟;《电子器件》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116743506A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022041394A1 (zh) | 一种网络加密流量识别方法及装置 | |
CN110311829B (zh) | 一种基于机器学习加速的网络流量分类方法 | |
CN110247930B (zh) | 一种基于深度神经网络的加密网络流量识别方法 | |
CN112511555A (zh) | 基于稀疏表示和卷积神经网络的私有加密协议报文分类法 | |
CN112311814B (zh) | 基于深度学习的恶意加密流量识别方法、系统及电子设备 | |
CN112104570A (zh) | 流量分类方法、装置、计算机设备和存储介质 | |
CN110868409A (zh) | 一种基于tcp/ip协议栈指纹的操作系统被动识别方法及系统 | |
CN111224946A (zh) | 一种基于监督式学习的tls加密恶意流量检测方法及装置 | |
CN111144470A (zh) | 一种基于深度自编码器的未知网络流量识别方法及系统 | |
CN111611280A (zh) | 一种基于cnn和sae的加密流量识别方法 | |
CN112019500B (zh) | 一种基于深度学习的加密流量识别方法及电子装置 | |
CN112804253A (zh) | 一种网络流量分类检测方法、系统及存储介质 | |
CN114650229A (zh) | 基于三层模型sftf-l的网络加密流量分类方法与系统 | |
Han et al. | An effective encrypted traffic classification method based on pruning convolutional neural networks for cloud platform | |
CN112383488B (zh) | 一种适用于加密与非加密数据流的内容识别方法 | |
CN116743506B (zh) | 一种基于四元数卷积神经网络的加密流量识别方法及装置 | |
CN116828087B (zh) | 基于区块链连接的信息安全系统 | |
CN116389293A (zh) | 一种基于深度学习的信息安全保密方法和装置 | |
CN117056797A (zh) | 基于非平衡数据的加密流量分类方法、设备及介质 | |
CN114338437B (zh) | 网络流量分类方法、装置、电子设备及存储介质 | |
CN116260736A (zh) | 一种基于深度学习的去中心化应用流量识别方法和系统 | |
CN114362988B (zh) | 网络流量的识别方法及装置 | |
CN116094971A (zh) | 一种工控协议识别方法、装置、电子设备及存储介质 | |
CN116232696A (zh) | 基于深度神经网络的加密流量分类方法 | |
CN113949653A (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 |