CN113746707A - 一种基于分类器及网络结构的加密流量分类方法 - Google Patents

一种基于分类器及网络结构的加密流量分类方法 Download PDF

Info

Publication number
CN113746707A
CN113746707A CN202111311502.2A CN202111311502A CN113746707A CN 113746707 A CN113746707 A CN 113746707A CN 202111311502 A CN202111311502 A CN 202111311502A CN 113746707 A CN113746707 A CN 113746707A
Authority
CN
China
Prior art keywords
cost
traffic
classifier
sensitive
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
CN202111311502.2A
Other languages
English (en)
Other versions
CN113746707B (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.)
Nanjing University of Information Science and Technology
Original Assignee
Nanjing University of Information Science and Technology
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 Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN202111311502.2A priority Critical patent/CN113746707B/zh
Publication of CN113746707A publication Critical patent/CN113746707A/zh
Application granted granted Critical
Publication of CN113746707B publication Critical patent/CN113746707B/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

Landscapes

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

Abstract

本发明公开了一种基于分类器及网络结构的加密流量分类方法,属于加密流量识别领域。步骤如下:S1、通过所述网络流量收集模块进行网络流量收集;S2、通过所述流量数据预处理模块进行流量数据预处理;S3、通过所述流量解析模块进行流量聚合;S4、再通过所述流量解析模块进行计算代价矩阵;S5、通过所述分类器训练及优化模块进行分类器的训练;S6、通过所述分类器训练及优化模块进行分类器优化。本发明在较短的训练时间内可以获得较高的性能,适用于类别不平衡的数据集和特征提取困难的加密流量分类识别。

Description

