CN110532564A - 一种基于cnn和lstm混合模型的应用层协议在线识别方法 - Google Patents
一种基于cnn和lstm混合模型的应用层协议在线识别方法 Download PDFInfo
- Publication number
- CN110532564A CN110532564A CN201910822197.XA CN201910822197A CN110532564A CN 110532564 A CN110532564 A CN 110532564A CN 201910822197 A CN201910822197 A CN 201910822197A CN 110532564 A CN110532564 A CN 110532564A
- Authority
- CN
- China
- Prior art keywords
- vector
- cnn
- data packet
- application layer
- lstm
- 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 46
- 239000013598 vector Substances 0.000 claims abstract description 66
- 230000011218 segmentation Effects 0.000 claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 13
- 238000000605 extraction Methods 0.000 claims abstract description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 42
- 239000000284 extract Substances 0.000 claims description 11
- 238000001914 filtration Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000013145 classification model Methods 0.000 claims description 6
- 230000004069 differentiation Effects 0.000 claims description 3
- 238000007781 pre-processing Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000465 moulding Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007786 learning performance Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/088—Non-supervised learning, e.g. competitive learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明提出一种基于CNN和LSTM混合模型的应用层协议在线识别方法,包括以下步骤:数据预处理、分布式语义特征提取、模型预测。本发明首先去除与协议识别无关的信息,进而通过N‑gram分词,将数据包转换为高维向量,然后利用word2vec进行无监督的词向量学习,在此基础上,通过CNN提取分布式向量的高级序列表示,利用LSTM获得长序列的上下文依赖关系,最后通过分类器实现应用层协议的在线识别。本发明以数据包为处理对象,不需要人工特征选择,能够在线识别未知协议的流量。
Description
技术领域
本发明涉及网络技术领域,尤其是一种基于CNN和LSTM混合模型的应用层协议在线识别方法,该方法首先通过数据过滤去除与协议识别无关的信息,进而通过N-gram分词进行数据建模,将数据包转换为高维向量,然后利用word2vec方法进行无监督的词向量学习,在此基础上,通过CNN提取分布式向量的高级序列表示,利用LSTM学习序列相关性,获得长序列的上下文依赖关系,最后通过分类器实现应用层协议的在线识别。
背景技术
网络协议识别旨在识别流量所属的应用协议,进而分析网络流量的组成,管理和优化网络资源,提高网络服务质量和保障网络空间安全。随着网络技术、通信技术的高速发展,新的网络应用层出不穷,网络流量的规模更是呈现几何级数的增长,这些变化都给网络管理带来了挑战,研究精确识别网络协议的方法具有重要现实意义。
互联网中近年来出现了大量未知协议,这些协议的协议规范出于版权保护或者安全防范等原因,并没有公开实现细节,给协议识别带来了很大的困难。目前未知协议识别方法包括两类:一类是针对没有进行标记的未知流量,使用聚类算法将具有同一分布规律的协议流量聚合成一类,这类方法能够对完全未知的协议进行识别,但准确率不高。另一类是针对经过标记的未知流量,先使用有监督的机器学习方法建立分类模型,进而利用分类模型对未知协议进行识别。这类方法需要额外的人工成本,但准确率会得到很大提升。流量标记的好坏会直接影响算法的学习性能,目前的标记方法主要包括人工标记方法和自动标记方法两类。人工标记方法往往依据端口等已知信息对目标程序产生的流量进行协议类型的标注。自动标记方法常常利用深度包检测(DPI,Deep Packet Inspection)工具自动地标记流量,如L7-filter等。
网络协议识别根据应用场景的不同,分为在线识别与离线识别两类。其中,离线识别往往针对网络流,根据网络流的统计特征,判断网络流所属的协议类别,其缺点在于实时性较差。而在线识别旨在实时监视网络通信,尽早地对网络流量的协议类型做出判断,识别出流量所属的协议,这样可以有利于后续处理,如限制特定协议的通信等,因此研究在线识别网络协议的方法具有重要应用价值。
在线识别往往以数据包为处理对象,根据数据包的内容特征,判断数据包所属的协议类别,在线识别的实时性强,但是准确率不高。目前最常见的在线识别技术有:
深度包检测技术,深度包检测技术通常检测数据包的前几十个字节,可以用于在线识别网络流量;
一些研究人员提出以网络流的前5~6个数据包作为子流,提取出子流的统计特征,进而利用聚类算法对子流特征向量进行聚类,实现子流的协议在线识别;
还有一些研究人员采用决策树构造识别器,并利用分治技术加速识别器的训练,通过FPGA硬件加速和多核处理器并行处理;
然而,网络中的流量交互通常长期存在,需要在其生命周期内持续监控,上述方法很难在实际应用场景中实现快速及时的协议识别,且目前的在线识别研究多集中在分析网络流或其子流的统计特征,实时性不强,准确率也相对较低。特别是对于协议规范未知的应用层协议,要实现在线识别就更加困难。
发明内容
发明目的:为了实现快速准确地协议在线识别,本发明提供一种基于CNN和LSTM混合模型的应用层协议在线识别方法。本发明以数据包为分析对象,利用同一种协议的数据包之间存在一定相似性的特点,在线区分不同协议产生的数据包。本方面综合考虑数据包的取值分布、统计特性和结构信息,利用N-gram算法构建向量空间模型,基于word2vec处理方法获得具有网络流量结构特性的词向量表示,利用CNN和LSTM混合模型自动化提取词向量的时空特征,高效实现在线协议识别。
本发明能够避免应用层协议识别领域人工提取特征的困难,高效地对数据包进行分析处理,实现在线的应用层协议识别,适用于未知应用层协议,同时本发明能够提高协议识别的准确率。
技术方案:为实现上述技术效果,本发明提出一种基于CNN和LSTM混合模型的应用层协议在线识别方法,包括步骤:
(1)数据预处理:捕获原始网络流量,对原始网络流量,首先通过数据过滤提取数据包中可用于网络协议区分的特征,然后对提取的特征进行分词处理,最后根据分词结果按照预设的映射规则将数据包映射为高维向量;
(2)通过无监督的词向量学习,从高维向量中提取包含数据包结构和语义信息特征的分布式向量;将分布式向量作为训练数据,并添加相应的表示应用层协议类型的人工标签;
(3)搭建混合分类模型,所述混合分类模型包括依次级联的CNN卷积神经网络、LSTM长短记忆网络和Softmax层;其中,CNN卷积神经网络用于提取分布式向量的高级序列表示;LSTM长短记忆网络学习高级序列相关性,获得高级序列的上下文依赖关系,至此,得到包含原始网络流量的分布式语义特征的特征向量;Softmax层对特征向量进行分类,输出应用层协议类型;
(4)用特征向量和人工标签训练混合分类模型;
(5)重新捕获新的网络流量,对新捕获的网络流量依次进行数据预处理和分布式向量提取,然后将提取出的分布式向量输入训练好的分类模型,对数据包所对应的协议类型进行分析预测。
进一步的,所述步骤(1)中数据过滤的具体步骤为:
a.对于TCP协议数据包,保留的信息包括去除IP地址的IP头、去除端口号的TCP头,以及前n字节的传输层负载;
b.对于UDP协议数据包,保留的信息包括去除IP地址的IP头、去除端口号的UDP头,以及前n字节的传输层负载。
进一步的,所述步骤(1)中采用N-gram分词方法进行分词处理。
进一步的,所述根据分词结果按照预设的映射规则将数据包映射为高维向量的具体步骤包括:
(41)首先对所有数据包的N-gram分词结果进行词频统计,并设置一个频率阈值K:
(42)保留词频最高的K个N-gram分词;
(43)建立大小为K+1的词典,词典中包括频率最高的K个N-gram分词,然后将剩余的所有低频分词归为第K+1类;在词典中建立分词与其出现频率之间的映射:将第K+1类的所有分词对应的ID号均编为0,而其他K个高频分词分别对应ID号1到K;
(44)依据词典,对每个数据包,将其N-gram分词结果按照词典进行转换,以ID号代替数据包中的N-gram分词,将每个数据包都映射为由ID号组成的高维向量。
进一步的,所述无监督的词向量学习采用的是Word2vec方法,将高维向量输入Word2vec的Skip-gram模型,Skip-gram模型根据目标分词推测上下文,将高维向量转化为128维的分布式向量。
进一步的,所述Softmax层通过分类器实现。
有益效果:与现有技术相比,本发明具有以下优势:
本发明以数据包为处理对象,不需要人工特征选择,能够在线识别未知协议的流量。本发明利用CNN卷积神经网络提取数据的空间特征,利用LSTM长短记忆网络提取数据的时间特征,在高准确率和高效率的前提下,在线判别出数据包所属的网络协议类型。
附图说明
图1为本发明的整体实现流程示意图;
图2为本发明实施例的CNN与LSTM混合模型结构。
具体实施方式
下面结合附图和具体实施方式对本发明作更进一步的说明。
本发明提出一种基于CNN和LSTM混合模型的应用层协议在线识别方法,其流程如图1所示,本实施例的基于CNN和LSTM混合模型的应用层协议在线识别方法主要包括数据预处理、分布式语义特征提取和模型预测等3个部分,具体的实施方式以下分别说明。
(1)数据预处理
数据预处理是进行应用层协议在线识别的重要步骤,其目的是将数据包中与协议识别无关的信息滤除,进而将原始数据包转化为高维向量的形式。数据预处理可以细分为三个子步骤:首先进行数据过滤,滤除与协议识别无关的信息;其次,进行分词,对数据包进行内容划分;最后,实施分词的规范化,依据分词的词频统计构造分词的词库,进而将数据包根据分词信息映射成高维向量。
数据过滤是数据预处理的第一个步骤,目的是去除无关信息,保留网络流量中具有网络协议区分能力的特征。从协议分层的角度看,应用层协议的流量特征多集中在应用层。但是,在一次网络传输过程中,如果应用层传输的内容过多,会被划分为多个数据包传输。应用层的流量特征多集中在应用层协议头的部分,然而往往只有第一个数据包中包含了应用层协议头,其他数据包传输的是只有应用层的数据内容。因此,对于协议在线识别,以数据包作为分析对象时,需要依据数据包多个协议层次的信息来进行分析和判断。
流量特征主要是基于协议字段的语法约束或者网络环境的限制。例如,IP协议地址字段中的服务类型、标识符、标志等信息对于协议识别都有一定的作用。
本发明依据传输层协议的不同对数据包进行处理:
a.对于TCP协议数据包,选取48字节数据,保留的信息包括去除IP地址的IP头、去除端口号的TCP头,以及前20字节的传输层负载。若传输层Payload的大小不足20字节,则选取传输层Payload的所有字节。
b.对于UDP协议数据包,选取36字节数据,保留的信息包括去除IP地址的IP头、去除端口号的UDP头,以及前20字节的传输层负载。若传输层Payload的大小不足20字节,则选取传输层Payload的所有字节。
在进行处理时,主要考虑到:主机的IP地址与通信协议之间没有直接联系,因此,在协议识别时将数据包中的IP地址信息去除。由于很多应用层协议现在使用动态端口技术,在数据过滤阶段滤除端口信息可以避免端口信息对判别的干扰。传输层负载所包含的就是应用层的协议信息。此外,数据包中的数据是以二进制形式存在,本发明将其转换为十进制。进制转换是为了保证分析方法具有普适性,适用于文本类协议和二进制类协议的分析。
分词是对数据包进行内容划分,通过分词处理,有利于分析数据包的内容特征。本发明实施例采用基于N-gram的分词方法。N-gram分词方法使用一个大小为N的滑动窗口从左至右滑动,进而对数据包的内容进行划分,一个长度为M的序列经过N-gram划分,会形成M-N+1个短序列。本实施例中,N的长度选择为3。
分词规范化是将N-gram分词转换为高维向量的过程。首先对所有数据包的N-gram分词进行词频统计,并设置一个频率阈值K,用于保留频率最高的K个N-gram分词。然后建立大小为K+1的词典,包括频率最高的K个N-gram分词,并且将所有的低频分词归为第K+1类。在词典中建立分词与其出现频率之间的映射。将所有第K+1类分词对应的ID号编为0,其他K个高频分词按照频率排序,ID号依次从1增长到K。每个分词被映射到相应的ID号。依据词典,对数据包的N-gram分词进行遍历,以ID号代替数据包中的N-gram分词。通过遍历,每个数据包被映射为由ID号组成的高维向量。
(2)分布式语义特征提取
分布式语义特征提取是建立协议识别模型的关键,可以细分为无监督的词向量学习和有监督的分布式表示学习两个子步骤。首先,进行无监督的词向量学习,在由数据包所对应的向量中学习数据包的结构和语义信息,将分词ID号映射为分布式向量。其次,进行有监督的分布式表示学习,利用CNN的卷积核提取分布式向量的特征,利用LSTM挖掘序列的长期依赖关系,构建在线协议识别模型。
数据预处理实现了数据包到实值向量的转换,但是在处理过程中只考虑了数据包的物理取值,并没有考虑数据包的结构和语义信息。本发明将通过无监督的词向量学习,针对数据包所对应的由分词ID号所组成的高维向量,学习数据包的结构和语义信息。
无监督的词向量学习所选择的是Word2vec方法。Word2vec利用神经网络从大量无标注数据中提取有用信息,将分词ID号转化为分布式向量。Word2vec具有预测能力,通过足够的学习,能够从一个或几个词出发,预测它们的临近词。该方法的核心思想是:分词的特征可由其临近词表示,上下文相同的分词具有相似的语义。输入Word2vec的高维向量,实际上是N-gram分词构成的序列,只是N-gram分词被相应的序号替代了。上下文相同的N-gram分词,具有语义相似性。Word2vec能够挖掘N-gram分词的这种特性。
Word2vec的Skip-gram模型根据目标分词推测上下文,适合大型数据。本发明选择Skip-gram模型,将N-gram分词ID号转化为128维的分布式向量。在协议识别时预测上下文,实际上是获得数据包的特征。
在通过Skip-gram模型完成数据包信息的学习之后,可以得到所有N-gram分词ID所对应的128维词向量表示。每一个数据包由若干的N-gram分词组成,将N-gram分词ID对应的词向量进行累加,构造训练数据集,作为下一阶段有监督的分布式表示学习的输入。
在有监督的分布式表示学习部分,本发明采用了一种CNN卷积神经网络与LSTM长短记忆网络混合模型。本发明实施例中的模型结构如图2所示,包括依次级联的CNN卷积神经网络、LSTM长短记忆网络和Softmax层。该混合模型的Input层接收128维的词向量。Softmax层利用Softmax分类器进行结果预测,数字n代表了需要识别的应用层协议的种类。
CNN卷积神经网络和LSTM长短记忆网络是常用的神经网络结构。CNN卷积神经网络能够提取数据的空间特征,而LSTM长短记忆网络能够提取数据的时间特征。为了提高协议识别的准确率,本发明将CNN卷积神经网络和LSTM长短记忆网络相结合,进行有监督的分布式表示学习。
首先进行的是空间特征学习,利用的是CNN卷积神经网络结构。该CNN包含了两个卷积层和两个池化层。第一个卷积层标记为Conv1层,设置了32个大小为3的卷积核Filters,与Input层的词向量进行卷积运算,并且选择激活函数ReLU对卷积后的结果进行激活。第一个池化层标记为Pool2层,设置了大小为3的池化窗口。池化窗口对Convl层的输出进行分割,然后采用最大值池化方法保留池化窗口内的最大值。第二个卷积层标记为Conv3层,该层的卷积核大小为7,数量为64,与Pool2层的输出进行卷积运算,然后采用激活函数ReLU进行激活。第二个池化层标记为Pool4层,该层设置了大小为6的池化窗口,采用最大值池化方法提取池化窗口内的最大值。
其次进行的是时序特征学习,利用的是LSTM长短记忆网络结构。长短记忆网络由多个LSTM记忆单元组成,通过记忆单元保留之前的历史信息,并且记忆新信息,使得模型能够处理数据的时序依赖关系。本发明实施例中的LSTM设置了20个LSTM记忆单元,保留历史信息。
(3)模型预测
模型预测的核心工作是在线协议识别,利用训练好的分类模型和训练好的词向量进行协议信息的识别。对于实时捕获的网络数据包,先进行数据预处理和词向量表示,而后输入到已训练好的分类模型中进行预测。本发明中的在线识别只需要检测数据包的前几十个字节,处理的数据量少,存储开销和计算量小,有利于网络协议的在线识别。
此外,在模型训练阶段,也包含模型预测的工作。在训练阶段,基于采集到的离线流量对CNN和LSTM混合模型进行训练,比较模型预测结果与实际协议标签的差异,进而对模型进行调整完善。为了进行离线训练,需要获得待识别协议的网络流量,构造CNN和LSTM混合模型的训练数据集。所收集的数据应该足够充分,能够表征流量特征的真实分布。离线训练需要设置一个训练停止条件,例如,模型对于训练集的预测准确率超过95%或者训练轮数达到设定的阈值,当满足停止条件时,认为分类模型已经训练完毕,可以保存分类模型。
综上所述,本发明的基于CNN和LSTM混合模型的应用层协议在线识别,首先通过数据过滤去除与协议识别无关的信息,进而通过N-gram分词将原始网络数据包转换为高维向量,然后利用word2vec方法进行无监督的词向量学习,在此基础上,通过CNN提取分布式向量的高级序列表示,利用LSTM学习序列相关性,获得序列的上下文依赖关系,最后通过分类器实现应用层协议的在线识别。本发明规避了人工提取特征的困难,高效地对数据包进行分析处理,实现在线的应用层协议识别,适用于未知应用层协议,同时本发明能够有效提高协议识别的准确率。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种基于CNN和LSTM混合模型的应用层协议在线识别方法,其特征在于,包括步骤:
(1)数据预处理:捕获原始网络流量,对原始网络流量,首先通过数据过滤提取数据包中可用于网络协议区分的特征,然后对提取的特征进行分词处理,最后根据分词结果按照预设的映射规则将数据包映射为高维向量;
(2)通过无监督的词向量学习,从高维向量中提取包含数据包结构和语义信息特征的分布式向量;将分布式向量作为训练数据,并添加相应的表示应用层协议类型的人工标签;
(3)搭建混合分类模型,所述混合分类模型包括依次级联的CNN卷积神经网络、LSTM长短记忆网络和Softmax层;其中,CNN卷积神经网络用于提取分布式向量的高级序列表示;LSTM长短记忆网络学习高级序列相关性,获得高级序列的上下文依赖关系,至此,得到包含原始网络流量的分布式语义特征的特征向量;Softmax层对特征向量进行分类,输出应用层协议类型;
(4)用特征向量和人工标签训练混合分类模型;
(5)重新捕获新的网络流量,对新捕获的网络流量依次进行数据预处理和分布式向量提取,然后将提取出的分布式向量输入训练好的分类模型,对数据包所对应的协议类型进行分析预测。
2.根据权利要求1所述的一种基于CNN和LSTM混合模型的应用层协议在线识别方法,其特征在于,所述步骤(1)中数据过滤的具体步骤为:
a.对于TCP协议数据包,保留的信息包括去除IP地址的IP头、去除端口号的TCP头,以及前n字节的传输层负载;
b.对于UDP协议数据包,保留的信息包括去除IP地址的IP头、去除端口号的UDP头,以及前n字节的传输层负载。
3.根据权利要求1所述的一种基于CNN和LSTM混合模型的应用层协议在线识别方法,其特征在于,所述步骤(1)中采用N-gram分词方法进行分词处理。
4.根据权利要求3所述的一种基于CNN和LSTM混合模型的应用层协议在线识别方法,其特征在于,所述根据分词结果按照预设的映射规则将数据包映射为高维向量的具体步骤包括:
(41)首先对所有数据包的N-gram分词结果进行词频统计,并设置一个频率阈值K;
(42)保留词频最高的K个N-gram分词;
(43)建立大小为K+1的词典,词典中包括频率最高的K个N-gram分词,然后将剩余的所有低频分词归为第K+1类;在词典中建立分词与其出现频率之间的映射:将第K+1类的所有分词对应的ID号均编为0,而其他K个高频分词分别对应ID号1到K;
(44)依据词典,对每个数据包,将其N-gram分词结果按照词典进行转换,以ID号代替数据包中的N-gram分词,将每个数据包都映射为由ID号组成的高维向量。
5.根据权利要求4所述的一种基于CNN和LSTM混合模型的应用层协议在线识别方法,其特征在于,所述无监督的词向量学习采用的是Word2vec方法,将高维向量输入Word2vec的Skip-gram模型,Skip-gram模型根据目标分词推测上下文,将高维向量转化为128维的分布式向量。
6.根据权利要求1所述的一种基于CNN和LSTM混合模型的应用层协议在线识别方法,其特征在于,所述Softmax层通过分类器实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910822197.XA CN110532564B (zh) | 2019-08-30 | 2019-08-30 | 一种基于cnn和lstm混合模型的应用层协议在线识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910822197.XA CN110532564B (zh) | 2019-08-30 | 2019-08-30 | 一种基于cnn和lstm混合模型的应用层协议在线识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532564A true CN110532564A (zh) | 2019-12-03 |
CN110532564B CN110532564B (zh) | 2023-05-12 |
Family
ID=68666079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910822197.XA Active CN110532564B (zh) | 2019-08-30 | 2019-08-30 | 一种基于cnn和lstm混合模型的应用层协议在线识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532564B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052902A (zh) * | 2020-04-16 | 2020-12-08 | 北京信息科技大学 | 滚动轴承故障诊断方法、***、计算机程序及存储介质 |
CN112134737A (zh) * | 2020-10-19 | 2020-12-25 | 北方工业大学 | 一种工业物联网逆向分析*** |
CN112702235A (zh) * | 2020-12-21 | 2021-04-23 | 中国人民解放军陆军炮兵防空兵学院 | 一种对未知协议自动化逆向分析的方法 |
WO2022011624A1 (en) * | 2020-07-16 | 2022-01-20 | Huawei Technologies Co., Ltd. | Network device and method for host identifier classification |
WO2022046221A1 (en) * | 2020-08-27 | 2022-03-03 | Microsoft Technology Licensing, Llc | Detecting network activity from sampled network metadata |
CN115037805A (zh) * | 2022-06-08 | 2022-09-09 | 中国人民解放军陆军工程大学 | 一种基于深度聚类的未知网络协议识别方法、***、装置及存储介质 |
CN115225731A (zh) * | 2022-07-29 | 2022-10-21 | 中国人民解放军陆军工程大学 | 一种基于混合神经网络的在线协议识别方法 |
CN115883263A (zh) * | 2023-03-02 | 2023-03-31 | 中国电子科技集团公司第三十研究所 | 基于多尺度载荷语义挖掘的加密应用协议类型识别方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104441A (zh) * | 2018-10-24 | 2018-12-28 | 上海交通大学 | 一种基于深度学习的加密恶意流量的检测***和方法 |
CN109871948A (zh) * | 2019-03-26 | 2019-06-11 | 中国人民解放军陆军工程大学 | 一种基于二维卷积神经网络的应用层协议识别方法 |
EP3511870A1 (fr) * | 2018-01-15 | 2019-07-17 | Idemia Identity & Security France | Procédés d'apprentissage de paramètres d'un réseau de neurones à convolution, et de classification d'une donnée d'entrée |
CN110046226A (zh) * | 2019-04-17 | 2019-07-23 | 桂林电子科技大学 | 一种基于分布词向量cnn-rnn网络的图像描述方法 |
-
2019
- 2019-08-30 CN CN201910822197.XA patent/CN110532564B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3511870A1 (fr) * | 2018-01-15 | 2019-07-17 | Idemia Identity & Security France | Procédés d'apprentissage de paramètres d'un réseau de neurones à convolution, et de classification d'une donnée d'entrée |
CN109104441A (zh) * | 2018-10-24 | 2018-12-28 | 上海交通大学 | 一种基于深度学习的加密恶意流量的检测***和方法 |
CN109871948A (zh) * | 2019-03-26 | 2019-06-11 | 中国人民解放军陆军工程大学 | 一种基于二维卷积神经网络的应用层协议识别方法 |
CN110046226A (zh) * | 2019-04-17 | 2019-07-23 | 桂林电子科技大学 | 一种基于分布词向量cnn-rnn网络的图像描述方法 |
Non-Patent Citations (1)
Title |
---|
张路煜等: "基于卷积神经网络的未知协议识别方法", 《微电子学与计算机》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112052902B (zh) * | 2020-04-16 | 2023-05-23 | 北京信息科技大学 | 滚动轴承故障诊断方法、***、计算机程序及存储介质 |
CN112052902A (zh) * | 2020-04-16 | 2020-12-08 | 北京信息科技大学 | 滚动轴承故障诊断方法、***、计算机程序及存储介质 |
WO2022011624A1 (en) * | 2020-07-16 | 2022-01-20 | Huawei Technologies Co., Ltd. | Network device and method for host identifier classification |
WO2022046221A1 (en) * | 2020-08-27 | 2022-03-03 | Microsoft Technology Licensing, Llc | Detecting network activity from sampled network metadata |
CN112134737A (zh) * | 2020-10-19 | 2020-12-25 | 北方工业大学 | 一种工业物联网逆向分析*** |
CN112702235A (zh) * | 2020-12-21 | 2021-04-23 | 中国人民解放军陆军炮兵防空兵学院 | 一种对未知协议自动化逆向分析的方法 |
CN112702235B (zh) * | 2020-12-21 | 2022-08-05 | 中国人民解放军陆军炮兵防空兵学院 | 一种对未知协议自动化逆向分析的方法 |
CN115037805A (zh) * | 2022-06-08 | 2022-09-09 | 中国人民解放军陆军工程大学 | 一种基于深度聚类的未知网络协议识别方法、***、装置及存储介质 |
CN115037805B (zh) * | 2022-06-08 | 2023-05-30 | 中国人民解放军陆军工程大学 | 一种基于深度聚类的未知网络协议识别方法、***、装置及存储介质 |
CN115225731A (zh) * | 2022-07-29 | 2022-10-21 | 中国人民解放军陆军工程大学 | 一种基于混合神经网络的在线协议识别方法 |
CN115225731B (zh) * | 2022-07-29 | 2024-03-05 | 中国人民解放军陆军工程大学 | 一种基于混合神经网络的在线协议识别方法 |
CN115883263A (zh) * | 2023-03-02 | 2023-03-31 | 中国电子科技集团公司第三十研究所 | 基于多尺度载荷语义挖掘的加密应用协议类型识别方法 |
CN115883263B (zh) * | 2023-03-02 | 2023-05-09 | 中国电子科技集团公司第三十研究所 | 基于多尺度载荷语义挖掘的加密应用协议类型识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110532564B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532564A (zh) | 一种基于cnn和lstm混合模型的应用层协议在线识别方法 | |
CN109361617B (zh) | 一种基于网络包载荷的卷积神经网络流量分类方法及*** | |
CN110311829B (zh) | 一种基于机器学习加速的网络流量分类方法 | |
CN112671757A (zh) | 一种基于自动机器学习的加密流量协议识别方法及装置 | |
CN109218223B (zh) | 一种基于主动学习的鲁棒性网络流量分类方法及*** | |
CN102891852B (zh) | 基于报文分析的协议格式自动推断方法 | |
US11270121B2 (en) | Semi supervised animated character recognition in video | |
CN108540338B (zh) | 基于深度循环神经网络的应用层通信协议识别的方法 | |
CN113452672B (zh) | 基于协议逆向分析的电力物联网终端流量异常分析方法 | |
CN112667750A (zh) | 一种报文类别的确定、识别方法及装置 | |
CN111970169B (zh) | 一种基于gru网络的协议流量识别方法 | |
CN111970400B (zh) | 骚扰电话识别方法及装置 | |
CN109660656A (zh) | 一种智能终端应用程序识别方法 | |
CN113420548A (zh) | 一种基于知识蒸馏和pu学习的实体抽取采样方法 | |
CN114511739A (zh) | 一种基于元迁移学习的任务自适应的小样本图像分类方法 | |
CN110034966A (zh) | 一种基于机器学习的数据流分类方法及*** | |
CN112115957A (zh) | 数据流识别方法及装置、计算机存储介质 | |
CN106789416A (zh) | 工控***专用协议识别方法与*** | |
CN112597298A (zh) | 融合知识图谱的深度学习文本分类方法 | |
CN111191033A (zh) | 一种基于分类效用的开集分类方法 | |
CN115187910A (zh) | 视频分类模型训练方法、装置、电子设备及存储介质 | |
CN104468276B (zh) | 基于随机抽样多分类器的网络流量识别方法 | |
CN117527391A (zh) | 基于注意力机制和一维卷积神经网络的加密流量分类方法 | |
CN114979017B (zh) | 基于工控***原始流量的深度学习协议识别方法及*** | |
CN115334179B (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 |