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

一种基于孪生神经网络的加密流量分类方法

2022-04-27 02:22:03 来源:中国专利 TAG:


1.本发明属于网络加密流量分类技术领域,具体涉及一种基于孪生神经网络的加密流量分类方法。


背景技术:

2.随着互联网的快速发展,网络应用、协议层出不穷,使得网络流量种类变得复杂和繁多,对网络流量管理工作造成了一定障碍。同时,数据泄露、网络渗透、身份盗窃、勒索软件事件频繁发生,各国不断颁布新的关于网络安全的规定和规范,用户对安全和隐私的需要也日渐迫切,网络流量整体呈现出向加密化发展的趋势。网络流量识别是指根据特定目标,通过观察网络流量的特征,将网络流量分类为不同的集合,是网络行为分析、网络规划与建设、网络异常检测、网络流量模型研究的重点。近年来,由于加密网络流量的急剧增加,加密流量识别问题引起了研究人员的广泛关注。
3.目前,已对封闭环境中的加密流量识别进行了充分研究。但是,对于开放世界环境中的应用,还有更多的实际问题需要考虑,包括未知流量发现和模型效率挑战。
4.为了便于部署到实际应用中,加密流量识别模型需要发现在训练阶段未涉及到的未知流量类别。然而,大多数现有模型都是基于封闭世界假设,这意味着假设训练集已经包含模型部署环境中的所有流量类别。可见,这样的假设在许多实际应用中是不成立的。因此,用封闭集训练的分类器很容易将样本从未知类错误地分类到训练集中的某个已知类。为了解决这个问题,研究人员尝试开发支持已知类样本分类和未知类样本发现的模型。2017年chen等人(y.chen,z.li,j.shi,g.gou,c.liu,and g.xiong,“not afraid of the unseen:a siamese network based scheme for unknown traffic discovery,”in ieee symposium on computers and communications,iscc 2020,rennes,france,july 7-10,2020.ieee,2020,pp.1

7)提出了一种名为seen的未知流量发现模型,首次将孪生网络应用于加密流量识别区域。seen可以将已知流量分类为正确的类别并区分未知流量。但是,seen使用的流量特征比较粗糙,并且seen的网络结构比较复杂,限制了它的实际应用。
5.许多分类精度较高的加密流量识别模型都会使用复杂的神经网络结构,有些还会使用并行度较低的模型,例如lstm(kim,tae-young and s.cho.“web traffic anomaly detection using c-lstm neural networks.”expert syst.appl.106(2018):66-76)。这些模型具有很强的特征提取能力,但需要大量的训练数据。而且这些模型的效率不够高,模型更新复杂,几乎无法应对复杂多变的网络环境。


技术实现要素:

