一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

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

2021-12-04 02:54:00 来源:中国专利 TAG:


1.本发明涉及加密流量识别领域,具体涉及一种基于分类器及网络结构的加密流量分类方法。


背景技术:

2.互联网技术的高速发展,在为人们生活带来便利的同时,也会被一些犯罪分子用于不法传输,这对网络空间的稳定性及安全性产生了极大的影响。使得网络安全问题越来越受到人们的关注,因此,全球加密网络流量不断飙升。虽然流量经过加密后再传输,使得传输数据的安全性得到保障,但也为流量的审计增加了难度。如果没有解密技术,it团队将无法查看流量内包含的信息。这意味着加密能够像隐藏其他信息一样隐藏恶意流量,从而带来一系列蠕虫、木马和病毒。因此识别加密流量对于维护网络的安全运行具有十分重要的意义。
3.网络安全的威胁越来越受到人们的关注,针对其的识别受到研究者的青睐。加密流量的识别目前方法主要有4类:基于端口过滤、深度包检查(dpi)、统计方法和行为方法。然而,动态端口的出现使得基于端口的方法不再使用。基于dpi的方法因无法解密加密流量也变得无效。基于统计的方法和基于行为的方法是指,使用统计特征或行为特征的机器学习方法处理加密流量。然而,在利用机器学习进行流量识别时,需要设计一组反映网络流量的特征集,且该特征集直接影响分类性能,这需要耗费大量的成本。深度学习则能够通过训练自动提取和选择数据特征,应用于网络流量分类可有效解决特征集设计的问题,作为一种端到端方法,深度学习能够学习原始数据和目标输出之间的关系,有利于获得全局问题的最优解。然而,大多数基于深度学习的流量分类识别框架只使用单个分类器,这影响了大分类问题上的性能。
4.目前大部分网络流量分类研究都没有考虑网络流量不平衡的问题,研究基础都是基于各种网络应用流都是均匀分布在网络中,即网络数据流的应用类别是平衡的。然而,在现实的网络关口中进出的网络流量的类别分布很不均匀,比如通过加密协议承载的音、视频流远大于即时通信、纯网页加密流。网络数据越来越呈现出数据量大、维度高且不平衡的态势。因此实现对网络关口中少数类别的网络流量的高精度分类识别具有非常重要的现实意义。


技术实现要素:

