CN111866024A - 一种网络加密流量识别方法及装置 - Google Patents

一种网络加密流量识别方法及装置 Download PDF

Info

Publication number
CN111866024A
CN111866024A CN202010776682.0A CN202010776682A CN111866024A CN 111866024 A CN111866024 A CN 111866024A CN 202010776682 A CN202010776682 A CN 202010776682A CN 111866024 A CN111866024 A CN 111866024A
Authority
CN
China
Prior art keywords
network
dimensional
traffic
identified
flow
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
Application number
CN202010776682.0A
Other languages
English (en)
Other versions
CN111866024B (zh
Inventor
王进
呼啸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Computer Network and Information Security Management Center
Original Assignee
National Computer Network and Information Security Management Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Computer Network and Information Security Management Center filed Critical National Computer Network and Information Security Management Center
Priority to CN202010776682.0A priority Critical patent/CN111866024B/zh
Publication of CN111866024A publication Critical patent/CN111866024A/zh
Application granted granted Critical
Publication of CN111866024B publication Critical patent/CN111866024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种网络加密流量识别方法及装置,涉及网络安全技术领域,包括:获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息及时序信息,待识别网络流量为一个加密网络会话通信阶段产生的网络流量;针对前预设数量个数据包中的每一数据包,根据该数据包的报文信息和通信行为信息,构建该数据包的二维数据矩阵;将前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠,获得待识别网络流量的三维数据立方体;将待识别网络流量的三维数据立方体输入至预先训练的网络流量识别模型中,识别待识别网络流量的协议类型。应用本发明实施例提供的方案,能够提高网络加密流量识别的准确率及效率。

Description

一种网络加密流量识别方法及装置
技术领域
本发明涉及网络安全技术领域,特别是涉及一种网络加密流量识别方法及装置。
背景技术
随着5G、物联网、工业互联网等新型网络技术的快速发展和应用场景的多样化,网络终端形式更加多元化、数量呈现指数级增长。远程控制、信息窃取、拒绝服务等网络攻击一旦成功入侵网络,将对用户信息安全构成重大威胁,因此,网络终端面临的网络安全风险日益凸显。
当前绝大多数网络攻击需要通过网络通信来达到其恶意目的,如果可以准确的识别出由网络攻击行为产生的网络流量,那么我们就可以确定被攻击的目标系统和设备,从而做出有效的应对措施。近年来,加密网络协议在多个重点行业广泛应用,而网络攻击也越来越多采用加密恶意流量伪装成正常网络流量进行通信。现有的网络监测分析手段比如端口识别、深度包检测等,无法有效检测出加密网络流量;基于统计特征的方法,如机器学习,虽然不依赖数据包有效载荷的解析,但是输入参数需要人工提取,存在准确度不高,效率低下问题。
发明内容
本发明实施例的目的在于提供一种网络加密流量识别方法及装置,以提高网络加密流量识别的准确率以及效率。具体技术方案如下:
第一方面,本发明实施例提供了一种网络加密流量识别方法,所述方法包括:
获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息,其中,所述待识别网络流量为一个加密网络会话通信阶段产生的网络流量;
针对所述前预设数量个数据包中的每一数据包,根据该数据包的报文信息和通信行为信息,构建该数据包的二维数据矩阵;
将所述前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠,获得所述待识别网络流量的三维数据立方体;
将所述待识别网络流量的三维数据立方体输入至预先训练的网络流量识别模型中,识别所述待识别网络流量的协议类型,其中,所述网络流量识别模型为:以样本网络加密流量的三维数据立方体为输入、样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型,所述样本网络加密流量的三维数据立方体为:按照所述样本网络加密流量中数据包的时序信息、对包含所述样本网络加密流量中数据包的报文信息、通信行为信息的二维数据矩阵堆叠而得到的三维数据。
本发明的一个实施例中,上述网络流量识别模型包括:输入层、包括三维卷积核的卷积层、池化层、全连接层以及输出层;其中,
所述输入层,用于获得网络加密流量的三维数据立方体,并将所获得的三维数据立方体传输至所述卷积层;
所述卷积层,用于采用三维卷积核对所述网络加密流量的三维数据立方体进行三维卷积变换,得到三维特征图,并将所述三维特征图传输至所述池化层;
所述池化层,用于对所述三维特征图进行特征降维处理,并将降维处理后的三维特征图传输至所述全连接层;
所述全连接层,用于对降维处理后的三维特征图进行非线性映射,得到特征向量,并将所述特征向量传输至所述输出层,其中,所述特征向量的维数等于预设协议类型数量;
所述输出层,用于基于所述特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
本发明的一个实施例中,上述获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息,包括:
基于在预设网络节点上旁路所部署的探针,获得待识别的网络流量;
提取所述待识别的网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
本发明的一个实施例中,上述获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息,包括:
基于在预设网络节点上旁路所部署的探针,获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
本发明的一个实施例中,上述待识别网络流量内属于通信建立阶段的前预设数量个数据包的通信行为信息至少包括:通信端口号、数据包的长度(字节数)、数据包的发出时间、数据包的发出间隔时间。
第二方面,本发明实施例提供了一种网络加密流量识别装置,所述装置包括:
数据采集模块,用于获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息,其中,所述待识别网络流量为一个加密网络会话通信阶段产生的网络流量;
数据预处理模块,用于针对所述前预设数量个数据包中的每一数据包,根据该数据包的报文信息和通信行为信息,构建该数据包的二维数据矩阵;将所述前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠,获得所述待识别网络流量的三维数据立方体;
加密流量识别模块,用于将所述待识别网络流量的三维数据立方体输入至预先训练的网络流量识别模型中,识别所述待识别网络流量的协议类型,其中,所述网络流量识别模型为:以样本网络加密流量的三维数据立方体为输入、样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型,所述样本网络加密流量的三维数据立方体为:按照所述样本网络加密流量中数据包的时序信息、对包含所述样本网络加密流量中数据包的报文信息、通信行为信息的二维数据矩阵堆叠而得到的三维数据。
本发明的一个实施例中,上述网络流量识别模型包括:输入层、包括三维卷积核的卷积层、池化层、全连接层以及输出层;其中,
所述输入层用于获得网络加密流量的三维数据立方体,并将所获得的三维数据立方体传输至所述卷积层;
所述卷积层用于采用所述三维卷积核对所述网络加密流量的三维数据立方体进行三维卷积变换,得到三维特征图,并将所述三维特征图传输至所述池化层;
所述池化层,用于对所述三维特征图进行特征降维处理,并将降维处理后的三维特征图传输至所述全连接层;
所述全连接层,用于对降维处理后的三维特征图进行非线性映射,得到特征向量,并将所述特征向量传输至所述输出层,其中,所述特征向量的维数等于预设协议类型数量;
所述输出层,用于基于所述特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
本发明的一个实施例中,上述数据采集模块,包括:
网络流量获得子模块,用于基于在预设网络节点上旁路所部署的探针,获得待识别的网络流量;
信息提取子模块,用于提取所述待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
本发明的一个实施例中,上述数据采集模块,具体用于基于在预设网络节点上旁路所部署的探针,获得待识别的网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
本发明的一个实施例中,所述待识别网络流量内属于通信建立阶段的前预设数量个数据包的通信行为信息至少包括:通信端口号、数据包的长度、数据包的发出时间、数据包的发出间隔时间。
第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法步骤。
由以上可见,应用本发明实施例提供的方案进行网络加密流量识别时,由于是由电子设备对网络加密流量的协议类型进行识别。相较于现有技术,不需要工作人员提取网络加密流量的特征,大大提高了网络加密流量识别的效率。
其次,由于是将所获得的网络加密流量的三维数据立方体输入至预先训练的网络流量识别模型中,上述三维数据立方体是将网络加密流量的各个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠而获得的,且上述数据包的二维矩阵是根据数据包的报文信息和通信行为信息构建的,因此,上述三维数据立方体能够同时体现数据包的报文信息、通信行为信息以及时序信息,这样上述三维数据立方体能够更加适应网络加密流量的结构形式。从而基于上述网络加密流量的三维数据立方体能够更加准确地识别网络加密流量的类型。并且上述网络流量识别模型是基于大量的样本网络加密流量的三维数据立方体进行训练得到的,这样网络流量识别模型能够从上述大量的样本网络加密流量的三维数据立方体中学习到样本网络加密流量的协议特征。因此,将上述网络加密流量的三维数据立方体输入至预先训练的网络流量识别模型中,能够获得较为准确的网络加密流量的识别结果。
最后,由于本发明实施例提供的方案是对待识别网络流量的协议类型进行识别,当黑客利用网络加密流量发起网络攻击时,上述待识别网络流量可能会被修改为包含有恶意攻击代码的网络加密流量。因此,采用本发明实施例提供的方案能够识别包含有恶意攻击代码的网络加密流量的协议类型。另外,异常/恶意网络加密流量通常是基于异常协议进行数据传输的,当识别到协议类型为异常协议类型时,可以认为所识别的网络流量为异常/恶意网络加密流量,因此,采用本发明实施例提供的方案能够识别异常/恶意网络加密流量。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络加密流量识别方法的流程示意图;
图2为本发明实施例提供的一种训练集的获得及预处理方法的流程示意图;
图3a为本发明实施例提供的第一种网络加密流量识别模型的结构示意图;
图3b为本发明实施例提供的第二种网络加密流量识别模型的结构示意图;
图3c为本发明实施例提供的第三种网络加密流量识别模型的结构示意图;
图4为本发明实施例提供的一种网络加密流量识别装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,图1为本发明实施例提供的一种网络加密流量识别方法的流程示意图。
下面先对本发明实施例的执行主体进行介绍。
本发明实施例的执行主体可以是电子设备,具体的,上述电子设备可以是服务器、笔记本电脑等。
上述方法包括S101-S104。
S101:获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
上述待识别网络流量为:一个加密网络会话通信阶段产生的网络流量。也就是说,本发明实施例中以会话为单位对网络加密流量进行切分,得到待识别网络流量。
具体的,一个加密网络会话通信阶段可以分为两个阶段:第一阶段是建立连接的明文通信阶段,上一阶段又可称为通信建立阶段,包括握手、认证和密钥交换,在第一阶段中会产生会话密钥;第二阶段采用第一阶段产生的密钥加密传输数据。
因此,本发明实施例中网络加密流量是指加密网络会话通信阶段中,第一阶段产生的未经过加密的网络流量以及第二阶段产生的加密传输网络流量。
上述预设数量可以由工作人员根据经验设定,例如:上述预设数量可以为6。当在第一阶段中所产生的网络加密流量的数据包的数量小于预设数量时,可以新增若干个数值为0的数据包,直至补齐后数据包的数量等于预设数量。
上述数据包的报文信息可以理解为反映数据包中的内容的信息,也就是,反映数据包在通信过程中静态特征的信息。例如,上述报文信息可以包括数据包的字段值、数据包的包头信息等。
上述数据包的通信行为信息可以理解为与通信过程相关的数据包的属性信息,也就是,反映数据包在通信过程中动态特征的信息。例如,上述数据包的通信行为信息可以包括通信端口号、数据包的长度、数据包的发出时间、数据包的发出间隔时间等。
具体的,上述通信端口号可以直接从数据包中记录的通信端口号获得,上述数据包的长度可以从存储上述数据包占用的字节数确定,上述数据包的发出时间可以根据数据包的时间戳确定,上述数据包的发出间隔时间为:当前数据包发出时间与上一个数据包发出时间之间的间隔时间,上述数据包的发出间隔时间可以根据上述两种数据包的时间戳确定。
上述数据包的时序信息可以理解为数据包在网络加密流量内各个数据包中的顺序号。上述数据包的时序信息可以根据数据包的时间戳确定。
由于在一个会话内网络加密流量的协议类型是确定的,在不同会话内网络加密流量的协议类型可能是不同的。又由于网络加密流量内数据包的报文信息、通信行为信息以及时序信息能够充分反映网络加密流量的协议类型。因此,需要获得待识别网络流量内数据包的报文信息、通信行为信息以及时序信息,从而对待识别网络流量进行识别。
具体的,可以采集预设时间段内网络加密流量,并以会话为单位对所采集的网络加密流量进行划分,获得待识别网络流量,并对待识别网络流量内数据包进行解析,从而获得待识别网络流量内数据包的报文信息、通信行为信息以及时序信息。
更为具体的,在采集预设时间段内网络加密流量时,可以是在预设网络节点上旁路采集网络加密流量,并以会话为单位对所采集的网络加密流量进行划分。
还可以是预设网络节点上旁路所部署的探针采集网络流量后,以会话为单位对所采集的网络加密流量进行划分,并对各个会话对应的网络加密流量内数据包进行解析,从而获得各个会话对应的网络加密流量内数据包的报文信息、并监测数据包的通信行为信息以及时序信息,将所采集以及监测的上述三种信息存储至数据库中。本实施例的执行主体从数据库中获得待识别网络流量内数据包的报文信息、通信行为信息以及时序信息。
S102:针对前预设数量个数据包中的每一数据包,根据该数据包的报文信息和通信行为信息,构建该数据包的二维数据矩阵。
其中,上述前预设数量个数据包中每一数据包的报文信息以及通信行为信息,是通过对前预设数量个数据包进行逐包分析得到的。
具体的,在构建上述二维数据矩阵时,可以将数据包的报文信息作为二维数据矩阵的第一预设数量列中的信息,将数据包的通信行为信息作为二维数据矩阵的第二预设数量列中的信息,从而能够获得二维数据矩阵。
更为具体的,可以截取每个数据包长度为m*k的字节,其中,k<m,对于字节长度不等于上述长度的数据包可以进行补零或者截断,使得上述数据包的字节长度等于上述长度。然后通过流量编码构造上述二维数据矩阵,上述二维数据矩阵的前k列中(m*k*1)个数据对应数据包的报文信息,上述二维数据矩阵的第k+1列至k+j列中(m*j*1)个数据对应数据包的长度信息,上述二维数据矩阵的第k+j+1列至第m列中(m*(m-k-j)*1)个数据对应上一个数据包与本数据包的时间间隔时间信息。
上述流量编码方式为:对所截取的数据包中每一字节值进行编码。
例如:可以截取每个数据包长度为1200的字节,通过流量编码构造上述二维数据矩阵,上述二维数据矩阵的前30列中(30*41*1)个数据对应数据包的报文信息,上述二维数据矩阵的第31~35列中(5*41*1)个数据对应数据包的长度信息,上述二维数据矩阵的第36~40列中(5*41*1)个数据对应上一个数据包与本数据包的时间间隔时间信息。
在构建二维数据矩阵后,可以将二维数据矩阵中的数据进行归一化等数据标准化处理。例如:可以将二维数据矩阵中的数据归一化至[0,1]区间。
S103:将前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠,获得待识别网络流量的三维数据立方体。
具体的,可以根据各个数据包的时序信息确定各个数据包的时序先后顺序,根据所确定的各个数据包的时序先后顺序将各个数据包的二维数据矩阵进行堆叠,从而获得待识别网络流量的三维数据立方体。
例如:假设上述三维数据立方体为41*41*6的三维数据立方体。则待识别网络流量的各个数据包的二维数据矩阵大小为41*41,数据包的数量为6,按照6个数据包的时序信息对每个数据包的二维数据矩阵进行堆叠,从而获得上述三维数据立方体为41*41*6的三维数据立方体。
由于是将网络流量内属于通信建立阶段的前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠获得的网络流量的三维数据立方体,且上述数据包的二维矩阵是根据数据包的报文信息和通信行为信息构建的,因此,上述三维数据立方体能够同时体现数据包的报文信息、通信行为信息以及时序信息。
另外,结合前述描述可以看出,一个三维数据立方体对应一个网络会话实例。
由于上述S102是构建数据包的二维数据矩阵,S103是获得三维数据立方体,也就是上述S102、S103是用于对所获得的待识别网络流量内属于通信建立阶段的预设数量个数据包进行预处理。
S104:将待识别网络流量的三维数据立方体输入至预先训练的网络流量识别模型中,识别待识别网络流量的协议类型。
上述网络流量识别模型为:以样本网络加密流量的三维数据立方体为输入、样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型。
上述深度学习模型可以包括:CNN(Convolutional neural networks,卷积神经网络)、RNN(Recurrent neural networks,循环神经网络)、LSTM(Long/short term memory,长短期记忆网络)等。
上述样本网络加密流量的三维数据立方体为:按照样本网络加密流量中数据包的时序信息、对包含样本网络加密流量中数据包的报文信息、通信行为信息的二维数据矩阵堆叠而得到的三维数据。
具体的,在对上述预设的深度学习网络模型进行训练时,可以将上述样本网络加密流量的三维数据立方体输入至预设的深度学习模型中。上述预设的深度学习模型获得上述三维数据立方体,也就是获得了样本网络加密流量的报文信息、通信行为信息以及时序信息。深度学习模型对上述三种信息进行学习,提取协议特征,预测样本网络加密流量的协议类型。并将所预测的结果与事先标注的样本网络加密流量的协议类型进行比对,基于比对结果进行负反馈,调整深度学习模型的模型参数。按照上述方法不断调整深度学习模型的模型参数时,深度学习模型能够学习不同预设的协议类型的网络流量所具备的报文特征、通信行为特征以及时序特征的规律。具体的,可以采用梯度下降等方法对上述模型的参数进行调整优化。直至上述模型参数满足预设的收敛性条件,可以认为模型训练完成,也就是深度学习模型学习到了不同预设的协议类型的网络流量所具备的报文特征、通信行为特征以及时序特征的规律,从而获得网络流量识别模型。
由以上可见,应用本实施例提供的方案进行网络加密流量识别时,由于是由电子设备对网络加密流量的协议类型进行识别。相较于现有技术,不需要工作人员提取网络加密流量的特征,大大提高了网络加密流量识别的效率。
其次,由于是将所获得的网络加密流量的三维数据立方体输入至预先训练的网络流量识别模型中,上述三维数据立方体是将网络加密流量的各个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠而获得的,且上述数据包的二维矩阵是根据数据包的报文信息和通信行为信息构建的,因此,上述三维数据立方体能够同时体现数据包的报文信息、通信行为信息以及时序信息,也就是上述三维数据立方体能够更加适应网络加密流量的结构形式。从而基于上述网络加密流量的三维数据立方体能够更加准确地识别网络加密流量的类型。并且上述网络流量识别模型是基于大量的样本网络加密流量的三维数据立方体进行训练的,且网络流量识别模型能够从上述大量的样本网络加密流量的三维数据立方体中学习到识别样本网络加密流量的协议特征。因此,将上述网络加密流量的三维数据立方体输入至预先训练的网络流量识别模型中,能够获得较为准确的网络加密流量的识别结果。
最后,由于本实施例是对待识别网络流量的协议类型进行识别,当黑客利用网络加密流量发起网络攻击时,上述待识别网络流量可能会被修改为包含有恶意攻击代码的网络加密流量。因此,采用本实施例提供的方案能够识别包含有恶意攻击代码的网络加密流量的协议类型。另外,异常/恶意网络加密流量通常是基于异常协议进行数据传输的,当识别到协议类型为异常协议类型时,可以认为所识别的网络流量为异常/恶意网络加密流量,因此,采用本实施例提供的方案能够识别异常/恶意网络加密流量。
本发明的一个实施例中,在上述S101获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息之前,还可以获得各个会话对应的网络加密流量,对所获得的网络加密流量内数据包的报文信息进行解析,判断是否记录网络加密流量的协议类型,当未记录网络加密流量的协议类型时,采用本发明实施例提供的方案对所获得的网络加密流量的协议类型进行识别。
由于上述网络流量识别模型是以样本网络加密流量的协议类型为训练基准进行训练得到的,因此,需要获得样本网络加密流量的协议类型。本发明的一个实施例中,在获得上述样本网络加密流量的协议类型时,可以在预设网络节点上旁路采集网络加密流量,并以会话为单位对所采集的网络加密流量进行切分,并在所切分后的各个网络加密流量中获得携带有协议类型的网络加密流量。然后从所获得的网络加密流量中确定样本网络加密流量,并将样本网络加密流量中携带的协议类型作为样本网络加密流量的协议类型。
一种情况下,可以将上述所获得的网络加密流量均作为样本网络加密流量,上述样本网络加密流量的协议类型为所获得的网络加密流量携带的协议类型。
另一种情况下,还可以将上述所获得的网络加密流量随机分成两部分,一部分作为样本网络加密流量,也可以称为训练集,上述样本网络加密流量的协议类型为所获得的网络加密流量携带的协议类型;另一部分作为用于对网络流量识别模型进行测试的测试网络加密流量,也可以称为测试集,用于测试上述网络流量识别模型的识别准确性。
具体的,在采用上述样本网络加密流量对上述网络流量识别模型进行训练时,可以对上述样本网络加密流量进行预处理。本发明的一个实施例中,参见图2,图2为本发明实施例提供的一种样本网络加密流量的获得及预处理方法的流程示意图。
第一步,数据采集探针捕获网络加密流量。
具体的,上述数据采集探针可以采集在加密网络会话通信阶段产生的网络流量内属于通信建立阶段的前预设数量个连续数据包。例如:上述预设数量可以为6。当在第一阶段中所产生的网络加密流量的数据包的数量小于预设数量时,可以新增若干个数值为0的数据包,直至补齐后数据包的数量等于预设数量。
第二步,数据采集探针以会话为单位对上述网络加密流量进行划分,获得各个会话对应的网络加密流量内数据包的报文信息。并监测各个会话对应的网络加密流量内数据包的通信行为信息以及时序信息。
第三步,数据采集探针将所获得的上述数据包的报文信息以pcap文件形式存储至数据库中,并将所获得的上述数据包的通信行为信息以及时序信息以日志形式存储至数据库中。
第四步,电子设备从数据库中存储的网络加密流量中获得携带有协议类型的网络加密流量,并将所获得的网络加密流量作为样本网络加密流量。
具体的,可以将所获得的网络加密流量均作为样本网络加密流量。还可以将所获得的网络加密流量中一部分网络加密流量作为样本网络加密流量。
在获得样本网络加密流量后,可以对样本网络加密流量内数据包的报文信息、通信行为信息以及时序信息进行归一化等预处理操作。例如:可以将上述报文信息、通信行为信息以及时序信息归一化至预设区间内,上述预设区间可以为[0,1]区间。
第五步,电子设备针对上述样本网络加密流量内前预设数量个数据包中的每一数据包,根据该数据包的报文信息和通信行为信息,构建该数据包的二维数据矩阵;将前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠,获得样本网络加密流量的三维数据立方体。
在对上述样本网络加密流量的信息进行预处理后,获得样本网络加密流量的三维数据立方体,将所获得的上述样本网络加密流量的三维数据立方体对预设的深度学习模型进行训练,从而获得网络流量识别模型。
参见图3a,图3a为本发明实施例提供的第一种网络加密流量识别模型的结构示意图。在图3a中上述网络流量识别模型可以包括:输入层、包括三维卷积核的卷积层、池化层、全连接层以及输出层;其中,
上述输入层用于获得网络加密流量的三维数据立方体,并将所获得的三维数据立方体传输至卷积层,上述三维数据立方体是由网络加密流量内属于通信建立阶段的前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠获得的,上述数据包的二维数据矩阵是基于前预设数量个数据包中每一数据包的报文信息和通信行为信息构建的,上述网络加密流量内属于通信建立阶段的前预设数量个数据包又可以称为首包。因此,上述三维数据立方体是基于首包通信报文信息、首包通信行为信息所构建的二维数据矩阵按照首包中各个数据包的时序信息堆叠获得的。
上述卷积层用于采用三维卷积核对网络加密流量的三维数据立方体进行三维卷积变换,得到三维特征图,并将上述三维特征图传输至池化层。
具体的,上述三维卷积核可以理解为:对三维数据进行卷积变换的卷积核。
具体的,上述卷积层可以通过局部感知和权值共享方式,通过三维卷积核对网络加密流量的三维数据立方体进行三维卷积变换,得到三维特征图。
上述局部感知为:使用上述网络加密流量的三维数据立方体中报文信息、通信行为信息以及时序信息的局部信息进行三维卷积变换。
上述权值共享为:采用相同的权值对网络加密流量的三维数据立方体进行卷积变换。
上述池化层,用于对上述三维特征图进行特征降维处理,并将降维处理后的三维特征图传输至全连接层。
上述全连接层,用于对降维处理后的三维特征图进行非线性映射,得到特征向量,并将上述特征向量传输至输出层。
上述特征向量的维数等于预设协议类型数量。上述特征向量的维数为特征向量的维度的数量,上述预设协议数量为预设的网络加密流量的协议类型的数量。例如:当上述预设协议类型数量为5时,上述特征向量的维数为5。
上述输出层,用于基于特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
上述预设的分类算法可以为Softmax算法。
具体的,上述输出层可以对特征向量采用预设的分类算法,并归一化得到网络加密流量的协议类型为各个预设协议类型的概率。
具体的,网络加密流量的协议类型的识别结果,一种情况下可以包括网络加密流量的协议类型为各个预设协议类型的概率,另一种情况下可以包括网络加密流量的协议类型为各个预设协议类型的概率中预设数量个最高的概率、以及预设数量个最高的概率对应的协议类型,再一种情况下可以包括网络加密流量的协议类型为各个预设协议类型的概率中最高的概率、以及该最高的概率对应的预设协议类型。
本发明的一个实施例中,上述网络流量识别模型可以采用多个卷积层和多个池化层交替连接的结构。基于上述结构,能够交替传递所得到的三维特征图。基于此,参见3b,图3b为本发明实施例提供的第二种网络加密流量识别模型的结构示意图。在图3b中上述网络流量识别模型可以包括:输出层、两个包括三维卷积核的卷积层、两个池化层,全连接层以及输出层。
其中,上述输出层,用于获得网络加密流量的三维数据立方体,并将所获得的三维数据立方体传输至第一个卷积层。上述三维数据立方体是由网络加密流量内属于通信建立阶段的前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠获得的,上述数据包的二维数据矩阵是基于前预设数量个数据包中每一数据包的报文信息和通信行为信息构建的,上述网络加密流量内属于通信建立阶段的前预设数量个数据包又可以称为首包。因此,上述三维数据立方体是基于首包通信报文信息、首包通信行为信息所构建的二维数据矩阵按照首包中各个数据包的时序信息堆叠获得的。
上述第一个卷积层,用于采用三维卷积核对网络加密流量的三维数据立方体进行三维卷积变换,得到第一特征图,并将上述第一特征图传输至第一个池化层。
上述第一个池化层,用于对上述第一特征图进行特征降维处理,并将降维处理后的第一特征图传输至第二个卷积层。
上述第二个卷积层,用于采集三维卷积核对上述降维处理后的第一特征图进行三维卷积变化,得到三维特征图,并将上述三维特征图传输至第二个池化层。
上述第二个池化层,用于对上述三维特征图进行特征降维处理,并将降维处理后的三维特征图传输至全连接层。
上述全连接层,用于对降维处理后的三维特征图进行非线性映射,得到特征向量,并将上述特征向量传输至输出层。上述特征向量的维数等于预设协议类型数量。
上述输出层,用于基于特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
参见图3c,图3c为本发明实施例提供的第三种网络加密流量识别模型的结构示意图,上述网络流量识别模型可以包括输入层、包括三维卷积核的卷积层、池化层以及输出层;其中,
上述输入层用于获得网络加密流量的三维数据立方体,并将所获得的三维数据立方体传输至卷积层。上述三维数据立方体是由网络加密流量内属于通信建立阶段的前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠获得的,上述数据包的二维数据矩阵是基于前预设数量个数据包中每一数据包的报文信息和通信行为信息构建的,上述网络加密流量内属于通信建立阶段的前预设数量个数据包又可以称为首包。因此,上述三维数据立方体是基于首包通信报文信息、首包通信行为信息所构建的二维数据矩阵按照首包中各个数据包的时序信息堆叠获得的。
上述卷积层,用于采用三维卷积核对网络加密流量的三维数据立方体,通过三维卷积核进行三维卷积变换,得到三维特征图,并将上述三维特征图传输至池化层。
上述池化层,用于对上述三维特征图进行特征降维处理,得到特征向量,并将特征向量传输至输出层。
其中,上述特征向量的维数等于预设协议类型数量。
上述输出层,用于基于上述特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
本发明的一个实施例中,在识别到待识别网络流量的协议类型后,还可以根据预设的黑白灰名单,确定上述待识别网络流量是否为可信网络加密流量,上述黑白灰名单中包括预设的可信协议类型、预设的不可信协议类型以及未知协议类型。
具体的,在识别到待识别网络流量的协议类型与上述预设的黑白灰名单中的可信协议类型相匹配时,则可以认为上述待识别网络流量为可信或安全网络加密流量。
在识别到待识别网络流量的协议类型与上述预设的黑白灰名单中的不可信协议类型相匹配时,则可以认为上述待识别网络流量为异常或攻击网络加密流量。
在识别到待识别网络流量的协议类型与上述预设的黑白灰名单中的未知协议类型相匹配时,则可以认为上述待识别网络流量为未知网络加密流量。
在未识别到待识别网络流量的协议类型与上述预设的黑白灰名单中的各个协议类型相匹配时,则可以认为上述待识别网络流量的协议类型为未知协议类型,并将上述待识别网络流量的协议类型记录至上述黑白灰名单的未知协议类型中。
本发明的一个实施例中,还可以按照以下方式实现上述S101中获得上述待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
基于在预设网络节点上旁路所部署的探针,获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
上述待识别网络流量为一个加密网络会话通信阶段产生的通信网络流量。
上述预设网络节点可以由工作人员根据经验设定。例如:上述预设网络节点可以为较为重要的网络节点。
由于上述探针旁路部署在预设网络节点上的,因此,能够保证正常的网络加密流量不被影响,且能够全方位采集网络加密流量。
本发明的一个实施例中,当待识别网络流量内数据包的数量未达到预设数量,可以新增若干个数值为0的数据包直至使得上述待识别网络流量的数据包的数量为预设数量。
上述预设数量可以由工作人员根据经验设定。例如:上述预设数量可以为10、20等。
上述探针能够以分光或分流方式实时采集网络加密流量,以会话为单位对所采集的网络加密流量进行切分,可以以pcap文件形式存储至数据库中,每个pcap文件中存储各个会话对应的网络加密流量的数据包集合。由于数据包的报文信息为数据包中的内容信息,也就是每个pcap文件存储着各个会话对应的网络加密流量的数据包的报文信息集合。
同时,探针监测统计每一会话对应的网络加密流量内数据包的通信行为信息以及时序信息,并以日志方式存储至数据库。
由于数据库中存储着多个会话分别对应的网络加密流量的数据包的报文信息、通信行为信息以及时序信息,本实施例的执行主体可以从数据库中获得各个会话分别对应的网络加密流量的数据包的报文信息、通信行为信息以及时序信息。
这样,由于是在预设网络节点上旁路所部署的探针将所采集的各个会话分别对应的网络加密流量内数据包的报文信息、通信行为信息以及时序信息存储至数据库中,又由于探针能够全方位采集信息,这样,本实施例的执行主体可以从数据库中快速获得探针所采集的全方位的各个会话分别对应的网络加密流量内数据包的报文信息、通信行为信息以及时序信息。
本发明的一个实施例中,可以按照以下方式实现上述S101中获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
基于在预设网络节点上旁路所部署的探针,获得待识别网络流量;提取所获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
上述预设网络节点可以由工作人员根据经验设定。
由于上述探针旁路部署在预设网络节点上的,因此,能够保证正常的网络加密流量不被影响,且能够全方位采集网络加密流量。
上述探针能够以分光或分流方式实时采集网络加密流量,以会话为单位对所采集的网络加密流量进行切分,可以以pcap文件形式存储至数据库中,每个pcap文件对应各个会话对应的网络加密流量的数据包集合。与此同时,探针监测统计每个会话的通讯行为、数据包时序信息,以日志方式存储至数据库。
本实施例的执行主体可以从数据库中获得网络加密流量。
具体的,在提取数据包的报文信息、通信行为信息以及时序信息时,可以读取会话对应的pcap文件,获得pcap文件中前预设数量个数据包,并提取所获得的数据包内的有效载荷,从而获得数据包的报文信息。并读取会话对应的日志文件,从而获得数据包的通信行为信息以及时序信息。
这样,由于是在预设网络节点上旁路所部署的探针将所采集的各个会话对应的网络加密流量存储至数据库中,又由于探针能够全方位采集网络加密流量,这样,本实施例的执行主体可以从数据库中快速获得探针所采集的全方位的各个会话对应的网络加密流量,并基于所获得的网络加密流量提取网络加密流量的信息。
与上述网络加密流量识别方法相对应,本发明实施例还提供了一种网络加密流量识别装置。
参见图4,图4为本发明实施例提供的一种网络加密流量识别装置的结构示意图,上述装置包括401-404。
数据采集模块401,用于获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息,其中,所述待识别网络流量为一个加密网络会话通信阶段产生的网络流量;
数据预处理模块402,用于针对前预设数量个每一数据包中的每一数据包,根据该数据包的报文信息和通信行为信息,构建该数据包的二维数据矩阵,将前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠,获得待识别网络流量的三维数据立方体;
加密流量识别模块403,用于将待识别网络流量的三维数据立方体输入至预先训练的网络流量识别模型中,识别所述待识别网络流量的协议类型,其中,所述网络流量识别模型为:以样本网络加密流量的三维数据立方体为输入、样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型,所述样本网络加密流量的三维数据立方体为:按照所述样本网络加密流量中数据包的时序信息、对包含所述样本网络加密流量中数据包的报文信息、通信行为信息的二维数据矩阵堆叠而得到的三维数据。
由以上可见,应用本实施例提供的方案进行网络加密流量识别时,由于是由电子设备对网络加密流量的协议类型进行识别。相较于现有技术,不需要工作人员提取网络加密流量的特征,大大提高了网络加密流量识别的效率。
其次,由于是将所获得的网络加密流量的三维数据立方体输入至预先训练的网络流量识别模型中,上述三维数据立方体是将网络加密流量的各个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠而获得的,且上述数据包的二维矩阵是根据数据包的报文信息和通信行为信息构建的,因此,上述三维数据立方体能够同时体现数据包的报文信息、通信行为信息以及时序信息,也就是上述三维数据立方体能够更加适应网络加密流量的结构形式。从而基于上述网络加密流量的三维数据立方体能够更加准确地识别网络加密流量的类型。并且上述网络流量识别模型是基于大量的样本网络加密流量的三维数据立方体进行训练的,且网络流量识别模型能够从上述大量的样本网络加密流量的三维数据立方体中学习到识别样本网络加密流量的协议特征。因此,将上述网络加密流量的三维数据立方体输入至预先训练的网络流量识别模型中,能够获得较为准确的网络加密流量的识别结果。
最后,由于本实施例是对待识别网络流量的协议类型进行识别,当黑客利用网络加密流量发起网络攻击时,上述待识别网络流量可能会被修改为包含有恶意攻击代码的网络加密流量。因此,采用本实施例提供的方案能够识别包含有恶意攻击代码的网络加密流量的协议类型。另外,异常/恶意网络加密流量通常是基于异常协议进行数据传输的,当识别到协议类型为异常协议类型时,可以认为所识别的网络流量为异常/恶意网络加密流量,因此,采用本实施例提供的方案能够识别异常/恶意网络加密流量。
本发明的一个实施例中,上述网络加密流量识别模型包括:输入层、包括三维卷积核的卷积层、池化层、全连接层以及输出层;其中,
所述输入层用于获得网络加密流量的三维数据立方体,并将所获得的三维数据立方体传输至所述卷积层;
所述卷积层,用于采用三维卷积核对所述网络加密流量的三维数据立方体,通过三维卷积核进行三维卷积变换,得到三维特征图,并将所述三维特征图传输至所述池化层;
所述池化层,用于对所述三维特征图进行特征降维处理,并将降维处理后的三维特征图传输至所述全连接层;
所述全连接层,用于对降维处理后的三维特征图进行非线性映射,得到特征向量,并将所述特征向量传输至所述输出层,其中,所述特征向量的维数等于预设协议类型数量;
所述输出层,用于基于所述特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
本发明的一个实施例中,上述数据采集模块401,包括:
网络流量获得子模块,用于基于在预设网络节点上旁路所部署的探针,获得待识别网络流量;
信息提取子模块,用于提取所述待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
这样,由于是在预设网络节点上旁路所部署的探针将所采集的各个会话对应的网络加密流量存储至数据库中,又由于探针能够全方位采集网络加密流量,这样,本实施例的执行主体可以从数据库中快速获得探针所采集的全方位的各个会话对应的网络加密流量,并基于所获得的网络加密流量提取网络加密流量的信息。
本发明的一个实施例中,上述数据采集模块401,具体用于基于在预设网络节点上旁路所部署的探针,获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
这样,由于是在预设网络节点上旁路所部署的探针将所采集的各个会话对应的网络加密流量内数据包的报文信息、通信行为信息以及时序信息存储至数据库中,又由于探针能够全方位采集信息,这样,本实施例的执行主体可以从数据库中快速获得探针所采集的全方位的各个会话对应的网络流量内数据包的报文信息、通信行为信息以及时序信息。
本发明的一个实施例中,上述待识别网络流量内属于通信建立阶段的前预设数量个数据包的通信行为信息至少包括:通信端口号、数据包的长度、数据包的发出时间、数据包的发出间隔时间。
与上述网络加密流量识别方法相对应,本发明实施例还提供了一种电子设备。
参见图5,图5为本发明实施例提供的一种电子设备的结构示意图,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现本发明实施例提供的网络流量识别方法。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例提供的网络加密流量识别方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行时实现本发明实施例提供的网络加密流量识别方法。
由以上可见,应用本实施例提供的方案进行网络加密流量识别时,由于是由电子设备对网络加密流量的协议类型进行识别。相较于现有技术,不需要工作人员提取网络加密流量的特征,大大提高了网络加密流量识别的效率。
其次,由于是将所获得的网络加密流量的三维数据立方体输入至预先训练的网络流量识别模型中,上述三维数据立方体是将网络加密流量的各个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠而获得的,且上述数据包的二维矩阵是根据数据包的报文信息和通信行为信息构建的,因此,上述三维数据立方体能够同时体现数据包的报文信息、通信行为信息以及时序信息,也就是上述三维数据立方体能够更加适应网络加密流量的结构形式。从而基于上述网络加密流量的三维数据立方体能够更加准确地识别网络加密流量的类型。并且上述网络流量识别模型是基于大量的样本网络加密流量的三维数据立方体进行训练的,且网络流量识别模型能够从上述大量的样本网络加密流量的三维数据立方体中学习到识别样本网络加密流量的协议特征。因此,将上述网络加密流量的三维数据立方体输入至预先训练的网络流量识别模型中,能够获得较为准确的网络加密流量的识别结果。
最后,由于本实施例是对待识别网络流量的协议类型进行识别,当黑客利用网络加密流量发起网络攻击时,上述待识别网络流量可能会被修改为包含有恶意攻击代码的网络加密流量。因此,采用本实施例提供的方案能够识别包含有恶意攻击代码的网络加密流量的协议类型。另外,异常/恶意网络加密流量通常是基于异常协议进行数据传输的,当识别到协议类型为异常协议类型时,可以认为所识别的网络流量为异常/恶意网络加密流量,因此,采用本实施例提供的方案能够识别异常/恶意网络加密流量。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种网络加密流量识别方法,其特征在于,所述方法包括:
获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息,其中,所述待识别网络流量为一个加密网络会话通信阶段产生的网络流量;
针对所述前预设数量个数据包中的每一数据包,根据该数据包的报文信息和通信行为信息,构建该数据包的二维数据矩阵;
将所述前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠,获得所述待识别网络流量的三维数据立方体;
将所述待识别网络流量的三维数据立方体输入至预先训练的网络流量识别模型中,识别所述待识别网络流量的协议类型,其中,所述网络流量识别模型为:以样本网络加密流量的三维数据立方体为输入、样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型,所述样本网络加密流量的三维数据立方体为:按照所述样本网络加密流量中数据包的时序信息、对包含所述样本网络加密流量中数据包的报文信息、通信行为信息的二维数据矩阵堆叠而得到的三维数据。
2.根据权利要求1所述的方法,其特征在于,所述网络流量识别模型包括:输入层、包括三维卷积核的卷积层、池化层、全连接层以及输出层;其中,
所述输入层用于获得网络加密流量的三维数据立方体,并将所获得的三维数据立方体传输至所述卷积层;
所述卷积层用于采用所述三维卷积核对所述网络加密流量的三维数据立方体进行三维卷积变换,得到三维特征图,并将所述三维特征图传输至所述池化层;
所述池化层,用于对所述三维特征图进行特征降维处理,并将降维处理后的三维特征图传输至所述全连接层;
所述全连接层,用于对降维处理后的三维特征图进行非线性映射,得到特征向量,并将所述特征向量传输至所述输出层,其中,所述特征向量的维数等于预设协议类型数量;
所述输出层,用于基于所述特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
3.根据权利要求1或2所述的方法,其特征在于,所述获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息,包括:
基于在预设网络节点上旁路所部署的探针,获得待识别网络流量;
提取所述待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
4.根据权利要求1或2所述的方法,其特征在于,所述获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息,包括:
基于在预设网络节点上旁路所部署的探针,获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
5.根据权利要求1或2所述的方法,其特征在于,所述待识别网络流量内属于通信建立阶段的前预设数量个数据包的通信行为信息至少包括:通信端口号、数据包的长度、数据包的发出时间、数据包的发出间隔时间。
6.一种网络加密流量识别装置,其特征在于,所述装置包括:
数据采集模块,用于获得待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息,其中,所述待识别网络流量为一个加密网络会话通信阶段产生的网络流量;
数据预处理模块,用于针对所述前预设数量个数据包中的每一数据包,根据该数据包的报文信息和通信行为信息,构建该数据包的二维数据矩阵;将所述前预设数量个数据包的二维数据矩阵按照各个数据包的时序信息进行堆叠,获得所述待识别网络流量的三维数据立方体;
加密流量识别模块,用于将所述待识别网络流量的三维数据立方体输入至预先训练的网络流量识别模型中,识别所述待识别网络流量的协议类型,其中,所述网络流量识别模型为:以样本网络加密流量的三维数据立方体为输入、样本网络加密流量的协议类型为训练基准,对预设的深度学习模型训练得到的、且用于对网络加密流量的协议类型进行识别的模型,所述样本网络加密流量的三维数据立方体为:按照所述样本网络加密流量中数据包的时序信息、对包含所述样本网络加密流量中数据包的报文信息、通信行为信息的二维数据矩阵堆叠而得到的三维数据。
7.根据权利要求6所述的装置,其特征在于,所述网络加密流量识别模型包括:输入层、包括三维卷积核的卷积层、池化层、全连接层以及输出层;其中,
所述输入层用于获得网络加密流量的三维数据立方体,并将所获得的三维数据立方体传输至所述卷积层;
所述卷积层用于采用所述三维卷积核对所述网络加密流量的三维数据立方体进行三维卷积变换,得到三维特征图,并将所述三维特征图传输至所述池化层;
所述池化层,用于对所述三维特征图进行特征降维处理,并将降维处理后的三维特征图传输至所述全连接层;
所述全连接层,用于对降维处理后的三维特征图进行非线性映射,得到特征向量,并将所述特征向量传输至所述输出层,其中,所述特征向量的维数等于预设协议类型数量;
所述输出层,用于基于所述特征向量和预设的分类算法,获得网络加密流量的协议类型为各个预设协议类型的概率,并依据所获得的概率输出网络加密流量的协议类型的识别结果。
8.根据权利要求6或7所述的装置,其特征在于,所述数据采集模块,包括:
网络流量获得子模块,用于基于在预设网络节点上旁路所部署的探针,获得待识别网络流量;
信息提取子模块,用于提取所述待识别网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
9.根据权利要求6或7所述的装置,其特征在于,
所述数据采集模块,具体用于基于在预设网络节点上旁路所部署的探针,获得待识别的网络流量内属于通信建立阶段的前预设数量个数据包的报文信息、通信行为信息以及时序信息。
10.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
CN202010776682.0A 2020-08-05 2020-08-05 一种网络加密流量识别方法及装置 Active CN111866024B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010776682.0A CN111866024B (zh) 2020-08-05 2020-08-05 一种网络加密流量识别方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010776682.0A CN111866024B (zh) 2020-08-05 2020-08-05 一种网络加密流量识别方法及装置

Publications (2)

Publication Number Publication Date
CN111866024A true CN111866024A (zh) 2020-10-30
CN111866024B CN111866024B (zh) 2022-10-14

Family

ID=72971061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010776682.0A Active CN111866024B (zh) 2020-08-05 2020-08-05 一种网络加密流量识别方法及装置

Country Status (1)

Country Link
CN (1) CN111866024B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383489A (zh) * 2020-11-16 2021-02-19 中国信息通信研究院 一种网络数据流量转发方法和装置
CN112559832A (zh) * 2020-12-10 2021-03-26 上海阅维科技股份有限公司 对加密通道中传输的二次加密流量进行分类的方法
CN113015167A (zh) * 2021-03-11 2021-06-22 杭州安恒信息技术股份有限公司 加密流量数据的检测方法、系统、电子装置和存储介质
CN113177209A (zh) * 2021-04-19 2021-07-27 北京邮电大学 基于深度学习的加密流量分类方法及相关设备
CN113518042A (zh) * 2020-12-16 2021-10-19 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN113824616A (zh) * 2021-11-22 2021-12-21 华控清交信息科技(北京)有限公司 一种mpc协议识别方法、装置及电子设备
CN113904958A (zh) * 2021-10-22 2022-01-07 深圳市润迅通投资有限公司 一种基于动态数据包采样的网络流量识别系统和方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871832A (zh) * 2016-03-29 2016-08-17 北京理工大学 一种基于协议属性的网络应用加密流量识别方法及其装置
CN107682216A (zh) * 2017-09-01 2018-02-09 南京南瑞集团公司 一种基于深度学习的网络流量协议识别方法
CN110111772A (zh) * 2019-05-16 2019-08-09 电子科技大学 一种加密VoIP网络流量所使用语言的识别方法
CN110177122A (zh) * 2019-06-18 2019-08-27 国网电子商务有限公司 一种识别网络安全风险的模型建立方法及装置
CN110267292A (zh) * 2019-05-16 2019-09-20 湖南大学 基于三维卷积神经网络的蜂窝网络流量预测方法
US20190320934A1 (en) * 2018-04-18 2019-10-24 Siemens Healthcare Gmbh Medical image acquisition with sequence prediction using deep learning
CN111079858A (zh) * 2019-12-31 2020-04-28 杭州迪普科技股份有限公司 一种加密数据的处理方法及装置
CN111131069A (zh) * 2019-11-25 2020-05-08 北京理工大学 一种基于深度学习策略的异常加密流量检测与分类方法
CN111404942A (zh) * 2020-03-18 2020-07-10 广东技术师范大学 一种基于深度学习的垂直类恶意爬虫流量识别方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105871832A (zh) * 2016-03-29 2016-08-17 北京理工大学 一种基于协议属性的网络应用加密流量识别方法及其装置
CN107682216A (zh) * 2017-09-01 2018-02-09 南京南瑞集团公司 一种基于深度学习的网络流量协议识别方法
US20190320934A1 (en) * 2018-04-18 2019-10-24 Siemens Healthcare Gmbh Medical image acquisition with sequence prediction using deep learning
CN110111772A (zh) * 2019-05-16 2019-08-09 电子科技大学 一种加密VoIP网络流量所使用语言的识别方法
CN110267292A (zh) * 2019-05-16 2019-09-20 湖南大学 基于三维卷积神经网络的蜂窝网络流量预测方法
CN110177122A (zh) * 2019-06-18 2019-08-27 国网电子商务有限公司 一种识别网络安全风险的模型建立方法及装置
CN111131069A (zh) * 2019-11-25 2020-05-08 北京理工大学 一种基于深度学习策略的异常加密流量检测与分类方法
CN111079858A (zh) * 2019-12-31 2020-04-28 杭州迪普科技股份有限公司 一种加密数据的处理方法及装置
CN111404942A (zh) * 2020-03-18 2020-07-10 广东技术师范大学 一种基于深度学习的垂直类恶意爬虫流量识别方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383489A (zh) * 2020-11-16 2021-02-19 中国信息通信研究院 一种网络数据流量转发方法和装置
CN112559832A (zh) * 2020-12-10 2021-03-26 上海阅维科技股份有限公司 对加密通道中传输的二次加密流量进行分类的方法
CN112559832B (zh) * 2020-12-10 2023-08-04 上海阅维科技股份有限公司 对加密通道中传输的二次加密流量进行分类的方法
CN113518042A (zh) * 2020-12-16 2021-10-19 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN113518042B (zh) * 2020-12-16 2024-04-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN113015167A (zh) * 2021-03-11 2021-06-22 杭州安恒信息技术股份有限公司 加密流量数据的检测方法、系统、电子装置和存储介质
CN113177209A (zh) * 2021-04-19 2021-07-27 北京邮电大学 基于深度学习的加密流量分类方法及相关设备
CN113904958A (zh) * 2021-10-22 2022-01-07 深圳市润迅通投资有限公司 一种基于动态数据包采样的网络流量识别系统和方法
CN113904958B (zh) * 2021-10-22 2022-11-08 深圳市润迅通投资有限公司 一种基于动态数据包采样的网络流量识别系统和方法
CN113824616A (zh) * 2021-11-22 2021-12-21 华控清交信息科技(北京)有限公司 一种mpc协议识别方法、装置及电子设备

Also Published As

Publication number Publication date
CN111866024B (zh) 2022-10-14

Similar Documents

Publication Publication Date Title
CN111866024B (zh) 一种网络加密流量识别方法及装置
CN112003870B (zh) 一种基于深度学习的网络加密流量识别方法及装置
CN112165484B (zh) 基于深度学习与侧信道分析的网络加密流量识别方法装置
CN111683108B (zh) 一种网络流异常检测模型的生成方法和计算机设备
Feng et al. Characterizing industrial control system devices on the internet
CN112235264A (zh) 一种基于深度迁移学习的网络流量识别方法及装置
CN109450842A (zh) 一种基于神经网络的网络恶意行为识别方法
CN105072089A (zh) 一种web恶意扫描行为异常检测方法与系统
CN109474603B (zh) 数据抓包处理方法及终端设备
Yang et al. iFinger: Intrusion detection in industrial control systems via register-based fingerprinting
CN110868409A (zh) 一种基于tcp/ip协议栈指纹的操作系统被动识别方法及系统
CN109462580B (zh) 训练流量检测模型、检测业务流量异常的方法及装置
Farhan et al. Performance analysis of intrusion detection for deep learning model based on CSE-CIC-IDS2018 dataset
CN113923026A (zh) 一种基于TextCNN的加密恶意流量检测模型及其构建方法
Al-Shabi Design of a network intrusion detection system using complex deep neuronal networks
CN110891055B (zh) 一种基于规则树的工控网络白名单异常检测方法
Shan et al. NeuPot: A neural network-based honeypot for detecting cyber threats in industrial control systems
CN116232696A (zh) 基于深度神经网络的加密流量分类方法
CN111901324B (zh) 一种基于序列熵流量识别的方法、装置和存储介质
Whalen et al. Hidden markov models for automated protocol learning
Wan et al. DevTag: A benchmark for fingerprinting IoT devices
CN115314239A (zh) 基于多模型融合的隐匿恶意行为的分析方法和相关设备
CN113810372B (zh) 一种低吞吐量dns隐蔽信道检测方法及装置
CN113992419A (zh) 一种用户异常行为检测和处理系统及其方法
Azeroual et al. A framework for implementing an ml or dl model to improve intrusion detection systems (ids) in the ntma context, with an example on the dataset (cse-cic-ids2018)

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