6.本发明提供了一种基于孪生神经网络的加密流量分类方法,用以解决由于现有技术中模型结构复杂造成的无法适应复杂多变的网络环境的问题。
7.为解决上述技术问题,本发明所包括的技术方案以及技术方案对应的有益效果如下:
8.本发明提供了一种基于孪生神经网络的加密流量分类方法,包括如下步骤:
9.1)获取待分类网络流数据,提取待分类网络流数据中数据包的包特征,并进行特征级联,得到包特征向量;
10.2)将包特征向量输入至训练好的特征处理网络模型中,得到流向量;
11.所述特征处理网络模型包括k个结构相同的注意力模块、1个致密层和1个全连接层;
12.所述注意力模块用于对提取的包特征进行深度特征挖掘,第i个注意力模块的输出作为第i 1个注意力模块的输入,1<i<k,每个注意力模块均包括依次连接的多头注意力机制单元、第一累加及标准化处理单元、1维cnn单元、第二累加及标准化处理单元,第k个注意力模块的输出作为致密层的输入;
13.所述致密层用于对第k个注意力模块的输出进行扁平化处理以得到流向量;
14.所述全连接层用于对流向量进行特征压缩得到输出向量;
15.3)对比待分类网络流数据的输出向量与各种已知类别网络流数据的输出向量,以计算得到待分类网络流数据分别和各种已知类别之间的距离,从而确定待分类网络流数据是否为未知类网络流数据、或者是否属于某种已知类别。
16.上述技术方案的有益效果为:本发明所使用的特征处理网络模型仅包括k个结构相同的注意力模块、1个致密层和1个全连接层,便可实现对提取的包特征向量的深度特征挖掘、扁平化处理、特征压缩,从而得到待分类网络流数据的输出向量,进而将其与各种已知类别网络流数据的输出向量进行比较,便可确定待分类网络流数据是否为未知类网络流数据、或者是否属于某种已知类别。本发明所使用的特征处理网络模型结构简单,采用了多头注意力机制捕捉数据包之间的关系并提升并行化程度,使用简单的1维cnn做进一步的特征抽取与融合,并且重复使用部分网络结构以降低参数量,从而实现简单高效的未知流量发现以及分类。
17.进一步地,步骤2)中,所述第一累加及标准化处理单元包括resnet和层标准化,所述resnet对数据包的作用表现为:
[0018][0019]
式中,为转换矩阵;relu为激活函数;为多头注意力机制单元的输出;为resnet的输出;pk为包特征向量。
[0020]
进一步地,步骤2)中,所述1维cnn单元的卷积核大小为270,通道数为270。
[0021]
进一步地,为了得到轻量化的特征处理网络模型,k=2。
[0022]
进一步地,为了挑选出有价值的关键字段信息以调高分类准确性,步骤1)中,所述包特征包括位置信息、时间戳、方向、tcp/ip头部关键标志位、以及载荷信息中的至少一种;所述位置信息为数据包在流数据中的序列号;所述时间戳为数据包中的到达时间信息;所述方向为双向流中数据包的方向;所述tcp/tp头部关键标志位为对流量分类有帮助的tcp/tp头部的标志位,包括全长、标志和分片偏移、生存时间、push数据标志、紧急指标有效标志、序列号、紧急指针、窗口大小中的至少一个;所述载荷信息为数据包的有效载荷信息。
[0023]
进一步地,步骤1)中,仅提取待分类网络流数据中三次握手数据包后的前三个数据包的包特征。
[0024]
进一步地,为了准确计算得到待分类网络流数据和已知类别之间的距离,步骤3)中,待分类网络流数据和已知类别之间的距离为待分类网络流数据分别和属于所述已知类别的若干网络流数据的距离的平均值。
[0025]
进一步地,步骤3)中,待分类网络流数据属于某种已知类别的条件为:待分类网络流数据和某种或者某几种已知类别之间的距离小于预定阈值;相应的,将待分类网络流数据归属于距离最小的已知类别;
[0026]
待分类网络流数据为未知类网络流数据的条件为:待分类网络流数据和所有已知类别之间的距离均不小于预定阈值。
[0027]
进一步地,选取的若干网络流数据的数量为10。
[0028]
进一步地,待分类网络流数据和某一网络流数据的距离为待分类网络流数据的输出向量和某一网络流数据的输出向量的欧几里得距离。
附图说明
[0029]
图1是本发明的基于孪生神经网络的加密流量分类方法的流程图;
[0030]
图2是本发明的特征处理网络模型的结构图;
[0031]
图3-1是在ustc-tfc2016数据集上采用不同方法的pr指标对比图;
[0032]
图3-2是在ustc-tfc2016数据集上采用不同方法的acc指标对比图;
[0033]
图3-3是在ustc-tfc2016数据集上采用不同方法的fdr指标对比图;
[0034]
图3-4是在ustc-tfc2016数据集上采用不同方法的tdr指标对比图;
[0035]
图4-1是在iscxvpn2016数据集上采用不同方法的pr指标对比图;
[0036]
图4-2是在iscxvpn2016数据集上采用不同方法的acc指标对比图;
[0037]
图4-3是在iscxvpn2016数据集上采用不同方法的fdr指标对比图;
[0038]
图4-4是在iscxvpn2016数据集上采用不同方法的tdr指标对比图。
具体实施方式
[0039]
下面结合附图和实施例,对本发明的一种基于孪生神经网络的加密流量分类方法进行详细说明。
[0040]
方法实施例:
[0041]
本发明的一种基于孪生神经网络的加密流量分类方法实施例,其流程如图1所示,过程如下:
[0042]
步骤一,对pcap文件按照五元组进行组流后,对每条待分类网络流数据,基于所设计的数据包特征,仅选取三次握手数据包后的前三个数据包进行包特征提取,作为流数据的信息。
[0043]
其中,提取的包特征为网络流数据包的有效特征,包括每个数据包中的位置、时间戳、方向、tcp/ip头部关键标志位、载荷信息。位置信息(1维)即数据包在流中的序列号(0,1,2,
……
);时间戳(1维)即数据包中的到达时间信息;方向(2维)指的是双向流中数据包的方向,用[0,1]或[1,0]表示;tcp/ip头部关键标志位(9维)指的是精心选出的对流量分类有帮助的tcp/ip头部的标志位,包括ip_len(全长)、ip_off(标志和分片偏移)、ip_ttl(生存时间)、psh(push数据标志)、urg(紧急指针有效标志)、th_seq(序列号)、th_urp(紧急指针)
和th_win(窗口大小);载荷信息(77维)即数据包的有效载荷信息,截取其中的前77字节,如果不足77字节则补0。也即,一个数据包提取的包特征为90维。按照这种方法,一条网络流数据中抽取出3个90维的包特征向量。
[0044]
步骤二,根据所定义的特征嵌入规则,即特征拼接,对提取的包特征进行特征嵌入(级联),得到包特征向量。
[0045]
步骤三,利用训练好的特征处理网络模型,对包特征向量进行深度特征挖掘、扁平化处理、特征压缩,以最终得到流向量。
[0046]
特征处理网络模型包括2个结构相同但参数不同的注意力模块、1个致密层和1个全连接层,其结构如图2所示,图2中未画出全连接层。
[0047]
1)注意力模块用于对提取的包特征向量进行深度特征挖掘,第2个注意力模块的输出作为第1个注意力模块的输入,每个注意力模块均包括依次连接的多头注意力机制单元(multi-head attention)、第一累加及标准化处理单元(add&norm)、1维cnn单元(1d conv)、第二累加及标准化处理单元(add&norm),且第2个注意力模块的输出作为致密层的输入。下面具体介绍这几部分。
[0048]

