CN112839024A - 一种基于多尺度特征注意力的网络流量分类方法及*** - Google Patents
一种基于多尺度特征注意力的网络流量分类方法及*** Download PDFInfo
- Publication number
- CN112839024A CN112839024A CN202011224892.5A CN202011224892A CN112839024A CN 112839024 A CN112839024 A CN 112839024A CN 202011224892 A CN202011224892 A CN 202011224892A CN 112839024 A CN112839024 A CN 112839024A
- Authority
- CN
- China
- Prior art keywords
- application protocol
- byte stream
- classification
- vector
- branch
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000012549 training Methods 0.000 claims abstract description 43
- 238000013145 classification model Methods 0.000 claims abstract description 35
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 15
- 238000001514 detection method Methods 0.000 claims abstract description 5
- 239000013598 vector Substances 0.000 claims description 68
- 238000013528 artificial neural network Methods 0.000 claims description 30
- 230000009466 transformation Effects 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 13
- 238000012512 characterization method Methods 0.000 claims description 11
- 238000013527 convolutional neural network Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 11
- 230000004927 fusion Effects 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 7
- 230000004913 activation Effects 0.000 claims description 6
- 230000014509 gene expression Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 238000001914 filtration Methods 0.000 claims description 2
- 239000010410 layer Substances 0.000 claims 16
- 239000002356 single layer Substances 0.000 claims 2
- 238000013135 deep learning Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000002474 experimental method Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 101000933374 Gallus gallus Brain-specific homeobox/POU domain protein 3 Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000013604 expression vector Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010972 statistical evaluation Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
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
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于多尺度特征注意力的网络流量分类方法及***,该方法包括训练阶段和分类阶段;训练阶段包括:对应用协议的流量样本进行统一处理;对训练数据进行学习训练,构建应用协议分类模型;分类阶段包括:采集网络流量并统一处理;根据训练阶段得到的应用协议检测模型,对待测流量样本的应用协议类型进行判别,并输出判别结果。本发明能够充分挖掘网络流量中不同尺度的潜在特征信息,从而形成更具表达能力的特征表示,在网络应用协议流量分类过程中具有高准确率和强鲁棒性。
Description
技术领域
本发明涉及根据报文分组的有效载荷使用深度学习技术对混杂的网络流量进行自动分类方法及***,具体涉及一种基于多尺度特征注意力的网络流量分类方法及***,属于网络流量分类技术领域。
背景技术
网络流量分类是将网络流量与其生成的具体应用协议或应用相关联的过程,其在网络管理和网络安全等领域都有着重要应用,如网络测量,隧道检测,服务质量(QoS)以及入侵检测和防御等。具体而言,在网络管理中,为了获得更好的服务质量和网络供应,网络运营商首先需要将流量分为不同的应用协议。另外,在网络安全领域中,网络流量分类是如异常检测,防火墙和过滤有害流量等活动的第一步。由于这种应用需求,该领域的研究吸引着众多学术界和工业界的研究关注。值得注意的是,大多数商业解决方案,例如PACE2和NBAR2,通常都依赖于深度数据报文检查(DPI)进行网络流量分类,DPI被认为是最准确的流量分类技术之一。在过去的十年中,研究团体探索了多种基于数据报文有效负载的网络流量分析方法。近年来,受深度学习技术在计算机视觉、机器翻译和语音识别等多个领域取得巨大成功的推动,一些研究人员开始考虑使用先进的深度学习技术来尝试更好地解决网络流量分类问题。然而,设计合适的深度学习模型以实现具备良好分类效率和高分类效率的网络流量分类仍然是一个非常重要、开放的研究问题。本发明将数据报文的有效负载作为输入,并尝试使用新设计的深度学习模型对网络流量进行更准确和有效的分类。
本发明设计并实现了一个新颖的基于深度学习的网络流量分类方法及***,该方法及***通过提取报文载荷中的多尺度特征并结合注意力机制,从而实现了准确率更优的网络流量分类。
对于网络流量分类,现有文献中提出了几种使用深度神经网络模型来分析数据报文有效载荷的方法。典型的深度神经网络模型报文包括卷积神经网络(CNN)和递归神经网络(RNN)。然而,现有的基于深度神经网络的网络流量分类方法与***在实际应用过程中存在着两点局限性:
(1)基于卷积神经网络(CNN)的现有方法使用固定大小的卷积核,即它们只能提取固定大小的n-gram特征来分析数据报文的有效载荷。n-gram是含有至少n个元素的报文中n个连续元素的报文子序列。使用固定大小的n-gram特征开展流量分类有两个明显缺点。首先,某些二进制应用程序应用协议使用的应用协议关键字,其大小会小于所选的n-gram大小。因此,使用固定大小的n-gram特征会携带其他不必要的冗余信息。其次,某些应用协议可能同时报文含一个字节的应用协议关键字和几个字节的应用协议关键字。因此,使用固定大小的n-gram特征无法自适应地选择不同尺度的n-gram特征以进行鲁棒的网络流量分类。
(2)基于递归神经网络(RNN)的一些方法已被应用于网络流量分类。但是,RNN的顺序性质成为GPU的主要性能瓶颈。当使用RNN处理顺序数据时,每个隐藏状态都需要依赖于先前的隐藏状态。值得注意的是,虽然GPU具有大量的计算能力,但是RNN的顺序性质使得GPU必须等待数据的可用。因此基于RNN的网络流量分类方法在计算效率和计算复杂性上存在着较大的局限性。
本发明拟解决此前方法或***存在的两点技术缺陷。
发明内容
本发明的目的在于设计并实现一种基于多尺度特征注意力的网络流量分类方法及***,使得其在网络流量分类过程中,可以为不同的报文载荷位置自适应地组合不同阶的n-gram元素进而形成鲁棒的特征表达,以实现高准确、高效率的网络流量分类。
为实现上述目的,本发明采用的技术方案如下:
一种基于多尺度特征注意力的网络流量分类方法,包括训练阶段和分类阶段;
所述训练阶段包括如下步骤:
1)以已知应用协议类型的网络字节流序列的集合为输入,将每组字节流序列转换为固定长度、采用独热编码形式的字节流定长独热表征序列;
2)以步骤1)得到的字节流定长独热表征序列作为输入,形成离线训练数据集,采用有监督学习的方式,构建应用协议分类模型;
所述分类阶段包括如下步骤:
3)以网络流量数据为输入,获取待测网络字节流序列,并将待测字节流序列转换为与步骤1)相同的字节流定长独热表征序列;
4)根据训练阶段中步骤2)得到的应用协议分类模型,对目标流量数据的应用协议类别属性进行判别,并输出判别结果。
一种基于多尺度特征注意力的网络流量分类***,包括用于训练阶段的应用协议流量采集处理模块、应用协议分类模型构建模块,以及用于分类阶段的应用协议流量采集处理模块、应用协议分类模块;其中,应用协议流量采集处理模块负责从输入的原始网络流量数据中,提取应用协议字节流,将其处理为统一长度的字节流序列,并转换为独热向量形式;
训练阶段的应用协议分类模型构建模块,负责构建应用协议分类模型所使用的神经网络,并使用已标记的、包含有不同应用协议的字节流序列集合对神经网络中的网络参数进行调整,使应用协议分类模型满足训练终止条件,以供分类阶段使用;
分类阶段的应用协议分类模块负责根据训练阶段生成的应用协议分类模型,对应用协议流量采集模块获取的待测应用协议字节流序列的应用协议类别属性进行判别,并输出判别结果。
本发明的关键技术点在于:
1.采用独热编码与2D卷积相结合的方式构建了报文载荷的初始化特征视图。
2.设计了具有多分支结构的卷积神经网络结构,该结构可以灵活地生成可变的n-gram特征,从而形成对特定载荷位置的不同阶n-gram元素的特征表达。
3.设计了多尺度特征注意力机制,该结构能够在数据报文有效载荷的不同偏移量处,自适应地融合不同的多尺度n-gram特征,从而形成报文载荷的鲁棒表示。
利用本发明的方法可以实现对混杂网络流量的精准分类,与已公开的相关技术相比,具有如下优点:
1.设计了一种多尺度n-gram特征注意力机制,该机制可以在数据报文有效载荷的不同偏移位置自适应地融合多尺度的n-gram特征,以开展网络流量分类。多尺度n-gram指的是具有不同n值的n-gram元素集合。实践发现适用于表征报文分组有效载荷的n-gram阶数会随不同的载荷偏移位置的变化而变化。与以前的方法不同,本发明中通过在数据报文有效负载的不同偏移处融合不同的多尺度的n-gram特征,从而形成更好的数据报文载荷的有效表示。
2.本发明采用独热编码和2D卷积的方法来构造有关报文分组有效负载的初始化特征图。本发明不直接使用数值信息作为神经网络的输入,因为神经网络可能会将整数数值误认为是连续数值型,独热编码有效地从数据报文有效载荷中删除了连续的数值信息。
附图说明
图1是基于多尺度特征注意力的网络流量分类方法的训练阶段流程图。
图2是应用协议分类模型构建的神经网络结构图。
图3是分支带权融合操作的示意图。
图4是基于多尺度特征注意力的网络流量分类方法的分类阶段流程图。
图5是基于多尺度特征注意力的网络流量分类***架构图。
图6是八种应用协议在验证集上的实验结果图。
图7是八种应用协议在测试集上的实验结果图。
具体实施方式
本方法的工作流程,可分为训练阶段和分类阶段。在训练阶段,将根据已知类别的应用协议字节流序列,训练神经网络中的可学习参数,从而实现自动化的应用协议特征提取和应用协议分类。分类阶段,基于训练完成的模型参数,对网络环境中获取到的真实网络流量进行特征提取并完成应用协议分类。
训练阶段中,本方法的关键技术部分在于网络流量分类模型的构建,网络流量分类模型构建流程如图1所示。网络流量分类模型构建过程的输入是带有应用协议类型标签的应用协议字节流的前n个字节序列组成的集合。网络流量分类模型所构建的神经网络结构如图2所示,构建过程的终止条件为L。网络流量分类模型构建过程的输出为满足网络流量分类需求的特征提取模型和应用协议分类模型。
本方法的网络流量分类模型基于深度神经网络模型的训练方法来构建,其具体实施步骤如下:
1.给定已知应用协议类型的字节流序列集合该集合包含有M条应用协议字节流,其中w(m,i)代表第m个字节流中的第i个字节转换为十进制表示的整数,其取值范围在[0,255]之间;Nm代表第m个字节流的字节数。设模型所允许的序列长度为h,将字节流输入模型前,首先需要对字节流序列集合进行预处理,使之成为(M×h×256)维度的独热编码(One-hot encoding)向量表达形式。
具体描述字节流序列进行独热处理的步骤如下:首先,进行序列长度调整,对于集合D中的第m条字节流序列若该字节流序列长度Nm≥h,则保留该字节流序列的前h个字节,即若该字节流序列长度Nm<h,则在序列末尾补h-Nm个0,扩充序列长度至h。经过长度调整后,原集合D变为新的定长字节流序列集合随后,我们将集合D′中所有字节流序列中的每个字节,均转换为维度为256的独热向量w(m,i)。对于集合D′中的第m条字节流序列的第i个字节w(m,i),则其对应的独热向量w(m,i)表示为第w(m,i)位元素取值为1、除第w(m,i)位以外其余元素取值为0的向量,形如w(m,i)={0,0,...,1,...,0},其中元素1在向量wm中的坐标为w(m,i)。经过独热变换后,维度为(M×h)的集合D′转换为维度为(M×h×256)的集合D″,其中完成步骤1后,得到独热编码字节流序列集合后续网络将以D″作为输入数据,进行流量特征提取和分类。
2.在开始神经网络结构训练前,需要根据超参数设置,对神经网络中的可训练参数进行初始化。神经网络参数初始化可以使用加载现有模型参数、随机初始化、自定义初始化等方法进行,在本方法中,使用随机初始化的方法为神经网络中的可训练参数赋予初始值。
若使用后需要对本方法中神经网络的可学习参数进行微调,也可跳过此步骤,不进行参数初始化,而是直接加载原有参数,在原有参数基础上调整模型效果。
3.给定经过预处理后的独热编码字节流序列集合作为输入数据,初始特征变换操作对输入数据进行维度变换,并将单个字节w(m,i)从独热编码向量转换为指定维度空间上的连续值向量。为便于理解,后续步骤中,将使用单个字节流序列wm作为讨论对象,介绍本方法的特征提取及应用协议分类流程。
本方法中,使用2D卷积层完成当前步骤的维度变换和形式变换操作。本步骤的输入数据wm的维度为(h×256);所使用的卷积层的卷积核k的大小为(256×1)、通道数(即卷积核个数)为C0;经卷积操作后的输出数据维度为(C0×h×1),将大小为1的维度(即第3维度)压缩,得到初始特征变换的输出数据x,维度为(C0×h)。
在卷积层的转换完成后,需要使用非线性激活函数和数据归一化,以优化数据分布、加快神经网络整体训练速度、提升训练效果。本方法使用的非线性激活函数为ReLU函数(RectifiedLinearUnit)、数据归一化方式是批次归一化(batchnormalization),在网络结构中所有需要非线性激活和归一化的步骤,也可使用其他方法。
4.设给定经过初始特征变换的初始表征向量为x,本方法在多尺度分支特征变换操作中所使用的分支结构个数为b,则b个分支均以x作为输入数据,分别地进行特征变换。所有b个分支彼此独立,并行地进行特征运算。
各分支均包含有两个1D卷积层:设第i个分支的感受野大小为bi(i=1,2,..,b),则第i个分支的第一层卷积层的卷积核维度为bi,卷积核通道个数为C;第二层1D卷积层的卷积核维度为1、通道个数为C0。相应地,该分支输出的特征向量fi维度为(C0×h)。
此外,所有b个分支的第二个1D卷积层的神经网络参数是共享的;各分支在完成所有卷积操作后,均使用批归一化方法对本分支所形成的特征进行分布空间调整。
5.本方法中,网络结构中各个分支所生成的分支特征值通过带权求和的方式,整合为同一的特征表达,如图3所示。在对分支结果进行整合前,需要生成各特征中各个分支相应的权重大小。本方法使用1D卷积神经网络层进行分支权重的生成。进行权重生成的卷积神经网络层的卷积核大小为1,通道数为b。卷积层输入数据为初始特征变换向量x,输出的分支权重向量E维度为(b×h)。
为保证各特征在所有分支上的权重总和为1,本方法在使用卷积层生成权重向量后,附加Softmax层对各特征的权重向量值进行调整。设第i个特征在各个分支上的初始权重值集合为Ei={e1,e2,...,eb},则经过调整后的权重值集合为Si={s1,s2,…,sb},其中且有∑Si=1。
6.在完成多尺度分支特征变换、分支权重生成后,本方法使用带权重求和的形式,将不同尺度的各分支所生成的特征向量合并为带权特征向量。对于单条字节流序列,给定各分支生成的特征向量集合{f1,f2,...,fb}(fi维度为(C0×h)),分支权重集合{s1,s2,...,sb}(si维度为(1×h)),则该字节流序列的特征向量可表示为输出数据F(x)的维度为(C0×h),与单个分支所生成的特征向量相同。
7.在完成字节流序列特征提取后,本方法使用残差融合操作,将初始特征变换后的字节流初始表征向量与带权特征向量相结合,可降低多层计算造成的信息丢失,并能够避免反向传播过程中梯度逐层衰减等问题。使用残差融合,可以加快神经网络的训练、提升神经网络性能。设初始特征变换得到的初始表征向量为x,步骤6得到的带权特征向量为F(x),则本方法所使用的残差融合可表述为如下公式:
H(x)=Normalization(x+F(x)),
即向量x与向量F(x)求和,保持整体维度不变;求和后对数据进行批归一化,完成残差融合。
8.完成残差融合后,应用协议字节流已转换为对应的特征向量,为将特征向量值所代表的语义信息与应用协议类型相对应,本方法使用三个全连接层(fully-connected)进行从特征向量到应用协议类型推断的映射。在本方法中,第一、二层全连接层的神经元数量分别设置为256和128,根据场景实际需求也可设置为其他整数;第三层全连接层的神经元数量与本方法可分类的应用协议类型数量相当,设本方法可分类的协议数量为λ,则第三层全连接层的神经元个数为λ。第一、二层全连接层后,附加非线性激活ReLU函数。对于单条字节流序列,第三层全连接层的输出结果中,取值最大的维度代表着本次运算对该字节流序列所属的应用协议类型的推断。对于参与当前迭代的所有字节流序列的输出结果的集合,可以计算损失函数,以评估当前计算结果与实际数据的拟合程度。本方法所使用的损失函数为交叉熵函数(Cross Entropy)。
9.完成字节流应用协议分类后,判断神经网络计算结果是否满足结束条件L:(a)若计算结果满足结束条件L,则停止神经网络的训练过程,将包含神经网络参数值的序列特征提取模型和应用协议分类模型作为训练阶段的最终结果输出,以供分类阶段进行应用协议流量分类;(b)若计算结果不满足结束条件,则根据网络分类结果计算损失函数值,使用反向传播更新神经网络参数,返回步骤(3)初始特征变换,重复(3)-(8)流程。结束条件L的设置,可包括但不局限于下述条件:达到最大迭代周期、达到期望损失函数值、达到期望统计评价指标等。
分类阶段的工作流程如图4所示,该阶段以训练阶段所得到的序列特征提取模型和应用协议分类模型参数为基础、以网络流量为输入,对捕获的网络流量进行分类判别。
1.本方法的应用协议流量采集处理模块负责并捕获网络流量并对所有待分类字节流序列进行统一处理。首先,根据预先设置的最大允许序列长度h,对序列进行截断或补零。随后,将统一长度的序列集合,整体转换为独热的表达形式。
2.应用协议分类模块依据训练阶段生成的应用协议分类模型,以经过预处理的格式化数据作为输入,进行特征表达向量的提取并最终得到输入的应用协议字节流序列所代表的应用协议类别。
本方法在实际应用过程中,可根据方法在不同数据集上的分类效果、拟分类应用协议类型的变动等因素,重新启动训练阶段,对神经网络进行调整、重新训练。通过训练阶段与分类阶段的多次迭代,对本方法所使用的神经网络参数进行更新,保证本方法性能满足应用协议分类的需求。
结合上述基于多尺度特征注意力的网络流量分类方法,本发明同时公开了一种基于多尺度特征注意力的网络流量分类***。本***主要由训练阶段和分类阶段两个阶段构成,***图架构如图5所示。
1.训练阶段:首先,以属于目标应用协议类型的网络应用协议流量为输入,由(1)应用协议流量采集处理模块提取每条网络应用协议流量中报文首部的字节,形成序列;(1)应用协议流量采集处理模块将所有字节流序列截断或补零,使之长度相同,并将所有序列转换为独热编码形式,作为目标应用协议数据集。本方法设计的用于多尺度特征提取的神经网络,需要事先进行训练方可进行目标应用协议分类。由(2)应用协议分类模型构建训练模块使用目标应用协议数据集,对本方法设计的应用协议分类模型进行训练,使应用协议分类模型的性能满足分类需求。(2)应用协议分类模型构建模块的输出结果是完成构建的应用协议分类模型。
2.分类阶段:分类阶段以所属应用协议类型未知的网络流量数据为输入,由(1)应用协议流量采集处理模块对未知类型流量数据进行处理,形成报文字节流序列、统一序列长度并转化为独热编码形式,作为待测数据集。(3)应用协议分类模块以待测数据集为输入,使用(2)应用协议分类模型构建模块所生成的应用协议分类模型,对待测数据集中的各个样本所属的应用协议类型进行判别。分类阶段的输出结果为待测网络流量所对应的应用协议类型推断。
在验证实验中,本发明对SMTP、SSH、BitTorrent(TCP)、CIFS/SMB、HTTP、RDP、TLS、Backg-TCP八种不同类型的网络流量开展实例验证。实验中所使用的具体网络流量信息如表1所示。其中,对于每个应用协议类别,随机地选择了3万个样本。因此,总共有240K个(8个类别*30K)样本构成了实验数据集。此外,在实验数据集上开展了5折交叉验证,其中训练集,验证集和测试集的比例为3:1:1。
表格1:实验验证中所使用的应用协议名称及各个类别的网络流量信息,
其中G代表109,M代表106,K代表103。
应用协议名称 | 字节数 | 报文个数 | 流个数 |
SMTP | 384M | 729K | 36.7K |
SSH | 4.97G | 9.7M | 78.8K |
BitTorrent(TCP) | 8.51G | 11.4M | 136K |
CIFS/SMB | 44.3M | 346K | 57K |
HTTP | 9.42G | 10.7M | 141K |
RDP | 102.7 | 606K | 166K |
TLS | 82.7G | 97.7M | 1.53M |
Backg-TCP | 11.6G | 16.9M | 324K |
实验展示了三种超参数形成的不同分类器的分类效果,超参数包括:(1)分支卷积结构中第一个1D卷积层的过滤器个数的不同取值(用C来表示);(2)报文长度的不同取值(用h来表示);(3)分支卷积结构中卷积分支个数的不同取值(用brn来表示)。在不同超参数设置的情况下分别进行实验,并将本发明与现有的基于深度学习的网络流量分类方法进行对比。
首先,定义实验分析指标如下:
(1)类别t的真阳值,由TPt表示:该值是一组样本的个数,其中每个样本由网络流量分类器报告为属于类别t,并且确实是属于相应的类别t。
(2)类别t的真阳率,TPRt,其具体的定义如下:
(3)多类别分类准确性指标Accuracy,定义如下:
其中T代表总的分类类别数。
基于多尺度特征注意力的网络流量分类方法与***在八种应用协议下的实验结果如下图所示。
在训练阶段,本发明使用验证集来定量评估不同分类器的分类性能。如图6所示,对于不同的超参数设置,48个分类器(#00#47)在验证数据集上的Accuracy数值在97.927%–98.555%的范围内变化。值得注意的是,对于较低的h数值,分类Accuracy数值通常会下降。对于八种类型的应用协议的验证数据集,我们观察到N参数的最佳值为h=64、brn=3和C=200,对应的分类器为#27。此外,测试数据集上所有48个分类器的实验评估结果如图7所示。对于h、brn和C的所有可能取值,测试集上分类Accuracy数值在97.894%–98.534%的范围内变化。在验证数据集上表现最佳的分类器(#27),其在测试数据集上的分类Accuracy数值为98.534(±0.037)%。
表格2:现有的基于深度学习的网络流量分类方法对比实验结果
从表格2中可以明显地观察到,本发明在实验数据集上的平均分类准确率是98.534±0.037,优于现有的基于深度学习的分类方法和***(BSNN-GRU、BSNN-LSMT、DeepPacket)的分类准确率。此外,在SMTP、SSH、BitTorrent(TCP)、CIFS/SMB、HTTP、RDP、TLS、Backg-TCP八种类型的网络流量中的六种上,都展现出了更好的分类准确率。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (9)
1.一种基于多尺度特征注意力的网络流量分类方法,其特征在于,该方法包括如下步骤,
步骤1)以已知应用协议类型的网络字节流序列的集合为输入,将每组字节流序列转换为固定长度、采用独热编码形式的字节流定长独热表征序列;
步骤2)以步骤1)得到的字节流定长独热表征序列作为输入,形成离线训练数据集,采用有监督学习的方式,构建应用协议分类模型;
步骤3)以网络流量数据为输入,获取待测网络字节流序列,并将待测字节流序列转换为与步骤1)相同的字节流定长独热表征序列;
步骤4)根据训练阶段中步骤2)得到的应用协议分类模型,对目标流量数据的应用协议类别属性进行判别,并输出判别结果;
该方法包括训练阶段和分类阶段;其中步骤1)、2)为训练阶段,步骤3)、4)为分类阶段。
2.如权利要求1所述的一种基于多尺度特征注意力的网络流量分类方法,其特征在于,步骤1)中,进行字节流序列转换的具体操作方法是:
1-1)根据字节流特征提取模块的指定输入向量长度,调整字节流序列长度使之与输入向量长度相等;丢弃字节流序列中超出指定长度的字节、对不足指定长度的字节流序列在尾部补零;
1-2)在字节流中,每个字节转换为十进制表示的取值为大于等于零的整数;设字节流中每个字节可能取值的种类数为k,将所有字节转换为长度与k相等的独热向量,除代表该字节实际取值的一位为1之外,向量其余各位为0。
3.如权利要求1所述的一种基于多尺度特征注意力的网络流量分类方法,其特征在于,步骤2)构建应用协议分类模型的方法如下:
步骤2-1)以步骤1)得到的字节流定长独热表征序列为输入,使用单层2D卷积神经网络结构进行初始特征变换操作,将单通道、离散取值的定长独热表征序列转换为多通道、连续取值的字节流序列初始表征向量;
步骤2-2)以步骤2-1)得到的初始表征向量为输入,使用不少于一个具有不同卷积核的多层1D卷积神经网络分支结构,进行多尺度特征提取操作,得到字节流的多尺度特征向量;
步骤2-3)以步骤2-1)得到的初始表征向量为输入,使用单层1D卷积神经网络结构,进行分支权重生成操作,得到与各尺度特征向量相对应的权重向量;
步骤2-4)以步骤2-2)得到的多尺度特征向量和步骤2-3)得到的权重向量为输入,进行分支带权融合操作,得到字节流序列的带权特征向量;
步骤2-5)以步骤2-1)得到的初始表征向量和步骤2-4)得到的带权特征向量为输入,进行残差融合操作,将初始表征向量和带全特征向量相加,得到字节流的最终特征向量;
步骤2-6)以步骤2-5)得到的最终特征向量为输入,使用全连接神经网络,进行应用协议分类操作,得到字节流的应用协议类型;
步骤2-7)以步骤2-6)得到应用协议类型与步骤1)中的字节流序列的真实应用协议类型为输入,计算模型分类准确率、损失函数值等指标,若指标满足终止条件L,则停止模型构建流程,输出应用协议特征提取模型和应用协议分类模型;若指标不满足终止条件,则重复步骤2-1)~步骤2-6)。
4.如权利要求3所述的一种基于多尺度特征注意力的网络流量分类方法,其特征在于,步骤2-1)所述的初始特征变换操作的具体操作方法是:
使用2D卷积神经网络层,设字节流中每个字节可能取值的种类数为k,则其卷积核尺寸为(k×1),将字节流的独热表征序列转换为字节流表征向量,将每个字节的单一离散表示转换为多重语义嵌入表示,使初始表征向量具有更复杂的表达能力。
5.如权利要求3所述的一种基于多尺度特征注意力的网络流量分类方法,其特征在于,步骤2-2)所述的多尺度特征提取操作的具体操作方法是:
以初始特征表征向量为输入,使用不少于一个神经网络分支,每个神经网络分支包括两层1D卷积神经网络层:
步骤2-2-1)设分支第一层1D卷积层的卷积核尺寸为b,则该卷积层进行以连续b个字节为尺度的n-gram特征信息过滤、提取;
步骤2-2-2)第二层1D卷积层的卷积核尺寸为1,各分支共享该层参数,融合、变换上层获取的n-gram特征,生成分支特征向量;各分支得到分支特征向量,合称为多尺度特征向量;
步骤2-2-3)在各卷积层后可附加功能性操作,包括但不局限于激活函数activation、归一化normalization、随机丢弃dropout及其他功能性操作,根据网络训练和性能的实际需求进行配置。
6.如权利要求3所述的一种基于多尺度特征注意力的网络流量分类方法,其特征在于,步骤2-3)所述的分支权重生成操作的具体操作方法是:
步骤2-3-1)以步骤2-1)得到初始表征向量为输入,使用卷积核尺寸为1的1D卷积层,生成分支相对应的权重向量;
步骤2-3-2)对权重向量进行归一化,使得同一特征值上的各分支相应的权重之和为1。
7.如权利要求2所述的一种基于多尺度特征注意力的网络流量分类方法,其特征在于:
步骤2-4)所述的分支带权融合操作的具体操作方法是:
步骤2-4-1)步骤2-3)得到的多尺度特征向量中的各分支特征向量,分别与步骤2-3)得到的分支权重向量中相应的权重向量相乘,得到各分支赋权后的分支特征向量;
步骤2-4-2)将各分支赋权后的向量相加,得到综合各分支特征的带权特征向量。
8.如权利要求3所述的一种基于多尺度特征注意力的网络流量分类方法,其特征在于,步骤2-6)所述的应用协议分类操作的具体操作方法是:
步骤2-6-1)以步骤2-5)得到的最终特征向量为输入,连续使用不少于一层全连接层,逐层降低输出向量的维度大小;
步骤2-6-2)最后一层全连接层的输出向量维度大小与可分类应用协议数量一致,最后一层全连接层输出向量表示应用协议分类模型计算得到的待测字节流序列属于各应用协议类别属性的可能性。
9.一种基于多尺度特征注意力的网络流量分类***,其特征在于,包括用于训练阶段的应用协议流量采集处理模块、应用协议分类模型构建模块,以及用于分类阶段的应用协议流量采集处理模块、应用协议分类模块;其中,
应用协议流量采集处理模块负责从输入的原始网络流量数据中,提取应用协议字节流,将其处理为统一长度的字节流序列,并转换为独热向量形式;
训练阶段的应用协议分类模型构建模块负责根据应用协议类型已知的字节流序列集合,对应用协议分类模型中的网络参数进行调整,使应用协议分类模型满足训练终止条件,以供分类阶段使用;
分类阶段的应用协议分类模块负责根据训练阶段生成的应用协议检测模型,对应用协议流量采集模块获取的未知类型的应用协议字节流序列的应用协议类别属性进行判别,并输出判别结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224892.5A CN112839024B (zh) | 2020-11-05 | 2020-11-05 | 一种基于多尺度特征注意力的网络流量分类方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224892.5A CN112839024B (zh) | 2020-11-05 | 2020-11-05 | 一种基于多尺度特征注意力的网络流量分类方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112839024A true CN112839024A (zh) | 2021-05-25 |
CN112839024B CN112839024B (zh) | 2023-03-24 |
Family
ID=75923578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011224892.5A Active CN112839024B (zh) | 2020-11-05 | 2020-11-05 | 一种基于多尺度特征注意力的网络流量分类方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112839024B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596065A (zh) * | 2021-10-08 | 2021-11-02 | 成都数默科技有限公司 | 一种基于机器学习的ssh协议登录状态检测方法 |
CN113723440A (zh) * | 2021-06-17 | 2021-11-30 | 北京工业大学 | 一种云平台上加密tls应用流量分类方法及*** |
CN114039901A (zh) * | 2021-11-05 | 2022-02-11 | 中国人民解放军陆军工程大学 | 基于残差网络和循环神经网络混合模型的协议识别方法 |
CN114330469A (zh) * | 2021-08-29 | 2022-04-12 | 北京工业大学 | 一种快速、准确的加密流量分类方法及*** |
CN114358177A (zh) * | 2021-12-31 | 2022-04-15 | 北京工业大学 | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及*** |
CN114553790A (zh) * | 2022-03-12 | 2022-05-27 | 北京工业大学 | 一种基于多模态特征的小样本学习物联网流量分类方法及*** |
CN114726800A (zh) * | 2022-03-12 | 2022-07-08 | 北京工业大学 | 一种基于模型解释的规则式应用流量分类方法及*** |
CN114745175A (zh) * | 2022-04-11 | 2022-07-12 | 中国科学院信息工程研究所 | 一种基于注意力机制的网络恶意流量识别方法及*** |
CN115345889A (zh) * | 2022-10-13 | 2022-11-15 | 西南科技大学 | 一种肝脏及其肿瘤图像的分割方法 |
CN115618733A (zh) * | 2022-10-24 | 2023-01-17 | 大连理工大学 | 针对航空发动机剩余使用寿命预测的多尺度混杂注意力机制建模方法 |
CN116760727A (zh) * | 2023-05-30 | 2023-09-15 | 南京南瑞信息通信科技有限公司 | 一种异常流量识别方法、设备、***及存储介质 |
CN117274270A (zh) * | 2023-11-23 | 2023-12-22 | 吉林大学 | 基于人工智能的消化内镜实时辅助***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130269033A1 (en) * | 2010-09-03 | 2013-10-10 | Telefonica S.A. | Method and system for classifying traffic |
US20180219895A1 (en) * | 2017-01-27 | 2018-08-02 | Vectra Networks, Inc. | Method and system for learning representations of network flow traffic |
CN109871948A (zh) * | 2019-03-26 | 2019-06-11 | 中国人民解放军陆军工程大学 | 一种基于二维卷积神经网络的应用层协议识别方法 |
CN109951357A (zh) * | 2019-03-18 | 2019-06-28 | 西安电子科技大学 | 基于多层神经网络的网络应用识别方法 |
-
2020
- 2020-11-05 CN CN202011224892.5A patent/CN112839024B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130269033A1 (en) * | 2010-09-03 | 2013-10-10 | Telefonica S.A. | Method and system for classifying traffic |
US20180219895A1 (en) * | 2017-01-27 | 2018-08-02 | Vectra Networks, Inc. | Method and system for learning representations of network flow traffic |
CN109951357A (zh) * | 2019-03-18 | 2019-06-28 | 西安电子科技大学 | 基于多层神经网络的网络应用识别方法 |
CN109871948A (zh) * | 2019-03-26 | 2019-06-11 | 中国人民解放军陆军工程大学 | 一种基于二维卷积神经网络的应用层协议识别方法 |
Non-Patent Citations (3)
Title |
---|
WENBO FENG ET AL.: "Network protocol recognition based on convolutional neural network", 《CHINA COMMUNICATIONS》 * |
冯文博 等: "基于卷积神经网络的应用层协议识别方法", 《计算机应用》 * |
赵双 等: "基于机器学习的流量识别技术综述与展望", 《计算机工程与科学》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113723440A (zh) * | 2021-06-17 | 2021-11-30 | 北京工业大学 | 一种云平台上加密tls应用流量分类方法及*** |
CN113723440B (zh) * | 2021-06-17 | 2024-05-07 | 北京工业大学 | 一种云平台上加密tls应用流量分类方法及*** |
CN114330469A (zh) * | 2021-08-29 | 2022-04-12 | 北京工业大学 | 一种快速、准确的加密流量分类方法及*** |
CN114330469B (zh) * | 2021-08-29 | 2024-06-14 | 北京工业大学 | 一种快速、准确的加密流量分类方法及*** |
CN113596065B (zh) * | 2021-10-08 | 2021-12-07 | 成都数默科技有限公司 | 一种基于机器学习的ssh协议登录状态检测方法 |
CN113596065A (zh) * | 2021-10-08 | 2021-11-02 | 成都数默科技有限公司 | 一种基于机器学习的ssh协议登录状态检测方法 |
CN114039901A (zh) * | 2021-11-05 | 2022-02-11 | 中国人民解放军陆军工程大学 | 基于残差网络和循环神经网络混合模型的协议识别方法 |
CN114358177B (zh) * | 2021-12-31 | 2024-03-29 | 北京工业大学 | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及*** |
CN114358177A (zh) * | 2021-12-31 | 2022-04-15 | 北京工业大学 | 一种基于多维度特征紧凑决策边界的未知网络流量分类方法及*** |
CN114553790A (zh) * | 2022-03-12 | 2022-05-27 | 北京工业大学 | 一种基于多模态特征的小样本学习物联网流量分类方法及*** |
CN114726800A (zh) * | 2022-03-12 | 2022-07-08 | 北京工业大学 | 一种基于模型解释的规则式应用流量分类方法及*** |
CN114726800B (zh) * | 2022-03-12 | 2024-05-03 | 北京工业大学 | 一种基于模型解释的规则式应用流量分类方法及*** |
CN114745175A (zh) * | 2022-04-11 | 2022-07-12 | 中国科学院信息工程研究所 | 一种基于注意力机制的网络恶意流量识别方法及*** |
CN114745175B (zh) * | 2022-04-11 | 2022-12-23 | 中国科学院信息工程研究所 | 一种基于注意力机制的网络恶意流量识别方法及*** |
CN115345889A (zh) * | 2022-10-13 | 2022-11-15 | 西南科技大学 | 一种肝脏及其肿瘤图像的分割方法 |
CN115618733A (zh) * | 2022-10-24 | 2023-01-17 | 大连理工大学 | 针对航空发动机剩余使用寿命预测的多尺度混杂注意力机制建模方法 |
CN116760727A (zh) * | 2023-05-30 | 2023-09-15 | 南京南瑞信息通信科技有限公司 | 一种异常流量识别方法、设备、***及存储介质 |
CN117274270A (zh) * | 2023-11-23 | 2023-12-22 | 吉林大学 | 基于人工智能的消化内镜实时辅助***及方法 |
CN117274270B (zh) * | 2023-11-23 | 2024-01-26 | 吉林大学 | 基于人工智能的消化内镜实时辅助***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112839024B (zh) | 2023-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112839024B (zh) | 一种基于多尺度特征注意力的网络流量分类方法及*** | |
CN110287983B (zh) | 基于最大相关熵深度神经网络单分类器异常检测方法 | |
CN108764072B (zh) | 一种基于多尺度融合的血细胞亚型图像分类方法 | |
CN107832787B (zh) | 基于双谱自编码特征的雷达辐射源识别方法 | |
CN112446476A (zh) | 神经网络模型压缩的方法、装置、存储介质和芯片 | |
CN106599797A (zh) | 一种基于局部并行神经网络的红外人脸识别方法 | |
CN107092743B (zh) | 基于规则辅助的高炉冶炼过程数据驱动建模方法 | |
CN112995150B (zh) | 一种基于cnn-lstm融合的僵尸网络检测方法 | |
CN115037805B (zh) | 一种基于深度聚类的未知网络协议识别方法、***、装置及存储介质 | |
CN111275165A (zh) | 一种基于改进卷积神经网络的网络入侵检测方法 | |
CN113723440B (zh) | 一种云平台上加密tls应用流量分类方法及*** | |
CN116827873A (zh) | 一种基于局部-全局特征注意力的加密应用流量分类方法及*** | |
CN115277888B (zh) | 一种移动应用加密协议报文类型解析方法及*** | |
CN114186672A (zh) | 一种用于脉冲神经网络的高效高精度训练算法 | |
CN112766360A (zh) | 一种基于时序二维化和宽度学习的时间序列分类方法和*** | |
CN114330469A (zh) | 一种快速、准确的加密流量分类方法及*** | |
CN117176664A (zh) | 一种物联网用异常流量监控*** | |
CN109615027B (zh) | 一种高速铁路沿线风速特征提取智能预测方法 | |
CN114726802A (zh) | 一种基于不同数据维度的网络流量识别方法及装置 | |
CN111130942A (zh) | 一种基于消息大小分析的应用流量识别方法 | |
CN113239949A (zh) | 一种基于1d分组卷积神经网络的数据重构方法 | |
CN114530210A (zh) | 药物分子筛选方法及*** | |
CN117633627A (zh) | 一种基于证据不确定性评估的深度学习未知网络流量分类方法及*** | |
CN117439069A (zh) | 一种基于神经网络的电量预测方法 | |
CN113256507B (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 |