5.本发明针对现有技术中的不足,提供一种基于分类器及网络结构的加密流量分类方法,其在类别不平衡场景下对网络关口中进出的加密流量可以进行有效识别分类。
6.为实现上述目的,本发明采用以下技术方案:本发明一种基于分类器及网络结构的加密流量分类方法,所述代价敏感cnn网络包括cnn网络和代价敏感层,所述cnn网络包含普通卷积层、池化层和全连接层,当所述cnn网络发生错误分类时,所述代价敏感层被激活,为少数类的错误分类分配高代价,为多数类
的错误分类分配低代价,形成代价敏感cnn网络并构建成代价敏感cnn网络流量分类器;所述代价敏感cnn网络流量分类器呈树状结构,将数据集中的大分类划分为小分类,再为每个划分后的小分类设置一个特定的分类器进行流量的识别;所述代价敏感cnn网络包括网络流量收集模块、流量数据预处理模块、流量解析模块和分类器训练及优化模块;所述加密流量分类方法包括以下步骤:s1、通过所述网络流量收集模块进行网络流量收集:在网络关口中设置一个网络流量收集器用于捕获网络关口进出的网络数据流量,将捕获的网络数据流量按照会话的粒度进行分流,得到会话流;s2、通过所述流量数据预处理模块进行流量数据预处理:将所述会话流按照一定的长度进行截断填充,并进行归一化处理,抽取部分流量数据用于最后的模型测试及调优;s3、通过所述流量解析模块进行流量聚合:利用余弦计算不同流量类别的相似性,将相似的流量类别聚合到一块,将所有流量样本分为若干部分,被聚合到一块的流量被称为子数据集,所述子数据集为训练所述代价敏感cnn网络流量分类器模型中相应节点的分类器,所述代价敏感cnn网络流量分类器通过代价敏感矩阵对少数类的错误分类赋予更高的代价,在每一次对少数类的错误分类都会根据代价敏感矩阵重新计算损失值并对模型的权重进行更新,使得之后模型在少数类进行分类时更加慎重;s4、再通过所述流量解析模块进行计算代价矩阵:由所述代价敏感cnn网络流量分类器模型通过各类别样本数量和总样本数量计算各类别占比,依据各类别在子数据集中的占比计算获得各个子数据集的代价矩阵,并在代价敏感cnn网络流量分类器的训练过程中将该代价矩阵加入;所述代价矩阵根据各流量类别在数据集中的占比制定,然后应用于代价敏感cnn网络最后一层全连接层的输出,以根据各种代价改变网络的权重;s5、通过所述分类器训练及优化模块进行分类器的训练:将各部分的流量数据输入到基于树状结构的代价敏感cnn网络流量分类器中,对分类器进行训练;s6、通过所述分类器训练及优化模块进行分类器优化:利用s2中抽取的测试数据测试分类器性能,并对获得的指标结果分析,选择最优参数,优化分类器。
7.进一步地,步骤s1包括:定义tcp流:以三次握手建立连接时的syn标志位为1的syn包开始、以fin标志位或以rst标志位为1的fin或者rst包结束的tcp双向流。
8.进一步地,步骤s1包括:定义udp流为以第一个数据包到达为开始,如果两个数据包到达的时间间隔超过一分钟,则认为第一个数据包的数据流结束,第二个数据包的新数据流开始。
9.进一步地,步骤s2具体包括以下步骤:s21、依次读取所捕获的网络流量经过流量预处理后得到的会话流,判断每个会话的长度是否大于784个字节;s22、若会话长度超过784个字节,则执行截断,如果会话长度小于784个字节,则执行零填充;s23、对流量数据进行归一化处理;s24、按照一定比例抽取部分流量数据用于后续分类器的测试以及调优。
10.进一步地,步骤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个相似的流量类别样本放入同一数据集,作为该节点的训练数据,并为每个节点生成相应数据集,从而获得若干子数据集。
11.进一步地,步骤s4具体包括以下步骤:s41、子数据集的流量类别数量为m,则生成一个m*m的代价矩阵r;s42、将矩阵的对角线元素设置为0;s43、为i类流量样本数量,为j类流量样本数量,若,则,否则。
12.进一步地,步骤s5中对分类器的训练步骤包括如下:s51、在所述cnn网络中加入代价敏感层,激活所述代价敏感层,形成代价敏感cnn网络流量分类器;s52、用子数据集训练代价敏感cnn网络流量分类器,并将各代价敏感cnn网络流量分类器按节点顺序,排成树状结构,形成一个基于树状结构的代价敏感cnn网络流量分类器;s53、用测试数据测试模型分类效果,调节模型参数;s54、重复步骤s52和步骤s53,直至得到最优的基于树状结构的代价敏感cnn网络流量分类器。
13.进一步地,所述代价敏感层被激活过程主要分为以下3步:指定实际和预测的流量类别;利用代价矩阵r来确定误分类代价;将指定的代价应用于实际的类别的输出和预测的类别的输出,形成实际的类别和预测的类别的新输出:其中,分别指预测的类别和实际的类别的输出,分别分别表示预测的类别和实际的类别的新输出;然后改变交叉熵函数,并引入新的代价函数;新的代价函数获得和值作为输入,并返回每个类的损失值,在修改了实际和预测类别的输出之后,再次利用softmax函数
使用如下方程计算预测和实际类别的新损失值:其中,为预测类别的新输出的概率值,为实际类别的新输出的概率值;最后将新的损失值应用到网络训练中。
14.有益效果本发明使用基于树状结构的代价敏感cnn网络流量分类器,它利用树结构将全部流量类别划分为若干部分,每个部分包含多个类别,再为每个划分后的小分类设置一个代价敏感cnn网络流量分类器。通过多个分类器的协同工作,实现了各分类器在分类性能上的互补,解决了单个分类器的问题。由于多个分类器都是端到端框架,因此可以在不提取特征的情况下自动学习输入数据和输出数据之间的非线性关系。采用代价敏感cnn网络流量分类器,根据每个类别的占比生成代价矩阵,该矩阵用于在训练过程中为每个错误分类分配代价,少数类样本赋予高代价,多数类样本赋予低代价,使得网络对少数类样本更敏感,在训练过程中利用这些代价不仅解决了由于样本类别不平衡造成模型欠拟合或过拟合的问题,还提高了最终分类的准确性。本发明利用流量类别的分布来指定代价,通过对各种错误分类施加代价来训练对少数类更敏感的网络,有效解决了类别不平衡的问题。本发明识别率高,误报率低,适用于在网络流量类不平衡场景下对网络关口中监测的各类别网络流量实现高精度分类。
附图说明
15.图1为本发明代价敏感cnn网络的加密流量识别模型的示意图;图2为图1的加密流量分类方法的流程图;图3为图2的加密流量分类方法的具体展示;图4为本发明的代价敏感cnn网络模型示意图;图5为本发明6分类时基于树状结构的代价敏感cnn网络流量分类模型;图6为本发明与基于树状结构的传统cnn网络流量分类模型分类结果对比图;图7为本发明与对比实验指标精确率的结果对比图;图8为本发明与对比实验指标召回率的结果对比图;图9为本发明与对比实验指标f1