多头注意力机制单元(multi-head attention)。多头注意力机制是从多个包特征子空间输入中联合抽取深层次的信息。以数据包pk为例解释如何传递和组织信息以生成具有深层次特征的新的包特征向量。注意力头数量记为h,则注意力头序号h∈{1,

,h}。以σh(
·
,
·
)标记两个数据包之间的互动关系,数据包pk与数据包p
l
之间的注意力权重记为则:
[0049][0050]
式中,σh(
·
,
·
)可以是内积也可以是一个神经网络,本实施例中选用内积,可以表示为:
[0051][0052]
其中,qh和kh为转换矩阵,将包特征向量从原有空间映射到新空间因此注意力头h对数据包pk的表示为:
[0053][0054]
因此在新空间中的包特征向量可以通过级联所有注意力头的包表示得到:
[0055][0056]
总的来说,多头注意力机制采用加权求和的思想更新所有数据包的表示。对于每个数据包,权重是根据它与所有其他数据包的并行关联生成的,从而导致参数更少,运行时间更短。此外,将数据包投影到不同的子空间中以捕获多视图特征关联。由于所有头的计算也是并行化的,因此有利于加速模型。
[0057]

第一累加及标准化单元(add&norm)。本实施例中采用resnet和层标准化(layer normalization)来防止网络退化,提升训练速度。
[0058]
本实施例中,resnet对数据包的作用可以表示为:
[0059][0060]
式中,为转换矩阵,设置转换矩阵w
res
的目的是用来调整和pk的维度一致;relu为激活函数。
[0061]
随后的层标准化技术可以对中间层的分布进行归一化,使梯度更平滑,泛化更好。
[0062]