一种基于分类器及网络结构的加密流量分类方法
技术领域
本发明涉及加密流量识别领域,具体涉及一种基于分类器及网络结构的加密流量分类方法。
背景技术
互联网技术的高速发展,在为人们生活带来便利的同时,也会被一些犯罪分子用于不法传输,这对网络空间的稳定性及安全性产生了极大的影响。使得网络安全问题越来越受到人们的关注,因此,全球加密网络流量不断飙升。虽然流量经过加密后再传输,使得传输数据的安全性得到保障,但也为流量的审计增加了难度。如果没有解密技术,IT团队将无法查看流量内包含的信息。这意味着加密能够像隐藏其他信息一样隐藏恶意流量,从而带来一系列蠕虫、木马和病毒。因此识别加密流量对于维护网络的安全运行具有十分重要的意义。
网络安全的威胁越来越受到人们的关注,针对其的识别受到研究者的青睐。加密流量的识别目前方法主要有4类:基于端口过滤、深度包检查(DPI)、统计方法和行为方法。然而,动态端口的出现使得基于端口的方法不再使用。基于DPI的方法因无法解密加密流量也变得无效。基于统计的方法和基于行为的方法是指,使用统计特征或行为特征的机器学习方法处理加密流量。然而,在利用机器学习进行流量识别时,需要设计一组反映网络流量的特征集,且该特征集直接影响分类性能,这需要耗费大量的成本。深度学习则能够通过训练自动提取和选择数据特征,应用于网络流量分类可有效解决特征集设计的问题,作为一种端到端方法,深度学习能够学习原始数据和目标输出之间的关系,有利于获得全局问题的最优解。然而,大多数基于深度学习的流量分类识别框架只使用单个分类器,这影响了大分类问题上的性能。
目前大部分网络流量分类研究都没有考虑网络流量不平衡的问题,研究基础都是基于各种网络应用流都是均匀分布在网络中,即网络数据流的应用类别是平衡的。然而,在现实的网络关口中进出的网络流量的类别分布很不均匀,比如通过加密协议承载的音、视频流远大于即时通信、纯网页加密流。网络数据越来越呈现出数据量大、维度高且不平衡的态势。因此实现对网络关口中少数类别的网络流量的高精度分类识别具有非常重要的现实意义。
发明内容
本发明针对现有技术中的不足,提供一种基于分类器及网络结构的加密流量分类方法,其在类别不平衡场景下对网络关口中进出的加密流量可以进行有效识别分类。
为实现上述目的,本发明采用以下技术方案:
本发明一种基于分类器及网络结构的加密流量分类方法,所述代价敏感CNN网络包括CNN网络和代价敏感层,所述CNN网络包含普通卷积层、池化层和全连接层,当所述CNN网络发生错误分类时,所述代价敏感层被激活,为少数类的错误分类分配高代价,为多数类的错误分类分配低代价,形成代价敏感CNN网络并构建成代价敏感CNN网络流量分类器;所述代价敏感CNN网络流量分类器呈树状结构,将数据集中的大分类划分为小分类,再为每个划分后的小分类设置一个特定的分类器进行流量的识别;所述代价敏感CNN网络包括网络流量收集模块、流量数据预处理模块、流量解析模块和分类器训练及优化模块;
所述加密流量分类方法包括以下步骤:
S1、通过所述网络流量收集模块进行网络流量收集:在网络关口中设置一个网络流量收集器用于捕获网络关口进出的网络数据流量,将捕获的网络数据流量按照会话的粒度进行分流,得到会话流;
S2、通过所述流量数据预处理模块进行流量数据预处理:将所述会话流按照一定的长度进行截断填充,并进行归一化处理,抽取部分流量数据用于最后的模型测试及调优;
S3、通过所述流量解析模块进行流量聚合:利用余弦计算不同流量类别的相似性,将相似的流量类别聚合到一块,将所有流量样本分为若干部分,被聚合到一块的流量被称为子数据集,所述子数据集为训练所述代价敏感CNN网络流量分类器模型中相应节点的分类器,所述代价敏感CNN网络流量分类器通过代价敏感矩阵对少数类的错误分类赋予更高的代价,在每一次对少数类的错误分类都会根据代价敏感矩阵重新计算损失值并对模型的权重进行更新,使得之后模型在少数类进行分类时更加慎重;
S4、再通过所述流量解析模块进行计算代价矩阵:由所述代价敏感CNN网络流量分类器模型通过各类别样本数量和总样本数量计算各类别占比,依据各类别在子数据集中的占比计算获得各个子数据集的代价矩阵,并在代价敏感CNN网络流量分类器的训练过程中将该代价矩阵加入;所述代价矩阵根据各流量类别在数据集中的占比制定,然后应用于代价敏感CNN网络最后一层全连接层的输出,以根据各种代价改变网络的权重;
S5、通过所述分类器训练及优化模块进行分类器的训练:将各部分的流量数据输入到基于树状结构的代价敏感CNN网络流量分类器中,对分类器进行训练;
S6、通过所述分类器训练及优化模块进行分类器优化:利用S2中抽取的测试数据测试分类器性能,并对获得的指标结果分析,选择最优参数,优化分类器。
进一步地,步骤S1包括:定义TCP流:以三次握手建立连接时的SYN标志位为1的SYN包开始、以FIN标志位或以RST标志位为1的FIN或者RST包结束的TCP双向流。
进一步地,步骤S1包括:
定义UDP流为以第一个数据包到达为开始,如果两个数据包到达的时间间隔超过一分钟,则认为第一个数据包的数据流结束,第二个数据包的新数据流开始。
进一步地,步骤S2具体包括以下步骤:
S21、依次读取所捕获的网络流量经过流量预处理后得到的会话流,判断每个会话的长度是否大于784个字节;
S22、若会话长度超过784个字节,则执行截断,如果会话长度小于784个字节,则执行零填充;
S23、对流量数据进行归一化处理;
S24、按照一定比例抽取部分流量数据用于后续分类器的测试以及调优。
进一步地,步骤S3具体包括以下步骤:
S31、所捕获的所有流量的流量类别数量为N,分离所有流量数据的每个流量类别样本;
S32、将N设为根节点,在第一层令当前层i=1,计算N/2是否为整数,若为整数,则其左右子节点的流量类别数量为N/2,否则,左右子节点的类别数量分别为(N-1)/2、(N+1)/2;
S33、从左向右遍历当前层i的节点,假设i层节点j的流量类别数量为M,若M<4,标记该节点并停止划分,否则确定M/2是否为整数后,重复S32的操作;
S34、如果当前树的所有叶节点都被标记,则完成划分,否则重复S33的操作;
S35、利用余弦测量不同流量类别间的相似性,再根据各节点的流量类别数量M,将M个相似的流量类别样本放入同一数据集,作为该节点的训练数据,并为每个节点生成相应数据集,从而获得若干子数据集。
进一步地,步骤S4具体包括以下步骤:
S41、子数据集的流量类别数量为M,则生成一个M*M的代价矩阵r;
S42、将矩阵的对角线元素设置为0;
S43、
Figure 719287DEST_PATH_IMAGE001
为i类流量样本数量,
Figure 316622DEST_PATH_IMAGE002
为j类流量样本数量,若
Figure 478613DEST_PATH_IMAGE003
,则
Figure 805689DEST_PATH_IMAGE004
,否则
Figure 27723DEST_PATH_IMAGE005
进一步地,步骤S5中对分类器的训练步骤包括如下:
S51、在所述CNN网络中加入代价敏感层,激活所述代价敏感层,形成代价敏感CNN网络流量分类器;
S52、用子数据集训练代价敏感CNN网络流量分类器,并将各代价敏感CNN网络流量分类器按节点顺序,排成树状结构,形成一个基于树状结构的代价敏感CNN网络流量分类器;
S53、用测试数据测试模型分类效果,调节模型参数;
S54、重复步骤S52和步骤S53,直至得到最优的基于树状结构的代价敏感CNN网络流量分类器。
进一步地,所述代价敏感层被激活过程主要分为以下3步:
指定实际和预测的流量类别;
利用代价矩阵r来确定误分类代价;
将指定的代价应用于实际的类别的输出和预测的类别的输出,形成实际的类别和预测的类别的新输出:
Figure 440250DEST_PATH_IMAGE006
其中,
Figure 140352DEST_PATH_IMAGE007
分别指预测的类别和实际的类别的输出,
Figure 321935DEST_PATH_IMAGE008
分别分别表示预测的类别和实际的类别的新输出;
然后改变交叉熵函数,并引入新的代价函数;新的代价函数获得
Figure 980450DEST_PATH_IMAGE009
Figure 880272DEST_PATH_IMAGE010
值作为输入,并返回每个类的损失值,在修改了实际和预测类别的输出之后,再次利用SoftMax函数使用如下方程计算预测和实际类别的新损失值:
Figure 118487DEST_PATH_IMAGE011
其中,
Figure 154576DEST_PATH_IMAGE012
为预测类别的新输出
Figure 718413DEST_PATH_IMAGE013
的概率值,
Figure 105532DEST_PATH_IMAGE014
为实际类别的新输出
Figure 167945DEST_PATH_IMAGE015
的概率值;
最后将新的损失值应用到网络训练中。
有益效果
本发明使用基于树状结构的代价敏感CNN网络流量分类器,它利用树结构将全部流量类别划分为若干部分,每个部分包含多个类别,再为每个划分后的小分类设置一个代价敏感CNN网络流量分类器。通过多个分类器的协同工作,实现了各分类器在分类性能上的互补,解决了单个分类器的问题。由于多个分类器都是端到端框架,因此可以在不提取特征的情况下自动学习输入数据和输出数据之间的非线性关系。采用代价敏感CNN网络流量分类器,根据每个类别的占比生成代价矩阵,该矩阵用于在训练过程中为每个错误分类分配代价,少数类样本赋予高代价,多数类样本赋予低代价,使得网络对少数类样本更敏感,在训练过程中利用这些代价不仅解决了由于样本类别不平衡造成模型欠拟合或过拟合的问题,还提高了最终分类的准确性。本发明利用流量类别的分布来指定代价,通过对各种错误分类施加代价来训练对少数类更敏感的网络,有效解决了类别不平衡的问题。本发明识别率高,误报率低,适用于在网络流量类不平衡场景下对网络关口中监测的各类别网络流量实现高精度分类。
附图说明
图1为本发明代价敏感CNN网络的加密流量识别模型的示意图;
图2为图1的加密流量分类方法的流程图;
图3为图2的加密流量分类方法的具体展示;
图4为本发明的代价敏感CNN网络模型示意图;
图5为本发明6分类时基于树状结构的代价敏感CNN网络流量分类模型;
图6为本发明与基于树状结构的传统CNN网络流量分类模型分类结果对比图;
图7为本发明与对比实验指标精确率的结果对比图;
图8为本发明与对比实验指标召回率的结果对比图;
图9为本发明与对比实验指标F1-Measure的结果对比图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
本发明的代价敏感CNN网络包括CNN网络和代价敏感层,所述CNN网络包含普通卷积层、池化层和全连接层,当所述CNN网络发生错误分类时,所述代价敏感层被激活,其为少数类的错误分类分配高代价,为多数类的错误分类分配低代价,形成代价敏感CNN网络并构建成代价敏感CNN网络流量分类器。所述代价敏感CNN网络流量分类器呈树状结构,将数据集中的大分类划分为小分类,再为每个划分后的小分类设置一个特定的分类器进行流量的识别。所述代价敏感CNN网络包括网络流量收集模块、流量数据预处理模块、流量解析模块和分类器训练及优化模块,如图1所示。
本发明提供了一种基于分类器及网络结构的加密流量分类方法,针对样本数据集的类别不平衡性和特征提取困难及单一分类器的问题,通过代价敏感CNN网络流量分类器,根据每个类别的占比生成代价矩阵,为少数类样本赋予高代价,多数类样本赋予低代价,使得网络对少数类样本更敏感,在训练过程中解决了数据集不平衡的问题,它利用树结构将全部流量类别划分为若干部分,每个部分包含多个类别,再为每个划分后的小分类设置一个代价敏感CNN网络流量分类器,由于多个分类器都是端到端框架,因此可以在不提取特征的情况下自动学习输入数据和输出数据之间的非线性关系,采用多分类器还实现了在分类性能上的互补,最后进行识别评估。
所述代价敏感CNN网络包括网络流量收集模块、流量数据预处理模块、流量解析模块和分类器训练及优化模块。如图2所示,本发明基于分类器及网络结构的加密流量分类方法过程至少包括:网络流量收集、流量数据预处理、流量聚合、代价矩阵计算、分类器训练及优化几个步骤。
具体地,如图3所示,加密流量分类方法包括以下步骤:
S1、通过网络流量收集模块进行网络流量收集:在网络关口中设置一个网络流量收集器用于捕获网络关口进出的网络数据流量,将捕获的网络数据流量按照会话的粒度进行分流,得到会话流。
本实施方案中采用VPN-nonVPN数据集中的流量代替网络关口捕获的流量对模型进行测试,对于原始数据集按照会话粒度进行流量数据的划分,得到会话流。其中对于TCP流,本发明实验判定条件是:定义TCP流为:以三次握手建立连接时的SYN标志位为1的SYN包开始、以FIN标志位或以RST标志位为1的FIN或者RST包结束的TCP双向流。对于UDP流,由于UDP协议设计特点不同于TCP协议有着显式的FIN结束标志,本发明则以第一个数据包到达为开始,如果两个数据包到达的时间间隔超过一分钟,则认为第一个数据包的数据流结束,第二个数据包的新数据流开始。
S2、通过流量数据预处理模块进行流量数据预处理:读取S1中得到的会话流,按照一定的长度对会话流进行截断填充,并进行归一化处理,抽取部分流量数据作为测试集并调优。
流量数据预处理就是读取流量数据集中所有的会话流,截断会话流前784个字节,不够784个字节则填充0。为了防止物理硬件对分类的影响,需要去除数据包的数据链路层字节。由于UDP头部比TCP头部少12字节,为了消除实验误差影响需要在UDP头部填充0。为了得到最佳算法识别效果,需要对提取的数据包字节进行归一化处理。最后,按照一定比例抽取部分流量数据用于后续分类器的测试以及调优。
S3、通过流量解析模块进行流量聚合:利用余弦计算不同流量类别的相似性,将相似的流量类别聚合到同一数据集,获得若干子数据集,为后面形成树状分类器做准备。
流量聚合就是通过评估各流量类别之间的相似性,将流量类别划分为树状结构中的节点,再划分预处理后的数据集得到节点中分类器对应的数据集,这些数据集被称为子数据集,用于训练基于树状结构的代价敏感CNN网络流量分类器模型中相应节点的分类器,所述代价敏感CNN网络流量分类器通过代价敏感矩阵对少数类的错误分类赋予更高的代价,在每一次对少数类的错误分类都会根据代价敏感矩阵重新计算损失值并对模型的权重进行更新,使得之后模型在少数类进行分类时更加慎重。为了确保树结构中的每个分类都是一个小分类,采用了一种二叉树,使树中节点的深度不大于2。这样,除了叶节点中的类的最终分类外,其余的都是两个分类。其计算规则如下:
(1)原始实验数据集中流量类别数量为N,分离原始实验数据集中的每个流量类别样本;
(2)将N设为根节点,为第一层(i=1),计算N/2是否为整数,若为整数,则其左右子节点的流量类别数量为N/2,否则,左右子节点的类别数量分别为(N-1)/2、(N+1)/2;
(3)从左向右遍历当前层i的节点,假设i层节点j的流量类别数量为M,若M<4,标记该节点并停止划分,否则确定M/2是否为整数后,重复(2)的操作;
(4)如果当前树的所有叶节点都被标记,则完成划分,否则重复(3)的操作;
(5)利用余弦测量不同流量类别间的相似性,再根据各节点的流量类别数量M,将M个相似的流量类别样本放入同一数据集,为每个节点生成相应数据集,从而获得若干子数据集。
S4、再通过流量解析模块进行计算代价矩阵:由所述代价敏感CNN网络流量分类器模型通过各类别样本数量和总样本数量计算各类别占比,依据各类别在子数据集中的占比计算获得各个子数据集的代价矩阵,并在代价敏感CNN网络流量分类器的训练过程中将该代价矩阵加入。
计算代价矩阵就是根据各流量类别在数据集中的占比制定的,然后应用于代价敏感CNN网络最后一层全连接层的输出,以根据各种代价改变网络的权重。其目的在于将最大代价分配给少数类,而将较低的代价分配给其他类(多数类),使分类器对少数类样本更敏感,解决数据集类别不平衡的问题。若子数据集的流量类别数量为M,则生成一个M*M的代价矩阵r,矩阵的对角线称为效用向量,该向量表示正确的分类,并被设置为零。对于其他分类,所有成本都是非负的,即
Figure 324120DEST_PATH_IMAGE016
。其计算如下:
Figure 58857DEST_PATH_IMAGE003
,则
Figure 667693DEST_PATH_IMAGE017
,否则
Figure 778869DEST_PATH_IMAGE005
其中,
Figure 789550DEST_PATH_IMAGE018
为i类流量样本数量,
Figure 695189DEST_PATH_IMAGE002
为j类流量样本数量。
S5、通过分类器训练及优化模块进行分类器的训练:将各子训练集输入到基于树状结构的代价敏感CNN网络流量分类器中,对分类器进行训练。
对分类器的训练步骤如下:首先在传统的CNN网络中加入代价敏感层,形成代价敏感CNN网络流量分类器,然后用各子数据集训练代价敏感CNN网络流量分类器,并将各代价敏感CNN网络流量分类器按节点顺序,排成树状结构,形成一个基于树状结构的代价敏感CNN网络流量分类器。由于采用多分类器,使得分类模型在分类性能上可以互补,并且多个分类器均采用端到端的框架,因此可以在不提取特征的情况下自动学习输入数据和输出数据之间的非线性关系,最后,通过测试集数据流调试模型参数,得到最优的分类器模型并决策评估。其中代价敏感CNN网络如图2。
如图4所示,代价敏感CNN网络在传统网络中引入了代价敏感层,传统CNN网络只由卷积层、池化层和一个全连接层组成。当分类器正确分类时,其网络与传统的CNN网络相同,当分类器发生错误分类时,代价敏感层被激活,其为少数类的错误分类分配高代价,为多数类的错误分类分配低代价。代价敏感层被激活的过程主要分为以下3步:
(3)指定实际和预测的流量类别;
(4)利用代价矩阵来确定误分类代价;
(5)将指定的代价应用于实际和预测类的输出。
其中,
Figure 791321DEST_PATH_IMAGE007
分别指预测的类别和实际的类别的输出,
Figure 47466DEST_PATH_IMAGE008
分别表示预测的类别和实际的类别的新输出:
Figure 178233DEST_PATH_IMAGE019
然后改变交叉熵函数,并引入新的代价函数。新函数获得
Figure 254773DEST_PATH_IMAGE009
Figure 838201DEST_PATH_IMAGE010
值作为输入,并返回每个类的损失值。在修改了实际和预测类别的输出之后,再次利用SoftMax函数使用如下方程计算预测和实际类别的新损失值:
Figure 271938DEST_PATH_IMAGE011
其中,
Figure 194894DEST_PATH_IMAGE012
为预测类别的新输出
Figure 504653DEST_PATH_IMAGE013
的概率值,
Figure 513060DEST_PATH_IMAGE014
为实际类别的新输出
Figure 566467DEST_PATH_IMAGE015
的概率值。
最后将新的损失值应用到网络训练中。总之,利用流量类别的分布来指定代价,通过对各种错误分类施加代价来训练对少数类更敏感的网络,有效解决了类别不平衡的问题。
指标结果分析就是对实验结果得到的指标结果进行分析,并选取合适的参数,优化算法,提高识别率。
S6、通过分类器训练及优化模块进行分类器优化:利用测试集测试分类器性能,并对获得的指标结果分析,选择最优参数,优化分类器。
如图5所示,对于VPN数据集,利用余弦判断类之间的相似性,计算结果显示了其他的类和VPN-Chat之间的相似性。可以看出,VPN-Chat和VPN-Email以及VPN-File Transfer之间的相似性值相对较高,因此,VPN-Chat、VPN-Email和VPN-File Transfer被归类为一个类,即类A,其余的VPN-P2P、VPN-Streaming、VPN-VolP被归类为另一个类,即类B。A类B类中各包含三种VPN类型流量。最终,基于树状结构的代价敏感CNN网络流量分类模型共包含3个代价敏感CNN网络流量分类器,即代价敏感CNN网络流量分类器1、代价敏感CNN网络流量分类器2、代价敏感CNN网络流量分类器3。
如图6所示,由于F1-Measure是由精确率、召回率计算得到,因此,该评价指标具有一定的代表性。采用该指标对本专利模型和基于树状结构的传统CNN网络流量分类模型进行对比评价。可以看出,本专利方法在6种流量类别上的分类效果均明显优于基于树状结构的传统CNN网络流量分类模型,最高提升了2.8%,最少也提升了1.4%。这是由于在训练模型时,类别不平衡的样本会导致算法重视少数类的差别造成过拟合或者因为少数类别样本太少学习能力不足造成欠拟合的现象,实验效果不佳,而本发明采用的代价敏感CNN网络流量分类器,会根据每个类别的占比生成代价矩阵,并将该代价应用于训练过程中,发生错误分类时,为少数类样本赋予高代价,多数类样本赋予低代价,使得网络对少数类样本更敏感,有效解决了类别不平衡的问题,因此获得了良好的实验效果。
如图7-9所示,为了测试并对比本发明方法加密流量分类性能,本发明选择深度学习中较典型的算法模型CNN进行对比实验。由实验结果图可以看出,由于CNN是较为基本的深度学习模型,其训练过程相对简单,实验平均的精确率、召回率和F1-Measure仅有97.1%、96.5%和96.8%。本发明采用树结构将大分类化为两个小分类,再为每个划分后的小分类设置一个代价敏感CNN网络流量分类器,形成三个分类器,使得分类模型在分类性能上互补;由于多个分类器都是端到端的框架,所以可以自动提取特征并进行学习,模型平均的精确率、召回率和F1-Measure达到了98.9%、99.0%和98.9%,本发明模型取得了良好的分类效果。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (8)

