CN112839051B - 基于卷积神经网络的加密流量实时分类方法及装置 - Google Patents
基于卷积神经网络的加密流量实时分类方法及装置 Download PDFInfo
- Publication number
- CN112839051B CN112839051B CN202110081372.1A CN202110081372A CN112839051B CN 112839051 B CN112839051 B CN 112839051B CN 202110081372 A CN202110081372 A CN 202110081372A CN 112839051 B CN112839051 B CN 112839051B
- Authority
- CN
- China
- Prior art keywords
- byte
- neural network
- convolutional neural
- layer
- encrypted
- 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
- 238000013527 convolutional neural network Methods 0.000 title claims abstract description 81
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000005070 sampling Methods 0.000 claims abstract description 27
- 238000010606 normalization Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000011176 pooling Methods 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 13
- 238000012546 transfer Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 4
- 230000002708 enhancing effect Effects 0.000 abstract description 2
- 238000012549 training Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 238000013135 deep learning Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- 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
-
- 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
-
- 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
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于卷积神经网络的加密流量实时分类方法及装置,该方法包括:在每一条加密流量中采样预设数量的数据包;将采样得到的数据包作为字节流,任意相连两个字节作为一个字节对,并确定所有字节对的频率特征;将所有字节对的频率特征,输入预训练的卷积神经网络模型,输出每一条加密流量的数据流类型。该方法对加密流量的原始字节信息采用基于频率特征的表示,而非原始字节直接构造输入特征,从而使卷积神经网络的学习效果加强,分类准确度更高。此外,采样的数据包数量可以根据实际流量捕获情况调整,而不需要重新设计网络模型的结构,具有更好的适用性。由于采用了字节对的频率特征,从而分类所需数据包少,有利于数据分类的实时性。
Description
技术领域
本发明涉及计算机网络安全技术领域,尤其涉及一种基于卷积神经网络的加密流量实时分类方法及装置。
背景技术
随着虚拟专用网络(VPN)在校园网和企业网络中的应用,用户能够依靠加密协议来保障自己的信息不被窥探,在此种背景下,大量的加密流量在网络上传输,加密流量逐渐成为网络流量不可忽视的一部分。但加密流量为这些网络的出口路由器的流量管控带来了难度,如加密后的P2P传输难以被路由器察觉,会占用大量带宽,很难实施针对性的控制策略;另一方面,加密通信的隐私性也保护了恶意软件和不法分子,使其恶意行为得以绕过校园网和企业网络的安全检测,为这些网络带来了很大的安全隐患。因此,如何分类虚拟专用网络的加密流量成为网络技术领域的关键问题。
现有技术尝试使用基于人工提取特征与机器学习的加密流量分类方法,但加密流量可用特征少,人工提取特征不能获得高分类准确度。一些依靠时间特性进行分类的方法很容易受到干扰流量的影响,导致分类错误。这种背景下,一些依靠深度学习的分类方法开始涌现,深度学习具有自动表征的能力,能够从加密后的数据中找到自行学习特征,对同类输入具有普遍适用性。
当前的大多数基于深度学习的加密流量分类技术致力于提高加密流量分类的准确度,而忽略了技术是否适用于实时分类,实时分类是QoS中流量分类的重要应用场景。实时分类首先要求在加密传输的初始阶段,只采样少量数据就可进行准确分类。其次,现有技术在采样加密流量时,受限于已训练好的卷积神经网络模型,都使用固定长度的采样,无法根据实际捕获情况实时调整采样长度,适用性差。
目前的方法,主要使用固定长度的采样策略,在模型训练后无法调整采样范围,缺乏灵活性,分类准确度低。
发明内容
针对现有技术存在的问题,本发明提供一种基于卷积神经网络的加密流量实时分类方法及装置。
本发明提供一种基于卷积神经网络的加密流量实时分类方法,包括:在每一条加密流量中采样预设数量的数据包;将采样得到的数据包作为字节流,任意相连两个字节作为一个字节对,并确定所有字节对的频率特征;将所有字节对的频率特征,输入预训练的卷积神经网络模型,输出每一条加密流量的数据流类型;其中,所述预训练的卷积神经网络模型,根据已知数据流类型作为标签的加密流量,经采样和提取频率特征后训练得到。
根据本发明一个实施例的基于卷积神经网络的加密流量实时分类方法,所述确定所有字节对的频率特征,包括:根据含有任一字节对的采样数据包个数和数据包总数,确定对应字节对的普遍性权重;根据所述普遍性权重对每一字节对的次数频率加权后,得到字节对的频率特征。
根据本发明一个实施例的基于卷积神经网络的加密流量实时分类方法,所述根据含有任一字节对的采样数据包个数和数据包总数,确定对应字节对的普遍性权重,包括:
其中,pb为采样数据包中字节对b的个数,n为采样数据包总数。
根据本发明一个实施例的基于卷积神经网络的加密流量实时分类方法,所述从每一加密流量中采样预设数量的数据包之前,还包括:根据源IP地址,源端口,目的IP地址,目的端口和传输层协议,确定每一条加密流量。
根据本发明一个实施例的基于卷积神经网络的加密流量实时分类方法,所述将所有字节对的频率特征,输入预训练的卷积神经网络模型,包括:将所有字节对的频率特征,归一化后分布在256*256的特征矩阵中,前后两个字节分别对应特征矩阵的行列索引;将所述特征矩阵输入预训练的卷积网络模型。
根据本发明一个实施例的基于卷积神经网络的加密流量实时分类方法,所述将所述特征矩阵输入预训练的卷积网络模型,包括:将所述特征矩阵输入预训练的卷积网络模型的四层特征提取网络进行特征提取后,输入全连接层和输出层,得到分类预测结果;其中,每一特征提取网络,分别包括卷积层、批归一化层(Batch normalization layer)和池化层。
根据本发明一个实施例的基于卷积神经网络的加密流量实时分类方法,所述数据流类型包括:聊天、视频、语音、P2P、文件传输、电子邮件、VPN聊天、VPN视频、VPN语音、VPNP2P、VPN文件传输、VPN电子邮件。
本发明还提供一种基于卷积神经网络的加密流量实时分类装置,包括:采集模块,用于从在每一条加密流量中采样预设数量的数据包;提取模块,用于将采样得到的数据包作为字节流,任意相连两个字节作为一个字节对,并确定所有字节对的频率特征;处理模块,用于将所有字节对的频率特征,输入预训练的卷积神经网络模型,输出每一条加密流量的数据流类型;其中,所述预训练的卷积神经网络模型,根据已知数据流类型作为标签的加密流量,经采样和提取频率特征后训练得到。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于卷积神经网络的加密流量实时分类方法的步骤。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于卷积神经网络的加密流量实时分类方法的步骤。
本发明提供的基于卷积神经网络的加密流量实时分类方法及装置,对加密流量的原始字节信息采用基于频率特征的表示,而非原始字节直接构造输入特征,从而使卷积神经网络的学习效果加强,分类准确度更高。此外,采样的数据包数量可以根据实际流量捕获情况调整,而不需要重新设计网络模型的结构,具有更好的适用性。同时,由于采用了字节对的频率特征,从而分类所需数据包少,有利于数据分类的实时性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于卷积神经网络的加密流量实时分类方法的流程示意图之一;
图2是本发明提供的频率特征矩阵表示方法示意图;
图3是本发明提供的卷积神经网络结构示意图;
图4是本发明提供的基于卷积神经网络的加密流量实时分类方法的流程示意图之二;
图5是本发明提供的基于卷积神经网络的加密流量实时分类装置的结构示意图;
图6是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在校园网和企业网络的出口节点路由器上,将截取到的流量按照应用类型标签进行实时分类,以识别普通流量和VPN流量和它们各自的服务类型,协助路由器实时流量管控。实时分类场景下,只能访问加密流量数据的一小部分,故本发明特别提出一种基于频率特征的加密流量表示方法,并使用卷积神经网络(CNN)进行分类,该方法可访问加密会话中的任意n(n=1,2,…)个数据包,并可进行高准确度分类,为轻量级实时分类提供了完整的解决方案。
下面结合图1-图6描述本发明的基于卷积神经网络的加密流量实时分类方法及装置。图1是本发明提供的基于卷积神经网络的加密流量实时分类方法的流程示意图之一,如图1所示,本发明提供基于卷积神经网络的加密流量实时分类方法,包括:
101、从在每一条加密流量中采样预设数量的数据包。
对于每条加密流量,从中采样预设数量的n个数据包,如采样n个连续的数据包。当加密流量所含数据包不足n个时,可直接采样所有k(1≤k≤n)个数据包。
102、将采样得到的数据包作为字节流,任意相连两个字节作为一个字节对,并确定所有字节对的频率特征。
采样的数据包是由传输协议或隧道技术加密过的数据,以二进制形式传输,字节是由8位二进制数据构成的数据单位。将采样数据包表示为字节流形式。若将其中两个相连的字节(称为字节对)表示为bibi+1,根据二进制数与十进制数的一一对应关系,易知bibi+1的值对应于一个在[0,65535]之间的十进制数b,统计字节对在数据串中出现的频率,每个拥有不同十进制值的字节对得到一种频率,共得到65536种频率。进一步地,可根据如下公式确定字节对的频率。
其中,m表示字节流的总字节数,cb表示值为b的字节对bibi+1在字节流中出现的次数,以上两个值都通过遍历字节流得到。
可根据频率进行各种相关处理,最终得到每个字节对的频率特征。
103、将所有字节对的频率特征,输入预训练的卷积神经网络模型,输出每一条加密流量的数据流类型。所述预训练的卷积神经网络模型,根据已知数据流类型作为标签的加密流量,经采样和提取频率特征后训练得到。
经过数据预处理阶段后,原始数据转换成为以会话为单位的频率特征,可转化为特征矩阵形式,作为后续阶段卷积神经网络的输入,以预测数据类型。相应地,该卷积神经网络模型,也是以相同的已知数据类型的样本,进行标签标注和频率特征确定,进行多次训练得到,从而能够根据输入的频率特征,得到对应数据流的类型。
作为可选的实施例,数据流类型包括:聊天、视频、语音、P2P、文件传输、电子邮件、VPN聊天、VPN视频、VPN语音、VPNP2P、VPN文件传输、VPN电子邮件。当然,也可以根据具体需求进行分类,本发明对此不作具体限定。
本发明的基于卷积神经网络的加密流量实时分类方法,对加密流量的原始字节信息采用基于频率特征的表示,而非原始字节直接构造输入特征,从而使卷积神经网络的学习效果加强,分类准确度更高。此外,采样的数据包数量可以根据实际流量捕获情况调整,而不需要重新设计网络模型的结构,具有更好的适用性。同时,由于采用了字节对的频率特征,从而分类所需数据包少,有利于数据分类的实时性。
在一个实施例中,所述确定所有字节对的频率特征,包括:根据含有任一字节对的采样数据包个数和数据包总数,确定对应字节对的普遍性权重;根据所述普遍性权重对每一字节对的次数频率加权后,得到字节对的频率特征。
计算bibi+1在采样数据包中的普遍性权重,普遍性权重越大,表示bibi+1的分布越广泛,可得到65536种普遍性权重。然后对每个字节对以普适性权重加权后确定频率特征。通过普遍性权重进行加权,可以更准确量化每个字节对的频率特征,提高识别的准确度。
在一个实施例中,所述根据含有任一字节对的采样数据包个数和数据包总数,确定对应字节对的普遍性权重,包括:
其中,pb为采样数据包中,字节对的个数,n为采样数据包总数。
在此基础上,计算字节对bibi+1的频率特征,可根据下式确定:
Db=Fb*Ub
在一个实施例中,所述从每一加密流量中采样预设数量的数据包之前,还包括:根据源IP地址,源端口,目的IP地址,目的端口和传输层协议,确定每一条加密流量。
对加密流量进行分割,可以按照五元组(源IP地址,源端口,目的IP地址,目的端口和传输层协议)表示一条加密流量。
在一个实施例中,将所有字节对的频率特征,输入预训练的卷积神经网络模型,还包括:将所有字节对的频率特征,归一化后分布在256*256的特征矩阵中,前后两个字节分别对应特征矩阵的行列索引;将所述特征矩阵输入预训练的卷积网络模型。
将字节对b的频率特征根据下式归一化到[0,1]区间,存储在256*256大小的矩阵中。字节对中的前后两个字节分别对应存储位置的行、列索引。图2是本发明提供的频率特征矩阵表示方法示意图,样本的频率特征矩阵如图2所示。归一化的一种实现方式如下:
在一个实施例中,所述将所述特征矩阵输入预训练的卷积网络模型,包括:将所述特征矩阵输入预训练的卷积网络模型的四层特征提取网络进行特征提取后,输入全连接层和输出层,得到分类预测结果;其中,每一特征提取网络,分别包括卷积层、批归一化层和池化层。
图3是本发明提供的卷积神经网络结构示意图,如图3所示,使用的卷积神经网络模型主要分为六层,分别是第一层卷积层,第一层批归一化层,第一层池化层;第二层卷积层,第二层批归一化层,第二层池化层;第三层卷积层,第三层批归一化层,第三层池化层;第四层卷积层,第四层批归一化层,第四层池化层;第五层全连接层;第六层输出层。
此外,训练过程中可根据训练阶段的评估值(如准确度、F1分数等)设置模型的各项参数,其中包括卷积核大小,各层卷积核个数,池化层参数以及全连接层的参数。使用网络模型训练数据的标签作为输出。
图4是本发明提供的基于卷积神经网络的加密流量实时分类方法的流程示意图之二。下面结合流程图对基于卷积神经网络的实时加密流量分类方法进行详细说明。
以ISCX VPN2016数据集的加密流量应用类型分类为例。该数据集包含12种在VPN加密和传输协议加密下生成的流量,分别为聊天(chat与VPN_chat)、文件传输(file与VPN_file)、P2P传输(P2P与VPN_P2P)、流(stream与VPN_stream)、网络语音通话(VoIP与VPN_VoIP)、电子邮件(email与VPN_email)。
步骤1:会话分割与采样。
步骤1.1:使用工具SplitCap对原文件进行切割,切割的选项为-session,按照相同的源IP、源端口、目的IP、目的端口和传输级协议(源IP和目的IP可以互相对调)分割原始流量,获得不同的会话,并保存为pcap格式。
步骤1.2:使用Python的二进制读取功能,读取pcap文件中的数据部分,从原始流量中截取3(n=3)个连续的数据包作为每个会话的数据样本,并删除样本数据包的MAC头和IP地址字段,防止模型过拟合。
步骤2:生成频率特征矩阵。
步骤2.1:以字节形式读取样本,按照原始字节的顺序,根据公式(1)统计字节对的词频(TF)。
其中,k(1≤k≤3)表示样本实际包含的数据包个数,m表示样本总字节数,cb表示字节对b在样本中出现的次数。
步骤2.2:根据公式(2)计算逆文档频率(IDF)
其中,pb(pb≤k)表示样本包含某一字节对b的数据包个数。
步骤2.3:根据公式(3)计算字节对b的词频-逆文档频率。
TF_IDFb=TFb*IDFb (3)
步骤2.4:将字节对b的频率特征根据公式(4)归一化到[0,1]区间,存储在256*256大小的矩阵中。字节对中的前后两个字节分别对应存储位置的行、列索引,样本的频率特征矩阵如图2所示。归一化方式如下:
其中,TF_IDFmin表示矩阵中最小的频率特征值,TF_IDFmax表示矩阵中最大的频率特征值。最后将频率特征矩阵保存为png格式的灰度图。
步骤3:构建卷积神经网络分类模型及参数设置
卷积神经网络提取特征:基于Pytorch库搭建卷积神经网络,网络如图3所示,各层的维度如下:网络包含四个卷积单元,卷积核大小均为3x3,同一层内的卷积层、批归一化层和池化层的通道数相等,依次为64、128、256、256,激活函数为Relu;包含两个全连接层,大小为1024、12。
在使用CNN分类之前,需要对网络进行训练。将数据集生成的png格式图片等分为10等份,进行10折交叉验证,每次验证的训练集、验证集、测试集占比为8:1:1。训练使用包含动量的随机梯度下降(SGD)算法,学习率设置为0.001,动量参数设置为0.8。损失函数为预测标签与实际标签的交叉熵,迭代次数设置为50次。
当模型的预测准确度收敛后,使用测试集数据进行测试,模拟实时分类,平均准确度为94.90%,F1分数为0.948。
下面对本发明提供的基于卷积神经网络的加密流量实时分类装置进行描述,下文描述的基于卷积神经网络的加密流量实时分类装置与上文描述的基于卷积神经网络的加密流量实时分类方法可相互对应参照。
图5是本发明实施例提供的基于卷积神经网络的加密流量实时分类装置的结构示意图,如图5所示,该基于卷积神经网络的加密流量实时分类装置包括:采集模块501、提取模块502和处理模块503。其中,采集模块501用于从在每一条加密流量中采样预设数量的数据包;提取模块502用于将采样得到的数据包作为字节流,任意相连两个字节作为一个字节对,并确定所有字节对的频率特征;处理模块503用于将所有字节对的频率特征,输入预训练的卷积神经网络模型,输出每一条加密流量的数据流类型;其中,所述预训练的卷积神经网络模型,根据已知数据流类型作为标签的加密流量,经采样和提取频率特征后训练得到。
本发明实施例提供的装置实施例是为了实现上述各方法实施例的,具体流程和详细内容请参照上述方法实施例,此处不再赘述。
本发明实施例提供的基于卷积神经网络的加密流量实时分类装置,对加密流量的原始字节信息采用基于频率特征的表示,而非原始字节直接构造输入特征,从而使卷积神经网络的学习效果加强,分类准确度更高。此外,采样的数据包数量可以根据实际流量捕获情况调整,而不需要重新设计网络模型的结构,具有更好的适用性。同时,由于采用了字节对的频率特征,从而分类所需数据包少,有利于数据分类的实时性。
图6是本发明提供的电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器(processor)601、通信接口(Communications Interface)602、存储器(memory)603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。处理器601可以调用存储器603中的逻辑指令,以执行基于卷积神经网络的加密流量实时分类方法,该方法包括:在每一条加密流量中采样预设数量的数据包;将采样得到的数据包作为字节流,任意相连两个字节作为一个字节对,并确定所有字节对的频率特征;将所有字节对的频率特征,输入预训练的卷积神经网络模型,输出每一条加密流量的数据流类型;其中,所述预训练的卷积神经网络模型,根据已知数据流类型作为标签的加密流量,经采样和提取频率特征后训练得到。
此外,上述的存储器603中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于卷积神经网络的加密流量实时分类方法,该方法包括:在每一条加密流量中采样预设数量的数据包;将采样得到的数据包作为字节流,任意相连两个字节作为一个字节对,并确定所有字节对的频率特征;将所有字节对的频率特征,输入预训练的卷积神经网络模型,输出每一条加密流量的数据流类型;其中,所述预训练的卷积神经网络模型,根据已知数据流类型作为标签的加密流量,经采样和提取频率特征后训练得到。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于卷积神经网络的加密流量实时分类方法,该方法包括:在每一条加密流量中采样预设数量的数据包;将采样得到的数据包作为字节流,任意相连两个字节作为一个字节对,并确定所有字节对的频率特征;将所有字节对的频率特征,输入预训练的卷积神经网络模型,输出每一条加密流量的数据流类型;其中,所述预训练的卷积神经网络模型,根据已知数据流类型作为标签的加密流量,经采样和提取频率特征后训练得到。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于卷积神经网络的加密流量实时分类方法,其特征在于,包括:
从每一条加密流量中采样预设数量的数据包;
将采样得到的数据包作为字节流,任意相连两个字节作为一个字节对,并确定所有字节对的频率特征;
将所有字节对的频率特征,输入预训练的卷积神经网络模型,输出每一条加密流量的数据流类型;
其中,所述预训练的卷积神经网络模型,根据已知数据流类型作为标签的加密流量,经采样和提取频率特征后训练得到;
所述数据流类型包括聊天、视频、语音、P2P、文件传输、电子邮件、VPN聊天、VPN视频、VPN语音、VPNP2P、VPN文件传输、VPN电子邮件;所述卷积神经网络模型包括六层,分别为第一层卷积层,第一层批归一化层,第一层池化层;第二层卷积层,第二层批归一化层,第二层池化层;第三层卷积层,第三层批归一化层,第三层池化层;第四层卷积层,第四层批归一化层,第四层池化层;第五层全连接层;第六层输出层。
2.根据权利要求1所述的基于卷积神经网络的加密流量实时分类方法,其特征在于,所述确定所有字节对的频率特征,包括:
根据含有任一字节对的采样数据包个数和数据包总数,确定对应字节对的普遍性权重;
根据所述普遍性权重对每一字节对的次数频率加权后,得到字节对的频率特征。
3.根据权利要求2所述的基于卷积神经网络的加密流量实时分类方法,其特征在于,所述根据含有任一字节对的采样数据包个数和数据包总数,确定对应字节对的普遍性权重,包括:
其中,pb为采样数据包中字节对b的个数,n为采样数据包总数。
4.根据权利要求1所述的基于卷积神经网络的加密流量实时分类方法,其特征在于,所述从每一加密流量中采样预设数量的数据包之前,还包括:
根据源IP地址,源端口,目的IP地址,目的端口和传输层协议,确定每一条加密流量。
5.根据权利要求1所述的基于卷积神经网络的加密流量实时分类方法,其特征在于,所述将所有字节对的频率特征,输入预训练的卷积神经网络模型,包括:
将所有字节对的频率特征,归一化后分布在256*256的特征矩阵中,前后两个字节分别对应特征矩阵的行列索引;
将所述特征矩阵输入预训练的卷积网络模型。
6.一种基于卷积神经网络的加密流量实时分类装置,其特征在于,包括:
采集模块,用于从每一条加密流量中采样预设数量的数据包;
提取模块,用于将采样得到的数据包作为字节流,任意相连两个字节作为一个字节对,并确定所有字节对的频率特征;
处理模块,用于将所有字节对的频率特征,输入预训练的卷积神经网络模型,输出每一条加密流量的数据流类型;
其中,所述预训练的卷积神经网络模型,根据已知数据流类型作为标签的加密流量,经采样和提取频率特征后训练得到;
所述数据流类型包括聊天、视频、语音、P2P、文件传输、电子邮件、VPN聊天、VPN视频、VPN语音、VPNP2P、VPN文件传输、VPN电子邮件;所述卷积神经网络模型包括六层,分别为第一层卷积层,第一层批归一化层,第一层池化层;第二层卷积层,第二层批归一化层,第二层池化层;第三层卷积层,第三层批归一化层,第三层池化层;第四层卷积层,第四层批归一化层,第四层池化层;第五层全连接层;第六层输出层。
7.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述基于卷积神经网络的加密流量实时分类方法的步骤。
8.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述基于卷积神经网络的加密流量实时分类方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081372.1A CN112839051B (zh) | 2021-01-21 | 2021-01-21 | 基于卷积神经网络的加密流量实时分类方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110081372.1A CN112839051B (zh) | 2021-01-21 | 2021-01-21 | 基于卷积神经网络的加密流量实时分类方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112839051A CN112839051A (zh) | 2021-05-25 |
CN112839051B true CN112839051B (zh) | 2023-11-03 |
Family
ID=75929273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110081372.1A Active CN112839051B (zh) | 2021-01-21 | 2021-01-21 | 基于卷积神经网络的加密流量实时分类方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112839051B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124437B (zh) * | 2021-09-28 | 2022-09-23 | 西安电子科技大学 | 基于原型卷积网络的加密流量识别方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147396A (zh) * | 2019-12-26 | 2020-05-12 | 哈尔滨工程大学 | 一种基于序列特征的加密流量分类方法 |
-
2021
- 2021-01-21 CN CN202110081372.1A patent/CN112839051B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111147396A (zh) * | 2019-12-26 | 2020-05-12 | 哈尔滨工程大学 | 一种基于序列特征的加密流量分类方法 |
Non-Patent Citations (3)
Title |
---|
Deep Packet: A Novel Approach For Encrypted Traffic Classification Using Deep Learning;Mohammad Lotfollahi等;《arXiv:1709.02656v3》;20180704;摘要、第6页 * |
TF-IDF提取文章关键词算法;修炼之路;《CSDN》;20170806;第1页 * |
基于n-gram多特征的流量载荷类型分类方法;丁杰等;《计算机应用与软件》;20170228;第34卷(第2期);第153~157页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112839051A (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110311829B (zh) | 一种基于机器学习加速的网络流量分类方法 | |
CN109951444B (zh) | 一种加密匿名网络流量识别方法 | |
CN112163594A (zh) | 一种网络加密流量识别方法及装置 | |
CN112235264A (zh) | 一种基于深度迁移学习的网络流量识别方法及装置 | |
WO2023056808A1 (zh) | 加密恶意流量检测方法、装置、存储介质及电子装置 | |
CN111835763B (zh) | 一种dns隧道流量检测方法、装置及电子设备 | |
CN116647411B (zh) | 游戏平台网络安全的监测预警方法 | |
CN114050912B (zh) | 一种基于深度强化学习的恶意域名检测方法和装置 | |
CN112054967A (zh) | 网络流量分类方法、装置、电子设备及存储介质 | |
Chen et al. | Automatic mobile application traffic identification by convolutional neural networks | |
CN113472751B (zh) | 一种基于数据包头的加密流量识别方法及装置 | |
Islam et al. | Network anomaly detection using lightgbm: A gradient boosting classifier | |
CN111355671B (zh) | 基于自注意机制的网络流量分类方法、介质及终端设备 | |
CN112839051B (zh) | 基于卷积神经网络的加密流量实时分类方法及装置 | |
CN114338064A (zh) | 识别网络流量类型的方法、装置、设备和存储介质 | |
CN111209998A (zh) | 基于数据类型的机器学习模型的训练方法及装置 | |
US11461590B2 (en) | Train a machine learning model using IP addresses and connection contexts | |
CN113746707B (zh) | 一种基于分类器及网络结构的加密流量分类方法 | |
CN115002031A (zh) | 基于不平衡数据分布的联邦学习网络流量分类模型训练方法、模型及分类方法 | |
CN114338437A (zh) | 网络流量分类方法、装置、电子设备及存储介质 | |
WO2023098222A1 (zh) | 多业务场景的识别方法和决策森林模型的训练方法 | |
CN116192997B (zh) | 一种基于网络流的事件检测方法和系统 | |
CN117527434A (zh) | 模型训练方法、资产识别方法、装置、设备及介质 | |
CN112887300B (zh) | 一种数据包分类方法 | |
CN112733689B (zh) | 一种https终端类型分类方法及装置 |
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 |