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

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

【技术实现步骤摘要】
一种基于分类器及网络结构的加密流量分类方法


[0001]本专利技术涉及加密流量识别领域,具体涉及一种基于分类器及网络结构的加密流量分类方法。

技术介绍

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

技术实现思路

[0005]本专利技术针对现有技术中的不足,提供一种基于分类器及网络结构的加密流量分类方法,其在类别不平衡场景下对网络关口中进出的加密流量可以进行有效识别分类。
[0006]为实现上述目的,本专利技术采用以下技术方案:本专利技术一种基于分类器及网络结构的加密流量分类方法,所述代价敏感CNN网络包括CNN网络和代价敏感层,所述CNN网络包含普通卷积层、池化层和全连接层,当所述CNN网络发生错误分类时,所述代价敏感层被激活,为少数类的错误分类分配高代价,为多数类
的错误分类分配低代价,形成代价敏感CNN网络并构建成代价敏感CNN网络流量分类器;所述代价敏感CNN网络流量分类器呈树状结构,将数据集中的大分类划分为小分类,再为每个划分后的小分类设置一个特定的分类器进行流量的识别;所述代价敏感CNN网络包括网络流量收集模块、流量数据预处理模块、流量解析模块和分类器训练及优化模块;所述加密流量分类方法包括以下步骤:S1、通过所述网络流量收集模块进行网络流量收集:在网络关口中设置一个网络流量收集器用于捕获网络关口进出的网络数据流量,将捕获的网络数据流量按照会话的粒度进行分流,得到会话流;S2、通过所述流量数据预处理模块进行流量数据预处理:将所述会话流按照一定的长度进行截断填充,并进行归一化处理,抽取部分流量数据用于最后的模型测试及调优;S3、通过所述流量解析模块进行流量聚合:利用余弦计算不同流量类别的相似性,将相似的流量类别聚合到一块,将所有流量样本分为若干部分,被聚合到一块的流量被称为子数据集,所述子数据集为训练所述代价敏感CNN网络流量分类器模型中相应节点的分类器,所述代价敏感CNN网络流量分类器通过代价敏感矩阵对少数类的错误分类赋予更高的代价,在每一次对少数类的错误分类都会根据代价敏感矩阵重新计算损失值并对模型的权重进行更新,使得之后模型在少数类进行分类时更加慎重;S4、再通过所述流量解析模块进行计算代价矩阵:由所述代价敏感CNN网络流量分类器模型通过各类别样本数量和总样本数量计算各类别占比,依据各类别在子数据集中的占比计算获得各个子数据集的代价矩阵,并在代价敏感CNN网络流量分类器的训练过程中将该代价矩阵加入;所述代价矩阵根据各流量类别在数据集中的占比制定,然后应用于代价敏感CNN网络最后一层全连接层的输出,以根据各种代价改变网络的权重;S5、通过所述分类器训练及优化模块进行分类器的训练:将各部分的流量数据输入到基于树状结构的代价敏感CNN网络流量分类器中,对分类器进行训练;S6、通过所述分类器训练及优化模块进行分类器优化:利用S2中抽取的测试数据测试分类器性能,并对获得的指标结果分析,选择最优参数,优化分类器。
[0007]进一步地,步骤S1包括:定义TCP流:以三次握手建立连接时的SYN标志位为1的SYN包开始、以FIN标志位或以RST标志位为1的FIN或者RST包结束的TCP双向流。
[0008]进一步地,步骤S1包括:定义UDP流为以第一个数据包到达为开始,如果两个数据包到达的时间间隔超过一分钟,则认为第一个数据包的数据流结束,第二个数据包的新数据流开始。
[0009]进一步地,步骤S2具体包括以下步骤:S21、依次读取所捕获的网络流量经过流量预处理后得到的会话流,判断每个会话的长度是否大于784个字节;S22、若会话长度超过784个字节,则执行截断,如果会话长度小于784个字节,则执行零填充;S23、对流量数据进行归一化处理;S24、按照一定比例抽取部分流量数据用于后续分类器的测试以及调优。
[0010]进一步地,步骤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个相似的流量类别样本放入同一数据集,作为该节点的训练数据,并为每个节点生成相应数据集,从而获得若干子数据集。
[0011]进一步地,步骤S4具体包括以下步骤:S41、子数据集的流量类别数量为M,则生成一个M*M的代价矩阵r;S42、将矩阵的对角线元素设置为0;S43、为i类流量样本数量,为j类流量样本数量,若,则,否则。
[0012]进一步地,步骤S5中对分类器的训练步骤包括如下:S51、在所述CNN网络中加入代价敏感层,激活所述代价敏感层,形成代价敏感CNN网络流量本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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所述的加密流量分类方法,其特征在于,步骤...

【专利技术属性】
技术研发人员:翟江涛林鹏许历隆崔永富
申请(专利权)人:南京信息工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1