measure的结果对比图。
具体实施方式
16.现在结合附图对本发明作进一步详细的说明。
17.需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
18.本发明的代价敏感cnn网络包括cnn网络和代价敏感层,所述cnn网络包含普通卷
积层、池化层和全连接层,当所述cnn网络发生错误分类时,所述代价敏感层被激活,其为少数类的错误分类分配高代价,为多数类的错误分类分配低代价,形成代价敏感cnn网络并构建成代价敏感cnn网络流量分类器。所述代价敏感cnn网络流量分类器呈树状结构,将数据集中的大分类划分为小分类,再为每个划分后的小分类设置一个特定的分类器进行流量的识别。所述代价敏感cnn网络包括网络流量收集模块、流量数据预处理模块、流量解析模块和分类器训练及优化模块,如图1所示。
19.本发明提供了一种基于分类器及网络结构的加密流量分类方法,针对样本数据集的类别不平衡性和特征提取困难及单一分类器的问题,通过代价敏感cnn网络流量分类器,根据每个类别的占比生成代价矩阵,为少数类样本赋予高代价,多数类样本赋予低代价,使得网络对少数类样本更敏感,在训练过程中解决了数据集不平衡的问题,它利用树结构将全部流量类别划分为若干部分,每个部分包含多个类别,再为每个划分后的小分类设置一个代价敏感cnn网络流量分类器,由于多个分类器都是端到端框架,因此可以在不提取特征的情况下自动学习输入数据和输出数据之间的非线性关系,采用多分类器还实现了在分类性能上的互补,最后进行识别评估。
20.所述代价敏感cnn网络包括网络流量收集模块、流量数据预处理模块、流量解析模块和分类器训练及优化模块。如图2所示,本发明基于分类器及网络结构的加密流量分类方法过程至少包括:网络流量收集、流量数据预处理、流量聚合、代价矩阵计算、分类器训练及优化几个步骤。
21.具体地,如图3所示,加密流量分类方法包括以下步骤:s1、通过网络流量收集模块进行网络流量收集:在网络关口中设置一个网络流量收集器用于捕获网络关口进出的网络数据流量,将捕获的网络数据流量按照会话的粒度进行分流,得到会话流。
22.本实施方案中采用vpn