1.一种基于分类器及网络结构的加密流量分类方法,其特征在于,
所述代价敏感CNN网络包括CNN网络和代价敏感层,所述CNN网络包含普通卷积层、池化层和全连接层,当所述CNN网络发生错误分类时,所述代价敏感层被激活,为少数类的错误分类分配高代价,为多数类的错误分类分配低代价,形成代价敏感CNN网络并构建成代价敏感CNN网络流量分类器;所述代价敏感CNN网络流量分类器呈树状结构,将数据集中的大分类划分为小分类,再为每个划分后的小分类设置一个特定的分类器进行流量的识别;所述代价敏感CNN网络包括网络流量收集模块、流量数据预处理模块、流量解析模块和分类器训练及优化模块;
所述加密流量分类方法包括以下步骤:
S1、通过所述网络流量收集模块进行网络流量收集:在网络关口中设置一个网络流量收集器用于捕获网络关口进出的网络数据流量,将捕获的网络数据流量按照会话的粒度进行分流,得到会话流;
S2、通过所述流量数据预处理模块进行流量数据预处理:将所述会话流按照一定的长度进行截断填充,并进行归一化处理,抽取部分流量数据用于最后的模型测试及调优;
S3、通过所述流量解析模块进行流量聚合:利用余弦计算不同流量类别的相似性,将相似的流量类别聚合到一块,将所有流量样本分为若干部分,被聚合到一块的流量被称为子数据集,所述子数据集为训练所述代价敏感CNN网络流量分类器模型中相应节点的分类器,所述代价敏感CNN网络流量分类器通过代价敏感矩阵对少数类的错误分类赋予更高的代价,在每一次对少数类的错误分类都会根据代价敏感矩阵重新计算损失值并对模型的权重进行更新,使得之后模型在少数类进行分类时更加慎重;
S4、再通过所述流量解析模块进行计算代价矩阵:由所述代价敏感CNN网络流量分类器模型通过各类别样本数量和总样本数量计算各类别占比,依据各类别在子数据集中的占比计算获得各个子数据集的代价矩阵,并在代价敏感CNN网络流量分类器的训练过程中将该代价矩阵加入;所述代价矩阵根据各流量类别在数据集中的占比制定,然后应用于代价敏感CNN网络最后一层全连接层的输出,以根据各种代价改变网络的权重;
S5、通过所述分类器训练及优化模块进行分类器的训练:将各部分的流量数据输入到基于树状结构的代价敏感CNN网络流量分类器中,对分类器进行训练;
S6、通过所述分类器训练及优化模块进行分类器优化:利用S2中抽取的测试数据测试分类器性能,并对获得的指标结果分析,选择最优参数,优化分类器。
2.根据权利要求1所述的加密流量分类方法,其特征在于,步骤S1包括:定义TCP流:以三次握手建立连接时的SYN标志位为1的SYN包开始、以FIN标志位或以RST标志位为1的FIN或者RST包结束的TCP双向流。
3.根据权利要求2所述的加密流量分类方法,其特征在于,步骤S1包括:
定义UDP流为以第一个数据包到达为开始,如果两个数据包到达的时间间隔超过一分钟,则认为第一个数据包的数据流结束,第二个数据包的新数据流开始。
4.根据权利要求3所述的加密流量分类方法,其特征在于,步骤S2具体包括以下步骤:
S21、依次读取所捕获的网络流量经过流量预处理后得到的会话流,判断每个会话的长度是否大于784个字节;
S22、若会话长度超过784个字节,则执行截断,如果会话长度小于784个字节,则执行零填充;
S23、对流量数据进行归一化处理;
S24、按照一定比例抽取部分流量数据用于后续分类器的测试以及调优。
5.根据权利要求4所述的加密流量分类方法,其特征在于,步骤S3具体包括以下步骤:
S31、所捕获的所有流量的流量类别数量为N,分离所有流量数据的每个流量类别样本;
S32、将N设为根节点,在第一层令当前层i=1,计算N/2是否为整数,若为整数,则其左右子节点的流量类别数量为N/2,否则,左右子节点的类别数量分别为(N-1)/2、(N+1)/2;
S33、从左向右遍历当前层i的节点,假设i层节点j的流量类别数量为M,若M<4,标记该节点并停止划分,否则确定M/2是否为整数后,重复S32的操作;
S34、如果当前树的所有叶节点都被标记,则完成划分,否则重复S33的操作;
S35、利用余弦测量不同流量类别间的相似性,再根据各节点的流量类别数量M,将M个相似的流量类别样本放入同一数据集,作为该节点的训练数据,并为每个节点生成相应数据集,从而获得若干子数据集。
6.根据权利要求5所述的加密流量分类方法,其特征在于,步骤S4具体包括以下步骤:
S41、子数据集的流量类别数量为M,则生成一个M*M的代价矩阵r;
S42、将矩阵的对角线元素设置为0;
S43、
Figure 235907DEST_PATH_IMAGE001
为i类流量样本数量,
Figure 392082DEST_PATH_IMAGE002
为j类流量样本数量,若
Figure 251454DEST_PATH_IMAGE003
,则
Figure 860290DEST_PATH_IMAGE004
,否则
Figure 863143DEST_PATH_IMAGE005
7.根据权利要求6所述的加密流量分类方法,其特征在于,步骤S5中对分类器的训练步骤包括如下:
S51、在所述CNN网络中加入代价敏感层,激活所述代价敏感层,形成代价敏感CNN网络流量分类器;
S52、用子数据集训练代价敏感CNN网络流量分类器,并将各代价敏感CNN网络流量分类器按节点顺序,排成树状结构,形成一个基于树状结构的代价敏感CNN网络流量分类器;
S53、用测试数据测试模型分类效果,调节模型参数;
S54、重复步骤S52和步骤S53,直至得到最优的基于树状结构的代价敏感CNN网络流量分类器。
8.根据权利要求7所述的加密流量分类方法,其特征在于,所述代价敏感层被激活过程主要分为以下3步:
指定实际和预测的流量类别;
利用代价矩阵r来确定误分类代价;
将指定的代价应用于实际的类别的输出和预测的类别的输出,形成实际的类别和预测的类别的新输出:
Figure 873824DEST_PATH_IMAGE006
其中,
Figure 904097DEST_PATH_IMAGE007
分别指预测的类别和实际的类别的输出,
Figure 229DEST_PATH_IMAGE008
分别分别表示预测的类别和实际的类别的新输出;
然后改变交叉熵函数,并引入新的代价函数;新的代价函数获得
Figure 508571DEST_PATH_IMAGE009
Figure 639338DEST_PATH_IMAGE010
值作为输入,并返回每个类的损失值,在修改了实际和预测类别的输出之后,再次利用SoftMax函数使用如下方程计算预测和实际类别的新损失值:
Figure 43774DEST_PATH_IMAGE011
其中,
Figure 627203DEST_PATH_IMAGE012
为预测类别的新输出
Figure 440700DEST_PATH_IMAGE013
的概率值,
Figure 425974DEST_PATH_IMAGE014
为实际类别的新输出
Figure 798049DEST_PATH_IMAGE015
的概率值;
最后将新的损失值应用到网络训练中。
CN202111311502.2A 2021-11-08 2021-11-08 一种基于分类器及网络结构的加密流量分类方法 Active CN113746707B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111311502.2A CN113746707B (zh) 2021-11-08 2021-11-08 一种基于分类器及网络结构的加密流量分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111311502.2A CN113746707B (zh) 2021-11-08 2021-11-08 一种基于分类器及网络结构的加密流量分类方法