1维cnn单元(1d conv)。1维cnn能够以较小的参数量进行仅一部分隐藏模式挖掘。本实施例中,使用的1维cnn卷积核的大小为d=270,通道数r=270。而1维cnn的输出会作为第二累加及标准化单元的输入。
[0063]

第二累加及标准化处理单元(add&norm)。其结构可参考第一累加及标准化单元(add&norm)。第二累加及标准化单元(add&norm)依然采用resnet和层标准化(layer normalization)来防止网络退化,提升训练速度。记1维cnn单元的输出为则resnet对数据包的作用可以表示为:
[0064][0065]
式中,w
res
为转换矩阵,设置转换矩阵w
res
的目的是用来调整和的维度一致;,relu为激活函数。
[0066]
随后使用层标准化技术使梯度更平滑,泛化更好。
[0067]
2)致密层(dense layer)用于对注意力模块的输出进行扁平化处理得到流向量。记注意力模块的输出为相应级联得到的流向量记为即:
[0068][0069]
3)全连接层用于对流向量进行特征压缩得到输出向量。记输出向量为f,则:
[0070][0071]
其中,b为偏置项,一般为数字。
[0072]
构建好上述特征处理网络模型,便可利用历史数据对该特征处理网络模型进行训练,以得到训练好的特征处理网络模型。进而将待分类网络流数据的包特征向量输入至该训练好的特征处理网络模型中,便可得到待分类网络流数据的输出向量。
[0073]
步骤四,对于某一种已知类别,挑选若干个(例如为k个,且k=10)已确定属于该已知类别的网络流数据,按照同步骤一至步骤三相同的方式进行处理,得到属于该已知类别的这k个分类网络流数据的输出向量。将待分类网络流数据的输出向量分别与属于该已知类别的这k个分类网络流数据的输出向量进行对比,得到待分类网络流数据与属于该已知类别的这k个网络流数据之间的距离,并将与每一个网络流数据之间的距离的平均值作为待分类网络流数据与该已知类别之间的距离。按照步骤四的方式,可以计算得到待分类网络流数据与每一种已知类别之间的距离。
[0074]
其中,距离计算公式如下:
[0075]
[0076][0077]
流数据样本与已知类别之间的距离定义为式(9),流数据与流数据之间的距离定义为式(10)式。式(9)中,表示流数据f
*
与已知类别之间的距离;d(f
*
,fj)表示流数据f
*
与流数据fj之间的距离;φ(
·
)表示样本的真实标签。式(10)中,d(fi,fj)表示流数据fi与流数据fj之间的距离;xi和xj分别为流数据fi和流数据fj输入到特征处理网络模型中的包特征向量,f
l
(x;θ)表示特征处理网络模型的作用;vi和vj表示特征处理网络模型的输出,即输出的输出向量;||v
i-vj||表示求取vi和vj的欧几里得距离,即为流数据fi与流数据fj之间的距离,如(10)所示;v
iz
表示输出向量vi中的元素,v
jz
表示输出向量vj中的元素。
[0078]
步骤五,对待分类网络流数据与每一种已知类别之间的距离进行比较判断:
[0079]
如果待分类网络流数据与每一种已知类别之间的距离均不小于预定阈值t(例如t=1.2),则判定待分类网络流数据为未知类别的网络流数据;
[0080]
如果待分类网络流数据与某一种或者某几种已知类别之间的距离小于预定阈值t,则说明待分类网络流数据为已知类别的网络流数据,并将其归属于距离最小的已知类别。
[0081]
至此,便可实现网络流量分类以及位置流量发现。
[0082]
为了验证本发明方法(以下称为lightseen)的有效性,在两个广泛使用的公共交通数据集上测试了的性能,分别为ustc-tfc2016和iscxvpn2016。如表1所示,ustc-tfc2016包含20类流量,其中一半是恶意软件流量类;iscxvpn2016数据集包括7类常规加密流量和7类通过vpn加密隧道的流量,此次使用其中的12类进行实验。已知集合和未知集合的划分策略为:一些类被手动设置为未知类,包括来自ustc-tfc2016的3个恶意软件类和3个正常类流量,以及2个vpn类和2个非iscxvpn2016中的vpn类。所采用的评价标准包括:纯度率(pr),精度(acc),误检率(fdr)和正检率(tdr)。
[0083]
表1实验数据集包含类别及样本数量
[0084][0085]
为了观察本发明在不同情况下的有效性,在测试过程中将未知类的百分比从10%调整为50%,并比较不同模型的性能。图3-1至3-4、以及图4-1至图4-4分别显示了本发明lightseen、基线方法seen和一类支持向量机方法在ustc-tfc2016和iscxvpn2016数据集上的结果比较。图3-1至3-4、以及图4-1至图4-4中三个柱体从左往右依次为本发明方法、seen、一类支持向量机的结果。可以看出,三种方法之间的比较优势在两个数据集上的表现是相似的。
[0086]
具体来说,首先,本发明和基线方法的纯度率(pr)均高于一类支持向量机,且大多
在0.9以上。本发明的pr虽然比基线方法略低,但是非常接近,而且在未知类别比例增加的条件下两者都是较稳定的。准确率(acc)结果的情况和pr结果几乎一样;也就是说,基线方法在acc上的结果略好于本发明,并且都优于一类支持向量机方法。至于误检率(fdr),基线方法的最低,本发明的稍高,一类支持向量机方法的最高。由于较低的fdr意味着更好的性能,因此基线方法仍然是最好的。但是,对于真实检测率(tdr),本发明高于基线方法和一类支持向量机方法。请注意,在入侵检测等一些现实应用中,tdr非常重要,这意味着本发明是这些情况下的最佳选择。总之,本发明在评估指标上的有效性总体上与基线方法处于同一水平,有时甚至更好,这意味着其有效性得到了验证。
[0087]
表2为本发明lightseen与基线方法seen的效率对比表格。本发明的参数数量约为648000,是基线方法seen的0.51%。此外,本发明的平均训练时间为37.4ms,是基线方法的37.9%。而且它的平均测试时间也明显缩短了。通过效率分析结果,可以得出结论,本发明大幅降低了模型参数的规模和训练时间成本,其高效性已经得到验证。
[0088]
表2本发明与基线方法的效率对比
[0089][0090][0091]
综上,本发明方法具有如下特点:
[0092]