nonvpn数据集中的流量代替网络关口捕获的流量对模型进行测试,对于原始数据集按照会话粒度进行流量数据的划分,得到会话流。其中对于tcp流,本发明实验判定条件是:定义tcp流为:以三次握手建立连接时的syn标志位为1的syn包开始、以fin标志位或以rst标志位为1的fin或者rst包结束的tcp双向流。对于udp流,由于udp协议设计特点不同于tcp协议有着显式的fin结束标志,本发明则以第一个数据包到达为开始,如果两个数据包到达的时间间隔超过一分钟,则认为第一个数据包的数据流结束,第二个数据包的新数据流开始。
23.s2、通过流量数据预处理模块进行流量数据预处理:读取s1中得到的会话流,按照一定的长度对会话流进行截断填充,并进行归一化处理,抽取部分流量数据作为测试集并调优。
24.流量数据预处理就是读取流量数据集中所有的会话流,截断会话流前784个字节,不够784个字节则填充0。为了防止物理硬件对分类的影响,需要去除数据包的数据链路层字节。由于udp头部比tcp头部少12字节,为了消除实验误差影响需要在udp头部填充0。为了得到最佳算法识别效果,需要对提取的数据包字节进行归一化处理。最后,按照一定比例抽取部分流量数据用于后续分类器的测试以及调优。
25.s3、通过流量解析模块进行流量聚合:利用余弦计算不同流量类别的相似性,将相似的流量类别聚合到同一数据集,获得若干子数据集,为后面形成树状分类器做准备。
26.流量聚合就是通过评估各流量类别之间的相似性,将流量类别划分为树状结构中的节点,再划分预处理后的数据集得到节点中分类器对应的数据集,这些数据集被称为子数据集,用于训练基于树状结构的代价敏感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个相似的流量类别样本放入同一数据集,为每个节点生成相应数据集,从而获得若干子数据集。
27.s4、再通过流量解析模块进行计算代价矩阵:由所述代价敏感cnn网络流量分类器模型通过各类别样本数量和总样本数量计算各类别占比,依据各类别在子数据集中的占比计算获得各个子数据集的代价矩阵,并在代价敏感cnn网络流量分类器的训练过程中将该代价矩阵加入。
28.计算代价矩阵就是根据各流量类别在数据集中的占比制定的,然后应用于代价敏感cnn网络最后一层全连接层的输出,以根据各种代价改变网络的权重。其目的在于将最大代价分配给少数类,而将较低的代价分配给其他类(多数类),使分类器对少数类样本更敏感,解决数据集类别不平衡的问题。若子数据集的流量类别数量为m,则生成一个m*m的代价矩阵r,矩阵的对角线称为效用向量,该向量表示正确的分类,并被设置为零。对于其他分类,所有成本都是非负的,即。其计算如下:若,则,否则,其中,为i类流量样本数量, 为j类流量样本数量。
29.s5、通过分类器训练及优化模块进行分类器的训练:将各子训练集输入到基于树状结构的代价敏感cnn网络流量分类器中,对分类器进行训练。
30.对分类器的训练步骤如下:首先在传统的cnn网络中加入代价敏感层,形成代价敏感cnn网络流量分类器,然后用各子数据集训练代价敏感cnn网络流量分类器,并将各代价敏感cnn网络流量分类器按节点顺序,排成树状结构,形成一个基于树状结构的代价敏感cnn网络流量分类器。由于采用多分类器,使得分类模型在分类性能上可以互补,并且多个分类器均采用端到端的框架,因此可以在不提取特征的情况下自动学习输入数据和输出数
据之间的非线性关系,最后,通过测试集数据流调试模型参数,得到最优的分类器模型并决策评估。其中代价敏感cnn网络如图2。
31.如图4所示,代价敏感cnn网络在传统网络中引入了代价敏感层,传统cnn网络只由卷积层、池化层和一个全连接层组成。当分类器正确分类时,其网络与传统的cnn网络相同,当分类器发生错误分类时,代价敏感层被激活,其为少数类的错误分类分配高代价,为多数类的错误分类分配低代价。代价敏感层被激活的过程主要分为以下3步:(3)指定实际和预测的流量类别;(4)利用代价矩阵来确定误分类代价;(5)将指定的代价应用于实际和预测类的输出。
32.其中,分别指预测的类别和实际的类别的输出,分别表示预测的类别和实际的类别的新输出:然后改变交叉熵函数,并引入新的代价函数。新函数获得和值作为输入,并返回每个类的损失值。在修改了实际和预测类别的输出之后,再次利用softmax函数使用如下方程计算预测和实际类别的新损失值:其中,为预测类别的新输出的概率值,为实际类别的新输出的概率值。
33.最后将新的损失值应用到网络训练中。总之,利用流量类别的分布来指定代价,通过对各种错误分类施加代价来训练对少数类更敏感的网络,有效解决了类别不平衡的问题。
34.指标结果分析就是对实验结果得到的指标结果进行分析,并选取合适的参数,优化算法,提高识别率。
35.s6、通过分类器训练及优化模块进行分类器优化:利用测试集测试分类器性能,并对获得的指标结果分析,选择最优参数,优化分类器。
36.如图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。
37.如图6所示,由于f1

measure是由精确率、召回率计算得到,因此,该评价指标具有
一定的代表性。采用该指标对本专利模型和基于树状结构的传统cnn网络流量分类模型进行对比评价。可以看出,本专利方法在6种流量类别上的分类效果均明显优于基于树状结构的传统cnn网络流量分类模型,最高提升了2.8%,最少也提升了1.4%。这是由于在训练模型时,类别不平衡的样本会导致算法重视少数类的差别造成过拟合或者因为少数类别样本太少学习能力不足造成欠拟合的现象,实验效果不佳,而本发明采用的代价敏感cnn网络流量分类器,会根据每个类别的占比生成代价矩阵,并将该代价应用于训练过程中,发生错误分类时,为少数类样本赋予高代价,多数类样本赋予低代价,使得网络对少数类样本更敏感,有效解决了类别不平衡的问题,因此获得了良好的实验效果。
38.如图7

9所示,为了测试并对比本发明方法加密流量分类性能,本发明选择深度学习中较典型的算法模型cnn进行对比实验。由实验结果图可以看出,由于cnn是较为基本的深度学习模型,其训练过程相对简单,实验平均的精确率、召回率和f1

measure仅有97.1%、96.5%和96.8%。本发明采用树结构将大分类化为两个小分类,再为每个划分后的小分类设置一个代价敏感cnn网络流量分类器,形成三个分类器,使得分类模型在分类性能上互补;由于多个分类器都是端到端的框架,所以可以自动提取特征并进行学习,模型平均的精确率、召回率和f1

measure达到了98.9%、99.0%和98.9%,本发明模型取得了良好的分类效果。
39.以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献