Publications (2)

Publication Number Publication Date
CN113746707A true CN113746707A (zh) 2021-12-03
CN113746707B CN113746707B (zh) 2022-02-15

Family

ID=78727691

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111311502.2A Active CN113746707B (zh) 2021-11-08 2021-11-08 一种基于分类器及网络结构的加密流量分类方法

Country Status (1)

Country Link
CN (1) CN113746707B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115374859A (zh) * 2022-08-24 2022-11-22 东北大学 一种针对非平衡、多类别的复杂工业数据的分类方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289089A1 (en) * 2004-06-28 2005-12-29 Naoki Abe Methods for multi-class cost-sensitive learning
CN110516694A (zh) * 2019-07-05 2019-11-29 福州大学 一种基于代价敏感学习的排水管道缺陷自动检测方法
CN111030941A (zh) * 2019-10-29 2020-04-17 武汉瑞盈通网络技术有限公司 一种基于决策树的https加密流量分类方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050289089A1 (en) * 2004-06-28 2005-12-29 Naoki Abe Methods for multi-class cost-sensitive learning
CN110516694A (zh) * 2019-07-05 2019-11-29 福州大学 一种基于代价敏感学习的排水管道缺陷自动检测方法
CN111030941A (zh) * 2019-10-29 2020-04-17 武汉瑞盈通网络技术有限公司 一种基于决策树的https加密流量分类方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JFKIDEAR: "输入一个数字n 如果n为偶数则除以2,若为奇数则加1或者减1,直到n为1,求最少次数 写出一个函数", 《CSDN》 *
张阳: "复杂交通场景中基于视频的行人检测与跟踪若干关键问题研究", 《中国优秀博硕士学位论文全文数据库(博士) (信息科技辑)》 *
邹洪侠等: "三类分类器性能评估方法B-ROCCH研究", 《江汉大学学报(自然科学版)》 *
黄颖琦等: "基于代价敏感卷积神经网络的非平衡问题混合方法", 《计算机科学》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115374859A (zh) * 2022-08-24 2022-11-22 东北大学 一种针对非平衡、多类别的复杂工业数据的分类方法