本发明根据双向网络流中单个数据包的承载信息,挑选其中对于流量分析识别有价值的关键字段,作为包特征信息;同时,只选取握手环节后的前3个数据包作为特征处理网络模型的输入,大大降低了模型需要的信息量,有利于达到利用最少的输入信息和相对简单的网络模型实现加密流量识别的目的。
[0093]

对于待分类网络流数据的输出向量和已知类别网络流数据的输出向量的计算方式相同,相当于使用了孪生网络结构进行流量分类及未知流量识别;且为了降低特征处理网络模型的复杂度,实现轻量化识别,采用了多头注意力机制捕捉数据包之间的关系并提升并行化程度;同时,使用简单的1维cnn做进一步的特征抽取与融合,并且重复使用部分网络结构以降低参数量。
[0094]

通过本发明所设计的特征处理网络模型,可以实现简单高效的未知流量发现。经过实验对比发现,本发明方法的有效性与现有最好方法seen持平,而本发明的参数量是seen的0.51%,平均训练时间是seen的37.9%,因此能以较少的成本、较高的精度实现开放世界中的已知类别流量分类与未知类别流量识别。
[0095]
本实施例中,为了实现特征处理网络模型的轻量化,结构相同但参数不同的注意力模块的数量设置为2。作为其他实施方式,还可设置为1或3,同样可以达到轻量化的目的,设置过多,会与轻量化目标相悖。需说明的是,当有3个时,3个注意力模块同样是结构相同但参数不同。
[0096]
本实施例中,为了保证分类准确性,提取的包特征包括位置信息、时间戳、方向、tcp/ip头部关键标志位、以及载荷信息共五种包特征。作为其他实施方式,可仅提取这五种
包特征中的四种、三种或者两种,以提高最终分类的效率。
再多了解一些

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

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

相关文献