CN113132397B - 一种基于深度学习的网络加密流量识别方法、装置及设备 - Google Patents
一种基于深度学习的网络加密流量识别方法、装置及设备 Download PDFInfo
- Publication number
- CN113132397B CN113132397B CN202110439430.3A CN202110439430A CN113132397B CN 113132397 B CN113132397 B CN 113132397B CN 202110439430 A CN202110439430 A CN 202110439430A CN 113132397 B CN113132397 B CN 113132397B
- Authority
- CN
- China
- Prior art keywords
- data
- standardized
- message
- processing
- line
- 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
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
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/048—Activation functions
-
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
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)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于深度学习的网络加密流量识别方法、装置及设备,属于计算机技术领域,特别涉及一种基于深度学习的网络加密流量识别方法,包括:对移动流量数据进行预处理操作,得到预处理数据;对所述预处理数据进行数据归一化处理,对数据归一化处理后的数据进行卷积操作,采用线性流函数作为激活函数对得到的卷积结果计算,并对得到的计算结果进行分类,得到分类结果,本发明通过对预处理后的数据进行归一化操作,再进行卷积操作,最终进行分类识别,能够弥补现有技术中只针对传统互联网以及PC端产生的流量进行流量识别的问题,本发明能够对移动流量、以及加密的流量进行分类识别,处理速度快、分类结果精度高。
Description
技术领域
本发明属于计算机技术领域,特别涉及一种基于深度学习的网络加密流量识别方法、装置及设备。
背景技术
目前互联网上会存在海量的网络流量数据信息,准确的流量分类是网络基本任务的前提。然而在现有技术中,由于流量的丰富性和多样性,以及,除此之外,越来越多的应用已经开始应用安全协议,如HTTPS、SSH、SSL等,对网络流量进行加密,以保护用户的隐私;再就是一些基本信息,如流量或流量持续时间,由于隐私协议和法律的原因,现在不易获取,导致流量分类变得越来越具有挑战性。简单地说,如何在没有私有信息的情况下实现高质量的流量识别,对网络的安全性和服务质量有着重要的影响。
流量分类是互联网建立以来其安全领域的重大分支,而流量分类指的是将流量数据与产生该流量数据的具体应用程序或者应用程序类型联系起来,以得到优先处理、保护或者组织某些流量的效果,识别特定应用产生的流量,也称之为流量识别。本发明人经研究发现,现有技术中,在进行网络流量分类的过程中,通常是针对传统互联网以及PC端产生的流量,不能够针对移动流量进行分类识别。
发明内容
为了至少解决上述技术问题,本发明提供了一种基于深度学习的网络加密流量识别方法、装置及设备。
根据本发明第一方面,提供了一种基于深度学习的网络加密流量识别方法,包括:
对移动流量数据进行预处理操作,得到预处理数据;
对所述预处理数据进行数据归一化处理,对数据归一化处理后的数据进行卷积操作,采用线性流函数作为激活函数对得到的卷积结果计算,并对得到的计算结果进行分类,得到分类结果。
进一步的,
所述对移动流量数据进行预处理操作,得到预处理数据,包括:
从移动流量数据中获取消息的起始行和头部域作为有效数据,转换为标准化矩阵;
将标准化处理得到的标准化矩阵进行转换操作,即将字符转换成类图片格式的二维数值矩阵,得到预处理数据。
进一步的,
所述对移动流量数据进行预处理操作,得到预处理数据,包括:
从移动流量数据中获取所有流量的消息头部及消息实体,组合使用所有流量的消息头部和实体作为待标准化数据,对所述待标准化数据除去不同组成成分之间的回车换行符进行标准化数据处理;
对得到的标准化处理结果进行类图像转换,得到预处理数据。
进一步的,
所述对所述待标准化数据除去不同组成成分之间的回车换行符进行标准化数据处理,包括:
对待标准化处理数据的每一行,若行字符小于矩阵的行元素数量,则使用相应数量的字符补;若行字符数大于等于行元素数量,则丢弃多余字符;
若行数不足,则使用每行若干个NUL字符补充相应行数;若行数大于等于行数,则丢弃多余行数。
进一步的,
所述对预处理数据进行数据归一化处理,包括:
将预处理数据进行归一化处理得到归一为[0,1]的数据。
进一步的,
所述对数据归一化处理后的数据进行卷积操作,采用线性流函数作为激活函数对卷积结果计算,对得到的计算结果进行分类,包括:
输入层、卷积层、池化层、全连接层以及输出层对预处理数据进行处理操作,最终实现对移动流量数据的分类识别。
进一步的,
所述方法包括,采用卷积层提取图像边缘、像素关系特征。
第二方面,提供一种基于深度学习的网络加密流量识别装置,包括:
预处理模块,用于对移动流量数据进行预处理操作,得到预处理数据;
模型处理模块,用于对所述预处理数据进行数据归一化处理,对数据归一化处理后的数据进行卷积操作,采用线性流函数作为激活函数对得到的卷积结果计算,并对得到的计算结果进行分类,得到分类结果。
第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,
所述处理器执行所述程序时实现第一方面任一项所述方法的步骤。
第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序被执行时,能够实现第一方面任一项所述的方法。
本发明的有益效果:通过对预处理后的数据进行归一化操作,再进行卷积操作,最终进行分类识别,能够弥补现有技术中只针对传统互联网以及PC端产生的流量进行流量识别的问题,本发明能够对移动流量、以及加密的流量进行分类识别,处理速度快、分类结果精度高。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1为本发明提供的一种基于深度学习的网络加密流量识别方法流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
在本发明的第一方面,提供一种基于深度学习的网络加密流量识别方法,如图1所示,包括:
步骤201:对移动流量数据进行预处理操作,得到预处理数据;
本发明一个实施例中,可以从移动流量数据中获取消息的起始行和头部域作为有效数据,转换为标准化矩阵。进一步的,从数据的起始行和起始列开始提取数据,并保留所有的空字符和回车换行符,以此保留数据的轮廓和局部关联信息。
举例说明,设待处理数据即移动流量数据共有m行,目标矩阵大小为M×N,则定义运算C来标准化数据,表示为:
其中,lx,y为第x行的前y个字符,在公式左侧lx,y为未标准化前第x行共有前y个字符,当x大于m时,y为N;NUL(K)为k个NUL字符,DEL为不进行处理并丢弃当前行,L为行运算,用来标准化每一行数据,即:
本实施例中,从移动流量数据中获取消息的各个部分,进一步地,可以从移动流量数据中获取消息的头部域、消息实体。头部域位于消息头的第二行开始若干行,每一行包括一个头部域和一个回车换行符。头部域中可以包括一些无法嵌入起始行的消息,包括设备信息、支持的编码格式、内容过期时间等信息。各HTTP消息具体包含的头部域、顺序、域值往往不同。消息实体是HTTP消息的可选项,内容会随着不同的消息而变化。
在本发明一个实施例中,可将HTTP请求/响应消息的起始行和头部域作为有效输入,而为了利用HTTP消息的局部相关性特征,充分发挥卷积神经网络的优势,同时保留所有的换行符。
将标准化处理得到的标准化矩阵进行转换操作,即将字符转换成类图片格式的二维数值矩阵,得到预处理数据,具体可以将字符根据ASCII码表转换成数值,得到灰度图,使用图像分类,将数据分类问题转换为计算机视觉图像分类问题。进一步的,根据不同字符对分类影响程度将字符与对应编码的转换权重进行分级,数字和字母对应的权重增加以强化区分,其他字符的权重则相对降低,减少干扰,具体转换公式为:
其中,c是待转换的字符,Cc表示c使用多级权重转换算法得到的编码,r是c所归属的权重区间,相应地,r-1是该区间的前一个区间,wr是区间r对应的权重,rh和(r-1)c为区间r的第一个字符和区间r-1的最后一个字符,Ac对应的是字符c的ASCII编码。
在本发明的另一实施例中,从移动流量数据中获取消息头部及消息实体,对于加密流量而言,消息头部几乎不含能够进行应用识别的有效信息,无法提供足够分类器进行准确分类的特征内容。此种情形下,获取所有流量的消息头部及消息实体,除去不同组成成分之间的回车换行符,使用Sreq和Sres分别表示请求消息和响应消息的消息实体,为字符连接符,(H)*为头部域组,每一种数据符号都包含了每行末尾的回车换行符。
组合使用所有流量的消息头部和实体作为待标准化数据,其中,待标准化数据为:
对待标准化处理数据的每一行,若行字符小于N,则使用相应数量的NUL字符补足N位反之,若行字符数大于等于N,则将从第N+1位开始的所有字符丢弃。
相应的,对于待标准化处理数据的行数,若行数不足M,则使用每行N个Nul字符的字符行补充相应行数至M;反之,若行数大于等于M,则将从第M+1行开始的所有数据丢弃,至此,得到M×N格式的输出数据矩阵,采用类图像转换处理,得到预处理数据。该经过类图像转换处理得到的预处理数据可输入分类器使用。
本发明中,基于消息头部和消息实体一同作为特征提取的依据,有效避免了只提取HTTP头部所包含的信息进行应用识别不准确的问题,本技术方案通过利用深度学习的优势,将移动流量转换成图像信息,从轮廓等信息寻找出潜在的特征,以找到一个能够充分适应加密和非加密流量的移动流量识别方法。
需要说明的是,本发明中M可以大于等于24,并且小于等于32。N大于等于28,并且小于等于40。
本步骤可以基于编程语言Java实现,程序在数据转换后固定格式矩阵,在处理成一维数据输出到数据文件及预处理数据,使得分类模型读取数据后重塑成矩阵形式,在输出数据的同时,也会将其类别标注输出至标注文件对应行数,以保证两个文件相同位置数据与标注一致。
在本发明另一实施例中,预处理可以包括:包生成,即通过包捕获工具Wireshark将连续原始流量数据拆分并另存为PCAP文件的步骤。我们提出的方法将捕捉所有层的双向流,这是进行基于深度学习的流量分类最理想的流量形式。
流量清洗是消除流量包中干扰数据的一个步骤。这包括TCP或UDP报头和数据链路层中一些与以太网相关的数据,例如MAC地址,因为它们不用于以下过程,甚至可能损害结果。
流量优化将删除重复文件和空文件,因为这些文件只会损害我们框架的学习能力。
长度统一将把长度大于900字节的文件修剪为900字节,并在长度小于900字节的文件末尾添加0x00s,以将其补充为900字节。
IDX填充生成器将这些长度均匀的PCAP文件转换为30字节×30字节的二维格式IDX文件。IDX格式是DL字段[10]中常见的文件格式,对于我们的框架来说也是理想的。如果映射到[0,1],这些文件将被视为灰度图像。在此过程之后,生成一个充满流量图的数据集以供将来使用。
步骤202:对预处理数据进行数据归一化处理,对数据归一化处理后的数据进行卷积操作,采用线性流函数作为激活函数对卷积结果计算,对得到的计算结果进行分类。
本发明中,可以划分为输入层、卷积层、池化层、全连接层以及输出层对预处理数据进行处理操作,最终实现对移动流量数据的分类识别。
进一步的,输入层中输入的数据格式与预处理数据的输出格式相匹配,即为M×N。输入层获取到输入的数据即为预处理数据时,可以对数据进行数据归一化操作,将预处理数据归一到[0,1],以加速模型的学习速度。
通过卷积层,提取图像边缘、像素关系等特征,进一步的,可以采用两个相连的卷积层进行操作,其中,第一个卷积层中,有尺寸为第一预设尺寸的卷积核对输入数据进行卷积操作,其中,第一预设尺寸为3×3,共包含32个不同的卷积核,也就是说对应的含有32个通道,将生成的32个尺寸为M×N即28×32的特征映射,在第二个卷积层中,同样使用第一预设尺寸3×3的卷积核,含32个通道,生成32个尺寸为即28×32的特征映射。
在两层卷积操作后的激活函数都使用线性整流函数作为激活函数,其中线性整流函数为f(x)=max(0,x)
相对于机器学习传统的激活函数,线性整流函数并非全部激活,并且不需要进行指数和倒数运算,计算代价小,计算速度更快。另外,线性整流函数的导数为1,能够减轻随着网络深度增加梯度消失的问题。
在本发明一个实施例中,每个卷积层都可以连接一个池化层进行池化操作,以使某一位置相邻区域的总体统计特征来代替网络层在当前位置的输出,进而消除对特征具体位置的关注。
在本发明另一实施例中,采用一个池化层,可以在第二个卷积层连接池化层,其中池化层采用内核为第二预设尺寸的最大池化函数进行池化,其中,第二预设尺寸为2×2。最大池化函数是将某相邻矩阵区域内最大值作为该位置的池化结果。在池化层还可以采用Dropout,Dropout通过随即失活部分神经元使得网络结构更精简,不仅减少了过拟合的发生,也加快了网络的训练速度。
可以采用两个连续的全连接层,全连接层用于在卷积神经网络中,将网络在之前学习到的分布式特征表示映射到样本标记空间。
也就是说,池化层输出的数据通过压平操作映射到以为矩阵形式,再通过第一个全连接层,进行初步分类,经过初步分类得到的类别数量要远大于实际分类数量。在第一个全连接层之后设置了激活函数和第一预设值的随即失活操作,其中,第一预设值为50%。第二个全连接层则完成分类结果,输出类别数量与目标类别数量相同。最后采用输出层,采用SoftMax函数计算样本属于各类别的分类概率值,选择最大概率的类别输出,完成分类识别操作。
本发明中针对HTTP流量,HTTP流量中不仅横向之间存在相关信息,在行与行之间也存在纵向的关联性,基于此,采用二维卷积神经网络更为精准、便捷。
第二方面,一种基于深度学习的网络加密流量识别装置,包括:
预处理模块,用于对移动流量数据进行预处理操作,得到预处理数据;
本发明一个实施例中,预处理模块,可以从移动流量数据中获取消息的起始行和头部域作为有效数据,转换为标准化矩阵。进一步的,从数据的起始行和起始列开始提取数据,并保留所有的空字符和回车换行符,以此保留数据的轮廓和局部关联信息。
举例说明,设待处理数据即移动流量数据共有m行,目标矩阵大小为M×N,则定义运算C来标准化数据,表示为:
其中,lx,y为第x行的前y个字符,在公式左侧lx,y为未标准化前第x行共有前y个字符,当x大于m时,y为N;NUL(K)为k个NUL字符,DEL为不进行处理并丢弃当前行,L为行运算,用来标准化每一行数据,即:
本实施例中,从移动流量数据中获取消息的各个部分,进一步地,可以从移动流量数据中获取消息的头部域、消息实体。头部域位于消息头的第二行开始若干行,每一行包括一个头部域和一个回车换行符。头部域中可以包括一些无法嵌入起始行的消息,包括设备信息、支持的编码格式、内容过期时间等信息。各HTTP消息具体包含的头部域、顺序、域值往往不同。消息实体是HTTP消息的可选项,内容会随着不同的消息而变化。
在本发明一个实施例中,可将HTTP请求/响应消息的起始行和头部域作为有效输入,而为了利用HTTP消息的局部相关性特征,充分发挥卷积神经网络的优势,同时保留所有的换行符。
将标准化处理得到的标准化矩阵进行转换操作,即将字符转换成类图片格式的二维数值矩阵,得到预处理数据,具体可以将字符根据ASCII码表转换成数值,得到灰度图,使用图像分类,将数据分类问题转换为计算机视觉图像分类问题。进一步的,根据不同字符对分类影响程度将字符与对应编码的转换权重进行分级,数字和字母对应的权重增加以强化区分,其他字符的权重则相对降低,减少干扰,具体转换公式为:
其中,c是待转换的字符,Cc表示c使用多级权重转换算法得到的编码,r是c所归属的权重区间,相应地,r-1是该区间的前一个区间,wr是区间r对应的权重,rh和(r-1)c为区间r的第一个字符和区间r-1的最后一个字符,Ac对应的是字符c的ASCII编码。
在本发明的另一实施例中,从移动流量数据中获取消息头部及消息实体,对于加密流量而言,消息头部几乎不含能够进行应用识别的有效信息,无法提供足够分类器进行准确分类的特征内容。此种情形下,获取所有流量的消息头部及消息实体,除去不同组成成分之间的回车换行符,使用Sreq和Sres分别表示请求消息和响应消息的消息实体,为字符连接符,(H)*为头部域组,每一种数据符号都包含了每行末尾的回车换行符。
组合使用所有流量的消息头部和实体作为待标准化数据,其中,待标准化数据为:
对待标准化处理数据的每一行,若行字符小于N,则使用相应数量的NUL字符补足N位;反之,若行字符数大于等于N,则将从第N+1位开始的所有字符丢弃。
相应的,对于待标准化处理数据的行数,若行数不足M,则使用每行N个Nul字符的字符行补充相应行数至M;反之,若行数大于等于M,则将从第M+1行开始的所有数据丢弃,至此,得到M×N格式的输出数据矩阵,采用类图像转换处理,得到预处理数据。该经过类图像转换处理得到的预处理数据可输入分类器使用。
本发明中,基于消息头部和消息实体一同作为特征提取的依据,有效避免了只提取HTTP头部所包含的信息进行应用识别不准确的问题,本技术方案通过利用深度学习的优势,将移动流量转换成图像信息,从轮廓等信息寻找出潜在的特征,以找到一个能够充分适应加密和非加密流量的移动流量识别方法。
需要说明的是,本发明中M可以大于等于24,并且小于等于32。N大于等于28,并且小于等于40。
本步骤可以基于编程语言Java实现,程序在数据转换后固定格式矩阵,在处理成一维数据输出到数据文件及预处理数据,使得分类模型读取数据后重塑成矩阵形式,在输出数据的同时,也会将其类别标注输出至标注文件对应行数,以保证两个文件相同位置数据与标注一致。
模型处理模块,用于对预处理数据进行数据归一化处理,对数据归一化处理后的数据进行卷积操作,采用线性流函数作为激活函数对卷积结果计算,对得到的计算结果进行分类。
本发明中,模型处理模块,可以划分为输入层、卷积层、池化层、全连接层以及输出层对预处理数据进行处理操作,最终实现对移动流量数据的分类识别。
进一步的,输入层中输入的数据格式与预处理数据的输出格式相匹配,即为M×N。输入层获取到输入的数据即为预处理数据时,可以对数据进行数据归一化操作,将预处理数据归一到[0,1],以加速模型的学习速度。
通过卷积层,提取图像边缘、像素关系等特征,进一步的,可以采用两个相连的卷积层进行操作,其中,第一个卷积层中,有尺寸为第一预设尺寸的卷积核对输入数据进行卷积操作,其中,第一预设尺寸为3×3,共包含32个不同的卷积核,也就是说对应的含有32个通道,将生成的32个尺寸为M×N即28×32的特征映射,在第二个卷积层中,同样使用第一预设尺寸3×3的卷积核,含32个通道,生成32个尺寸为即28×32的特征映射。
在两层卷积操作后的激活函数都使用线性整流函数作为激活函数,其中线性整流函数为f(x)=max(0,x)
相对于机器学习传统的激活函数,线性整流函数并非全部激活,并且不需要进行指数和倒数运算,计算代价小,计算速度更快。另外,线性整流函数的导数为1,能够减轻随着网络深度增加梯度消失的问题。
在本发明一个实施例中,每个卷积层都可以连接一个池化层进行池化操作,以使某一位置相邻区域的总体统计特征来代替网络层在当前位置的输出,进而消除对特征具体位置的关注。
在本发明另一实施例中,采用一个池化层,可以在第二个卷积层连接池化层,其中池化层采用内核为第二预设尺寸的最大池化函数进行池化,其中,第二预设尺寸为2×2。最大池化函数是将某相邻矩阵区域内最大值作为该位置的池化结果。在池化层还可以采用Dropout,Dropout通过随即失活部分神经元使得网络结构更精简,不仅减少了过拟合的发生,也加快了网络的训练速度。
可以采用两个连续的全连接层,全连接层用于在卷积神经网络中,将网络在之前学习到的分布式特征表示映射到样本标记空间。
也就是说,池化层输出的数据通过压平操作映射到以为矩阵形式,再通过第一个全连接层,进行初步分类,经过初步分类得到的类别数量要远大于实际分类数量。在第一个全连接层之后设置了激活函数和第一预设值的随即失活操作,其中,第一预设值为50%。第二个全连接层则完成分类结果,输出类别数量与目标类别数量相同。最后采用输出层,采用SoftMax函数计算样本属于各类别的分类概率值,选择最大概率的类别输出,完成分类识别操作。
本发明中针对HTTP流量,HTTP流量中不仅横向之间存在相关信息,在行与行之间也存在纵向的关联性,基于此,采用二维卷积神经网络更为精准、便捷。
需要说明的是,在另一实施例中,本步骤可以为包括:DFR过程。
其中,DFR过程是基于三个DL模型,包括CNN、LSTM以及SAE。我们之所以在所有模型中采用L1正则化[11],是因为L1正则化能够惩罚一些权重为0,而L2做不到这一点。这有助于机器学习哪些特征与分类无关,从而获得更好的结果。
CNN主要应用于计算机视觉领域,如图像分类、目标检测等。CNN具有很强的逐像素学习图形空间特性的能力。使用CNN来寻找有助于机器从空间范围对流量进行分类的功能。基于一维CNN的DFR分类器由两个卷积层、两个Maxpooling层、两个局部响应规范化(LRN)[5]层和一个具有Softmax分类器的全连接层组成。在第一阶段,我们将把输入的数据重塑为1×900的形状,然后丢弃高度并集中处理一维数据。分类过程定义如下:
第一卷积层用32个滤波器处理输入数据,其中每个滤波器的大小为[25,1]。每个滤波器在一次卷积运算后移动一步。卷积层的结果被输入到激活函数中。我们在一维CNN中采用了ReLU[12]激活函数,结果通过最大池处理。在每个步骤中,最大池按如下方式处理[3,1]输入:
maxpooling[x1,x2,x3]=max(x1,x2,x3)
maxpooling进程的步幅是3。在第一卷积层的末尾,加入LRN层来惩罚这些异常响应或异常响应,以获得更好的泛化效果。然后输出将通过第二卷积层,该卷积层与第一卷积层相似。这两个卷积层之间的唯一区别是,第二卷积层有64个滤波器。最后,数据将通过全连接层。该层是通过在完全连接的层上应用dropout获得的。然后在基于一维CNN的DFR分类器的最后,由softmax分类器获得输出标签。
第二个DFR是在LSTM[6]的基础上开发的,LSTM[6]是一种用于处理序列表单数据的网络。LSTM是一种利用时间相关信息的递归神经网络(RNN)。假设一段业务是与时间有关逐字节和逐包构建的,来自相似类的业务在时间相关特性上必须具有一定的相似性。我们将LSTM应用到DFR中,帮助机器去学习与时间相关的特性。采用基于LSTM的DFR分类器中,输入将是一个图。
基于LSTM的DFR分类器实际上基于三层LSTM模型。对于每一层,基于LSTM的DFR分类器有256个LSTM单元。为了得到更好的推广,我们在LSTM模型的每一层都应用了dropout。在LSTM模型学习了与时间相关的特性之后,数据将通过softmax分类器。最后,可以在DFR结束时检查结果标签。值得一提的是,我们在这个DFR中也使用了Adam优化器。训练基于LSTM的DFR分类器可以使用1D-CNN的DFR分类器中定义的相同的超参数。
最后一个DFR的核心是两个SAE。一般来说,自动编码器是一种用于自动特征提取的半监督学习方法。SAE是自动编码器的变体之一,它能够逐字节地扫描数据以发现编码特性。将图形重塑为1×900的形式,因此我们可以将输入与第一个编码器完全连接。这两个SAE是分别训练的。第一个编码器有1000个神经元,它们与900个输入紧密相连并且有900个输出。训练编码器1的目的是获得一个编码器,该编码器能够产生与900个输入具有最小方差的900个输出。在编码器1经过训练后,我们将其堆叠在DFR中并应用sigmoid[15]激活函数。编码器2有1500个神经元,与编码器1的输出紧密相连。然后,我们将通过减少输入2和输出2之间的差异来训练编码器2,这与编码器1的训练相似。我们将在DFR中叠加它,同时应用一个sigmoid激活函数。最后,数据将通过softmax分类器并输出结果。需要注意的是,在这两个SAE叠加到DFR中之后,将开始微调训练过程,以获得最终的模型。
由于SAEs的两个训练过程是分离的,因此一些超参数与前两个DFRs不同。二次训练过程中的一个大的epoch会误导模型与训练数据的过度拟合。EpochFin是微调过程中的epoch,这个数不受Epoch的限制。Lambda是两个SAEs训练过程中L1正则化的Lambda参数,需要设置为比微调过程中L1正则化的Lambda参数大得多的数,即LambdaFin。原因是小的Lambda不能有效地配合两个SAEs训练过程。
用训练数据对这三个DFR进行训练后,用测试数据对其进行检验。根据TP真阳性即正确分类为特定类别的数量、FP假阳性即分类为该类别的错误分类数量、FN假阴性即本应分类为该类别但又被错误分类为其他类别的数量;TN真阴性即是正确分类为非特定类别的数量计算准确度,具体为:
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
应当理解,以上借助优选实施例对本发明的技术方案进行的详细说明是示意性的而非限制性的。本领域的普通技术人员在阅读本发明说明书的基础上可以对各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种基于深度学习的网络加密流量识别方法,其特征在于,包括:
对移动流量数据进行预处理操作,得到预处理数据;
对所述预处理数据进行数据归一化处理,对数据归一化处理后的数据进行卷积操作,采用线性流函数作为激活函数对得到的卷积结果计算,并对得到的计算结果进行分类,得到分类结果;
所述对移动流量数据进行预处理操作,得到预处理数据,包括:
从移动流量数据中获取所有流量的消息头部及消息实体,组合使用所有流量的消息头部和实体作为待标准化数据;使用Sreq和Sres分别表示请求消息和响应消息的消息实体,⊕为字符连接符,(H)*为头部域组,每一种数据符号都包含了每行末尾的回车换行符;
待标准化数据为:
对所述待标准化数据除去不同组成成分之间的回车换行符进行标准化数据处理;
对得到的标准化处理结果进行类图像转换,得到预处理数据。
2.如权利要求1所述的方法,其特征在于,
所述对移动流量数据进行预处理操作,得到预处理数据,包括:
从移动流量数据中获取消息的起始行和头部域作为有效数据,转换为标准化矩阵;
将标准化处理得到的标准化矩阵进行转换操作,即将字符转换成类图片格式的二维数值矩阵,得到预处理数据。
3.如权利要求1所述的方法,其特征在于,
所述对所述待标准化数据除去不同组成成分之间的回车换行符进行标准化数据处理,包括:
对待标准化处理数据的每一行,若行字符小于矩阵的行元素数量,则使用相应数量的字符补;若行字符数大于等于行元素数量,则丢弃多余字符;
若行数不足,则使用每行若干个NUL字符补充相应行数;若行数大于等于行数,则丢弃多余行数。
4.如权利要求1所述的方法,其特征在于,
所述对预处理数据进行数据归一化处理,包括:
将预处理数据进行归一化处理得到归一为[0,1]的数据。
5.如权利要求1所述的方法,其特征在于,
所述对数据归一化处理后的数据进行卷积操作,采用线性流函数作为激活函数对卷积结果计算,对得到的计算结果进行分类,包括:
输入层、卷积层、池化层、全连接层以及输出层对预处理数据进行处理操作,最终实现对移动流量数据的分类识别。
6.如权利要求5所述的方法,其特征在于,
所述方法包括,采用卷积层提取图像边缘、像素关系特征。
7.一种基于深度学习的网络加密流量识别装置,其特征在于,包括:
预处理模块,用于对移动流量数据进行预处理操作,得到预处理数据;
模型处理模块,用于对所述预处理数据进行数据归一化处理,对数据归一化处理后的数据进行卷积操作,采用线性流函数作为激活函数对得到的卷积结果计算,并对得到的计算结果进行分类,得到分类结果;
所述对移动流量数据进行预处理操作,得到预处理数据,包括:
从移动流量数据中获取所有流量的消息头部及消息实体,组合使用所有流量的消息头部和实体作为待标准化数据;使用Sreq和Sres分别表示请求消息和响应消息的消息实体,⊕为字符连接符,(H)*为头部域组,每一种数据符号都包含了每行末尾的回车换行符;
待标准化数据为:
对所述待标准化数据除去不同组成成分之间的回车换行符进行标准化数据处理;
对得到的标准化处理结果进行类图像转换,得到预处理数据。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,
所述处理器执行所述程序时实现权利要求1-6任一项所述方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有程序,所述程序被执行时,能够实现如权利要求1-6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110439430.3A CN113132397B (zh) | 2021-04-23 | 2021-04-23 | 一种基于深度学习的网络加密流量识别方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110439430.3A CN113132397B (zh) | 2021-04-23 | 2021-04-23 | 一种基于深度学习的网络加密流量识别方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113132397A CN113132397A (zh) | 2021-07-16 |
CN113132397B true CN113132397B (zh) | 2023-03-24 |
Family
ID=76779226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110439430.3A Active CN113132397B (zh) | 2021-04-23 | 2021-04-23 | 一种基于深度学习的网络加密流量识别方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113132397B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726561A (zh) * | 2021-08-18 | 2021-11-30 | 西安电子科技大学 | 利用联邦学习训练卷积神经网络的业务类型识别方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919903A (zh) * | 2017-01-19 | 2017-07-04 | 中国科学院软件研究所 | 一种鲁棒的基于深度学习的连续情绪跟踪方法 |
CN107944415A (zh) * | 2017-12-06 | 2018-04-20 | 董伟 | 一种基于深度学习算法的人眼注意力检测方法 |
CN111147396A (zh) * | 2019-12-26 | 2020-05-12 | 哈尔滨工程大学 | 一种基于序列特征的加密流量分类方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868760A (zh) * | 2016-03-11 | 2016-08-17 | 信阳农林学院 | 模式识别方法及系统 |
US20190122111A1 (en) * | 2017-10-24 | 2019-04-25 | Nec Laboratories America, Inc. | Adaptive Convolutional Neural Knowledge Graph Learning System Leveraging Entity Descriptions |
CN108805270B (zh) * | 2018-05-08 | 2021-02-12 | 华中科技大学 | 一种基于存储器的卷积神经网络系统 |
CN109033169B (zh) * | 2018-06-21 | 2021-08-10 | 东南大学 | 基于多级权重转换和卷积神经网络的移动流量分类方法 |
CN111860628A (zh) * | 2020-07-08 | 2020-10-30 | 上海乘安科技集团有限公司 | 一种基于深度学习的流量识别与特征提取方法 |
AU2020103613A4 (en) * | 2020-11-23 | 2021-02-04 | Agricultural Information and Rural Economic Research Institute of Sichuan Academy of Agricultural Sciences | Cnn and transfer learning based disease intelligent identification method and system |
CN112564974B (zh) * | 2020-12-08 | 2022-06-14 | 武汉大学 | 一种基于深度学习的物联网设备指纹识别方法 |
CN112511555A (zh) * | 2020-12-15 | 2021-03-16 | 中国电子科技集团公司第三十研究所 | 基于稀疏表示和卷积神经网络的私有加密协议报文分类法 |
-
2021
- 2021-04-23 CN CN202110439430.3A patent/CN113132397B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919903A (zh) * | 2017-01-19 | 2017-07-04 | 中国科学院软件研究所 | 一种鲁棒的基于深度学习的连续情绪跟踪方法 |
CN107944415A (zh) * | 2017-12-06 | 2018-04-20 | 董伟 | 一种基于深度学习算法的人眼注意力检测方法 |
CN111147396A (zh) * | 2019-12-26 | 2020-05-12 | 哈尔滨工程大学 | 一种基于序列特征的加密流量分类方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113132397A (zh) | 2021-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107423701B (zh) | 基于生成式对抗网络的人脸非监督特征学习方法及装置 | |
CN111340191B (zh) | 基于集成学习的僵尸网络恶意流量分类方法及系统 | |
CN112163594A (zh) | 一种网络加密流量识别方法及装置 | |
CN110705233B (zh) | 基于文字识别技术的笔记生成方法、装置和计算机设备 | |
CN107480144A (zh) | 具备跨语言学习能力的图像自然语言描述生成方法和装置 | |
CN109410184B (zh) | 基于稠密对抗网络半监督学习的直播色情图像检测方法 | |
CN112613502A (zh) | 文字识别方法及装置、存储介质、计算机设备 | |
CN112784929B (zh) | 一种基于双元组扩充的小样本图像分类方法及装置 | |
CN110175248B (zh) | 一种基于深度学习和哈希编码的人脸图像检索方法和装置 | |
CN112381831A (zh) | 基于图像间语义辅助的个性化图像分割方法及系统 | |
CN113132397B (zh) | 一种基于深度学习的网络加密流量识别方法、装置及设备 | |
CN116311214A (zh) | 车牌识别方法和装置 | |
CN115422518A (zh) | 基于无数据知识蒸馏的文本验证码识别方法 | |
CN111401360B (zh) | 优化车牌检测模型的方法及系统、车牌检测方法及系统 | |
CN116977725A (zh) | 一种基于改进卷积神经网络的异常行为识别方法及装置 | |
CN117373111A (zh) | 一种基于AutoHOINet的人-物交互检测方法 | |
CN111967383A (zh) | 年龄估计方法、年龄估计模型的训练方法和装置 | |
CN110619358A (zh) | 基于多组k分类的卷积特征谱的图像可判别区域联合提取方法 | |
CN112597925B (zh) | 手写字迹的识别/提取、擦除方法及擦除系统、电子设备 | |
US11823521B2 (en) | Image processing method for an identity document | |
CN113255472B (zh) | 一种基于随机嵌入稳定性的人脸质量评价方法及系统 | |
CN114422199B (zh) | 一种cms识别方法及装置 | |
CN111626409B (zh) | 一种图像质量检测的数据生成方法 | |
Zhou et al. | Group cost-sensitive boosting with multi-scale decorrelated filters for pedestrian detection | |
CN116582303A (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 |