Also Published As

Publication number Publication date
CN113746707B (zh) 2022-02-15

Similar Documents

Publication Publication Date Title
CN110796196B (zh) 一种基于深度判别特征的网络流量分类系统及方法
CN109831392B (zh) 半监督网络流量分类方法
CN111817982A (zh) 一种面向类别不平衡下的加密流量识别方法
CN110012029A (zh) 一种区分加密和非加密压缩流量的方法和系统
CN108199863B (zh) 一种基于两阶段序列特征学习的网络流量分类方法及系统
CN112769752B (zh) 一种基于机器学习集成模型的网络入侵检测方法
CN102420723A (zh) 一种面向多类入侵的异常检测方法
Alshammari et al. Investigating two different approaches for encrypted traffic classification
CN107370752B (zh) 一种高效的远控木马检测方法
CN111030941A (zh) 一种基于决策树的https加密流量分类方法
CN109379341A (zh) 一种基于行为分析的反弹型远控木马网络流量检测方法
CN113364787B (zh) 一种基于并联神经网络的僵尸网络流量检测方法
CN106330611A (zh) 一种基于统计特征分类的匿名协议分类方法
CN112217763A (zh) 一种基于机器学习的隐蔽tls通信流检测方法
CN112800424A (zh) 一种基于随机森林的僵尸网络恶意流量监测方法
CN112910853A (zh) 基于混合特征的加密流量分类方法
CN107404398A (zh) 一种网络用户行为判别系统
CN114915575B (zh) 一种基于人工智能的网络流量检测装置
CN103973589A (zh) 网络流量分类方法及装置
CN114785563A (zh) 一种软投票策略的加密恶意流量检测方法
CN113746707B (zh) 一种基于分类器及网络结构的加密流量分类方法
CN114726802A (zh) 一种基于不同数据维度的网络流量识别方法及装置
CN117056797A (zh) 基于非平衡数据的加密流量分类方法、设备及介质
CN114666273B (zh) 一种面向应用层未知网络协议的流量分类方法
CN115051828A (zh) 面向类别不平衡下的ssl vpn加密流量识别分类方法

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