分布式场景下加密网络流量包特征提取方法

文档序号:32481035发布日期:2022-12-09 22:38阅读:60来源:国知局
特征提取模型f
θ
,以用于提取网络流量包的特征向量。
22.有益效果:
23.本发明所采用的方案,设计了一种分布式场景下的加密网络流量特征提取方法。该 方案提供了一种端到端的加密网络流量特征提取模式,通过输入原始网络流量包,经过 计算后,自动提取其中蕴含的特征信息,从而免除传统机器学习方案中需要手动进行特 征信息的设计、选择和提取。该方案采用了一维卷积神经网络和注意力机制等技术,大 幅度提升了所提取特征信息的代表能力。该方案提供了一种分布式场景下加密网络流量 特征提取模型的训练方案。该训练方案可以整合不同网络节点上收集的样本数据,提升 模型训练精度,进而在分布式场景中的不同网络节点间,实现模型级别的样本数据共享, 可以在一定程度上保障原始数据的安全。本发明可以作为子模块的形式,应用到新类型 加密流量包的检测、现有类型加密流量包分类、新类型加密流量包类别标注等许多不同 的场景中。
附图说明
24.图1特征提取模型结构示意图
25.图2(a)新类型流量样本的特征向量top-3元素的分布情况
26.图2(b)现有类型流量样本的特征向量top-3元素的分布情况
27.图3高置信度新类型流量包样本提取模型
28.图4增量模型参数的类别表达能力
29.图5(a)网络流量包的二维空间视图(特征向量第1大和第2大元素维度)
30.图5(b)网络流量包的二维空间视图(特征向量第1大和第3大元素维度)
31.图5(c)网络流量包的二维空间视图(特征向量第2大和第3大元素维度)
32.图6(a)第一层的bias参数的表达能力
33.图6(b)第一层的kernel参数的表达能力
34.图7(a)最后一层的bias参数的表达能力
35.图7(b)最后一层的kernel参数的表达能力
36.图8全局一致的类别标签分配
具体实施方式:
37.本发明的具体实现过程如下:
38.本发明研究了一个与现实场景较为相似的,分布式场景下加密网络流量包监测管理 问题。该问题场景中存在多个网络监测节点(简称“节点”),他们各自独立地对所管辖 区域的加密网络流量包进行监测和管理。各个网络监测节点已经积累了一些标注好的加 密网络流量包样本。每个节点上的已标注样本的数量和类型有限,无法独自完成复杂的 深度学习模型的训练。
39.各个节点新接收到的加密网络流量包中既有现有类型流量包,也有新类型流量包。 现有类型加密网络流量包(简称为“现有类型流量包”)是指某些该类型加密网络流量 包样本已经被分配了正确的类别标签。此类分配了标签的样本,称为已标注样本,或者 简称为标注样本。新类型加密网络流量包(简称为“新类型流量包”)是指还没有任何 该类型的加密网络流量包样本被分配类别标签。我们假定不同网络监测节点对同一类型 的加密
流量包样本都分配了相同的类别标签。
40.为了解决单一网络节点已标注网络流量包数量和类型有限的问题,各个不同节点, 将利用各自的已标注样本,协同进行模型训练。通过对多个节点的样本资源的整合,既 可以增加用于模型训练的已标注样本的数量,以避免出现过拟合问题,还可以使训练出 来的模型学习到不同网络区域的流量模式特征差异。
41.发明人针对所研究的问题,主要开展了如下三个方面的具体研究。
42.(1)分布式场景下加密网络流量包特征提取方法:该特征提取模型可以用于新类型 流量包检测、新类型流量包标注、现有类型流量包分类等其他方法中。
43.(2)分布式场景下新类型加密网络流量包检测方法:新接收到的网络流量中,现有 类型和新类型加密网络流量包共存。若我们直接对新接收到的网络流量进行分类,新类 型流量包将被错误地划分为某个现有类型,导致分类错误。因此,需要从不同节点新接 收到的网络流量中,检测分离出新类型加密网络流量包。
44.(3)分布式场景下新类型加密网络流量包的挖掘和利用方法:不同网络节点上检测 出来的新类型流量包中,包含了有价值的模式信息。我们将研究如何挖掘这些信息,并 用于对现有模型进行更新。
45.一、分布式场景下加密网络流量包特征提取方法
46.本小节介绍分布式场景下加密网络流量包特征提取方法。该方法可以用于新类型流 量检测、新类型流量标注、现有类型流量分类等其他方法中。该分布式场景下加密网络 流量包特征提取方法主要包括以下步骤:首先,设计特征提取模型。该模型用于直接将 原始加密流量包转换成特征向量。然后,设计分布式场景下特征提取模型的训练方法。 具体步骤如下:
47.(1)准备阶段:多个网络流量监测节点分别对各自负责的不同网络区域的网络流量 进行监测;各个节点分别独立地收集了一定数量的已经进行类别标注(分配类别标签) 的网络流量包样本(简称为“已标注样本”);
48.(2)特征提取模型的构建:网络流量包特征提取模型f
θ
可以表示成v=f
θ
(x),其 中x为加密网络流量包,v是通过模型提取的特征向量;该特征提取模型f
θ
至少包括一个 一维卷积(1d cnn)层和一个注意力(attention)层;attention层的输出经过变换后转 化成一组权值;该组权值用作一维卷积层不同通道的权值,用于改变一维卷积层原有输 出值;作为优化,该特征提取模型f
θ
还可以包括一维池化层、全连接层和激活层;图1 展示了特征提取模型中一维卷积层和attention层的结合方式。具体实现时,特征提取模 型中一般包括多个卷积层。计算机视觉领域比较常用的卷积层结构主要是二维卷积层和 三维卷积层,已有部分研究人员将二维卷积层和三维卷积层应用在加密流量分类场景。 然而,网络流量本质上是顺序数据,它是一维字节流,因此本特征提取模型将采用一维 卷积层、一维池化层作为卷积神经网络的基本组件。与此同时,特征提取模型中,还引 入了attention层。attention层使用某个卷积层的输出作为其输入,以捕获卷积层不同通 道的特征差异。attention层通过和softmax结合,将捕获到的差异信息转化成一组权值。 该组权值将用作卷积层不同通道的权值,用于改变卷积层原有输出值的权重,从而实现 为卷积层不同输出特征进行动态赋权。作为优化,该特征提取模型f
θ
还可以包括一维池 化层、全连接层和激活层;图1中“1d cnn”代表以一维卷积层为主要组件的人工神经 网络的子网络,图1中的“其他层”通常由一维卷积层、池化层、全连接层等组件构成。
49.特征提取模型中间层的层次深度和层次结构,需要根据训练样本数量、机器的性能 等因素综合决定。根据深度学习理论,一般情况下,在样本数量足够多的情况下,模型 结构越复杂,层次深度越多,模型的表达能力越强。特征提取模型输出层的神经元个数 与现有加密网络流量包类别数量保持同一个数量级,一般可以设置为等于或者略大于现 有类型数量。下面给出一个较为简单的特征提取模型实施实例。该实施实例适用于训练 样本数量有限的场景。该实施实例模型的输入为一维形式的加密网络流量包x。模型输 出为对应特征向量v。模型由7层组成。其中包括3个卷积层、两个池化层和两个全连接 层。attention层以旁路的形式,插入在第二个卷积层之后。attention层计算出的结果用 于对第二卷积层的输出特征进行动态赋权。第二卷积层的各个输出将分别与attention层 提供的权值组中对应权值相乘,从而得到加权后的输出。第二卷积层的加权后的输出将 继续输入后续模块进行处理。
50.为了对特征提取模型f
θ
进行训练,我们需要解决如下两个方面问题。其一,特征提 取模型的输入的是流量包样本,输出的是特征向量,然而,我们并没有关于最优的特征 向量的先验知识,无法对训练过程进行直接指导。其二,样本资源分布在多个独立的节 点之上,有必要构造一种协同训练机制。
51.理论上,特征提取器不应当改变流量包样本的类别归属关系。也就是说,同一类型 的流量包样本在特征空间中的位置应当是接近的。因此我们可以利用已标注样本的类别 标签,对特征提取器的训练过程和优化方向进行监督指导。为实现上述思路,我们在特 征向量v的基础上构造接口模型fe。
52.(3)接口模型的构建:接口模型fe由softmax和argmax两个模块嵌套构成;该接口 模型可以表示成y=fe(v)=argmax(softmax(v));
53.(4)优化方程的构建:优化方程可以表示成其中l是损失函数(loss function);
54.特征提取模型基于深度神经网络技术构造,需要大量的已标注训练样本作为支撑。 为了增加用于模型训练的样本数量,提升模型的精度,我们构造模型的分布式训练方案, 以实现各个节点积累的样本资源的模型级别共享。
55.(5)模型的分布式训练:多个网络流量监测节点(简称为“节点”),利用第(1) 步所述的各自收集的已标注网络流量包样本,采用协同合作的方式,按照第(4)步给 出的优化方程,对第(2)步的特征提取模型f
θ
进行训练,直到模型收敛或者达到一个 预先设定的误差阈值。模型的分布式训练的具体步骤如下:
56.(5.1)模型初始化:选定一个节点作为汇聚节点,汇聚节点首先对特征提取模型f
θ 的参数进行随机初始化,初始化参数为θ0,然后将θ0发送到其他节点;
57.(5.2)本地模型训练:节点i利用接收到的θ0对f
θ
进行初始化,并构造本地优化方 程节点i利用本地积累的已经标注好的加密网络 流量数据集,基于上述优化方程对模型f
θ
进行优化,得到优化后的模型参数节点i 向汇聚节点反馈优化结果
58.(5.3)本阶段模型参数生成:汇聚节点接收来自各个参与节点的反馈结果计
算其数学期望值本轮分布式训练的模型参数为汇聚节点将本 阶段模型参数θ1发送到其他节点;
59.(5.4)重复(5.2)-(5.3)步,直到模型收敛或者达到一个预先设定的误差阈值, 从而得到当前最优的模型参数θ
*

60.(5.5)所有节点都从汇聚节点获得当前最优的模型参数θ
*
,并构造出当前最优的特 征提取模型f
θ
,以用于提取网络流量包的特征向量。
61.二、分布式场景下新类型加密网络流量包检测方法
62.新接收到的网络流量中,现有类型和新类型加密网络流量包共存。若直接对新接收 到的网络流量进行分类,新类型流量包将被错误地划分为某个现有类型,导致分类错误。 因此,需要从不同节点新接收到的网络流量中,检测分离出新类型加密网络流量包。为 此,我们面向分布式场景,设计了一种新类型加密网络流量包检测方法,用于从不同节 点新接收到的网络流量中,检测分离出新类型加密网络流量包。发明人提出了一种分布 式场景下新类型网络流量包检测方法,包括以下步骤:
63.(1)准备阶段:多个网络流量监测节点分别对各自负责的不同网络区域的网络流量 进行监测;各个节点分别独立地收集了一定数量的已经进行类别标注(分配类别标签) 的网络流量包样本(简称为“已标注样本”);所述的新类型网络流量包是指还没有任何 该类型的网络流量包样本被进行类别标注;
64.(2)特征提取模型训练:所述的特征提取模型可以表示成v=f
θ
(x),其中x为网络 流量包,v是通过模型提取的特征向量;多个网络流量监测节点(简称为“节点”),利 用各自收集的已标注网络流量包样本,采用协同合作的方式,训练出一个该特征提取模 型的最优参数θ
*

65.(3)用于检测模型训练的正样本的获取:各个网络节点使用特征向量提取模型,从 新接收到网络流量包中提取特征向量,并将该向量与一个预设向量进行比较,以判断是 否需要将该网络流量是否可以作为新类型网络流量包检测模型训练样本中的正样本;所 有正样本的标签被设置相同的值;获取用于检测模型训练的正样本的具体步骤如下:
66.(3.1)定义阈值向量[α1,α2,..,αk]:
[0067]
阈值向量的长度为k;阈值向量的每个元素αi都分别标示一个区间范围;阈值向量 的每个元素αi分别由flag和value两部分组成,flag∈{+,-},value∈(0,1);flag为负号, 表示value定义的是右侧边界,其左侧边界为1;flag为正号,表示value定义的是左侧边 界,其右侧边界为0;
[0068]
阈值向量[α1,α2,..,αk]是根据历史数据确定。下面举例说明。我们分别将相同数量的 现有类型和新类型流量包样本输入到特征提取模型,得到各自的特征向量。为形成可以 量化比较的阈值结果供后续方案使用,我们使用softmax模块对特征向量的进行了归一 化处理。对于各个样本的特征向量,我们按照降序对特征向量各个元素进行排序。各向 量中大多数元素值都接近于0,与噪声误差在一个数量级,对其进行分析比较的意义不 大。因此,我们只记录各个向量的top-k元素。针对现有类型流量包和新类型流量包,我 们分别绘制他们的top-k特征向量元素的直方图用于对比。图2是特征向量top-3元素的直 方图统计信息,横轴是元素的值,纵轴是该元素值对应的样本的个数。图2(a)是新类 型流量特征向量排序前三的元素的分布情况(分别对应图中的k=1,2,3),图2(b)是现 有类型流量特征
向量排序前三的元素的分布情况(分别对应图中的k=1,2,3)。第一列对 应top-1向量元素的分布,第二、三列是对应第二大和第三大向量元素的分布。
[0069]
尽管新类型和现有类型样本的分布区间存在重合部分。但是,我们依然可以选定分 布区间,得到可信度非常高的新类型样本的。以图2为例,当样本输出向量的top3元素分 别位于[0,0.75]、[0.2,1]和[0.1,1]这三个区间是,这类样本是新类型样本的可信度非常高。 对于图2的实例,阈值向量可以表示为[0.75,-0.2,-0.1]。借助上述的阈值向量,我们可 以构造如图3所示的高置信度新类型流量包样本提取模型。
[0070]
(3.2)提取网络流量包特征向量的top-k元素:对网络流量包进行特征向量提取;特 征向量的长度大于或者等于k;对提取的特征向量排序,并保留最大的k个元素(top-k 元素),记为[v
′1,v
′2,..,v
′k];
[0071]
(3.3)获取用于检测模型训练的正样本:通过比较阈值向量[α1,α2,..,αk]和特征向 量的top-k元素[v
′1,v
′2,..,v
′k],以确定是否是高置信度的新类型样本;依次比较 [v
′1,v
′2,..,v
′k]的k个元素是否分别位于[α1,α2,..,αk]的k个元素所标示的区间之内;如果 [v
′1,v
′2,..,v
′k]中的所有的元素都分别位于[α1,α2,..,αk]的k个元素所标示的区间之内,则 为该样本设置正样本标签,并将其添加到用于检测模型训练的正样本集合中。正样本集 合中的样本代表的是可信度非常高的新类型样本。具体算法如下:
[0072][0073][0074]
(4)获取用于检测模型训练的负样本:负样本代表的是现有类型,来源于现有已经 标注的网络流量包样本集;各个网络节点从第(1)步所述的已标注网络流量包样本中 随机选择一定数量的样本作为负样本;所选取的负样本的数量与正样本的数量相同或者 相近;所有负样本的标签被设置成相同的值;负样本的标签应当与正样本的标签不同, 例如可以分别设置为0和1。
[0075]
(5)新类型流量包检测模型的构建:新类型流量包检测模型fn由fb和f
θ
两个子模 型构成,两者采用串联方式进行组合,可以表示成y

=fn(x)=fb(f
θ
(x));
[0076]
(6)优化方程的构建:优化方程表示为其 中l是损失函数(loss function);
[0077]
(7)模型的分布式训练:多个网络流量监测节点(简称为“节点”),利用各自收集 的如第(3)-(4)步所述的样本,采用协同合作的方式,按照第(6)步给出的优化方 程,对第(5)步的新类型流量包检测模型fn进行训练,直到模型收敛或者达到一个预 先设定的误差阈值。模型的分布式训练的具体步骤如下:
[0078]
(7.1)模型初始化:模型初始化参数定义为n0=[b0,θ
*
];其中θ
*
是子模型f
θ
的最优 的模型参数,已经存在于各个节点;汇聚节点只需要对子模型fb的参数b0进行随机初 始化,并将初始化结果发送到各个节点;
[0079]
(7.2)模型构建:各个节点,构建新类型流量包检测模型y=fn(x)=fb(f
θ
(x)),利 用接收到的模型初始化参数b0和子模型f
θ
的当前最优参数θ
*
,对模型参数进行初始化;
[0080]
(7.3)本地模型训练:
[0081]
首先,节点i构造本地优化方程
[0082]
然后,节点i利用本地训练样本集,对模型fn进行优化,得到优化后的模型参数训练集包括新类型样本(即:正样本)和现有类型样本(即:负样本);训练完成后, 节点i将向汇聚节点反馈优化结果
[0083]
(7.4)本轮模型训练结果生成:汇聚节点接收来自各个参与节点的反馈结果计算其数学期望值进而得到本轮分布式训练的优化结果汇聚节 点将本轮优化结果n1发送到各个节点;
[0084]
(7.5)重复第(7.3)-(7.4)步,直到模型收敛或者达到一个预先设置的误差阈值, 从而得到最终的模型参数n
*

[0085]
分布式训练完成后,所有节点都从汇聚节点获得当前最优的模型参数n
*
,并构造 出当前最优的新类型流量包检测模型f
n*
(模型下标为“n*”)。该模型对本轮时间区 间内所有新接收到的网络流量包进行检测识别,以分离出新类型流量包。新类型流量包 检测模型f
n*
的训练过程中,引入了现有类型和新类型作为相互对照。这使得该模型 可以更加全面地学习到新类型和现有类型间的差异性特征信息,因此,相比之前的简单 阈值分割方式,新类型流量包检测模型f
n*
的检测能力将大大提升。
[0086]
三、分布式场景下新类型加密网络流量包的挖掘和利用方法
[0087]
本部分主要包括两个方面。其一是全局一致的类别标签分配方法。将不同节点上的 新型加密网络流量包划分为不同的子类,并为不同子类的样本分配全局统一的标签。其 二是现有模型更新方法。利用各个节点上已经进行全局一致标签分配的样本,以分布式 模式对现有模型进行更新。
[0088]
全局一致的类别标签分配面临挑战。新类型流量包可以被进一步分为不同的类型。 对于模式特征类似的,但是分布在不同节点上的新型流量包,它们应该具有相同的类别 标签。实现全局性统一标注最直接的方法,是让各个节点将获取到新类型流量包上传到 服务器,由服务器进行统一标注。然而由于原始流量包数据量大,这种方法并不合适。 如果
各个节点独立进行的降维操作,并上传降维结果,可以降低通信开销。但是不同节 点的降维结果间不具备全局统一性,无法直接比较以实现全局统一的类别标注。
[0089]
本发明提出的方法中,新类型流量包的全局一致类别标注由三个过程组成:(1)新 类型流量包的本地子类别划分和本地子类别标注。各个节点对自己的新类型流量包聚类 成不同的子类别,并根据类别划分结果为各个新类型样本分配合适本地标签。需要注意 的是,由于各节点独立对其样本进行类别标注,位于不同节点的同类样本的本地标签通 常并不相同。(2)本地类别的全局一致特征提取。各个节点为本地各个类别的提取全局 一致的类别特征,并上传到服务器。确保提取的类别特征的全局一致性进行下一步的前 提和基础。(3)全局一致的类别标签分配。服务器根据每个节点上传的特征数据之间的 相似性将本地类别分为不同的全局类别,并为各个全局类别分配相应的全局标签。各个 本地节点将使用全局标签替换各自的本地类别标签,从而类别标签的全局一致性。一种 分布式场景下新类型加密网络流量包的挖掘和利用方法,包括以下步骤:
[0090]
(1)准备阶段:多个网络流量监测节点(简称为“节点”)分别对各自负责的不同 网络区域的网络流量进行监测;各个节点分别独立地收集了一定数量的已经进行类别标 注(简称为“已标注”)的网络流量包样本;多个节点通过前述的分布式场景下新类型 加密网络流量包检测方法,训练出一个新类型加密网络流量包检测模型;所述的新类型 网络流量包是指还没有任何该类型的网络流量包样本被进行类别标注;
[0091]
(2)新类型流量包检测:各个节点分别从各自新接收到的网络流量包中检测出新类 型网络流量包;新类型流量包的挖掘和利用以周期性性的形式进行,每一轮挖掘和利用 操作都以当前周期内检测出来的所有新类型流量包为基础进行;
[0092]
(3)本地子类别标签分配:各个节点独立对本轮(当前周期时间内)检测出来的新 类型流量包进行本地聚类操作;各个节点独立对各自聚类结果各个子类别样本分配标 签;本地聚类结果中,相同子类别的新类型流量包样本,将被分配相同的本地标签;不 同本地子类别的标签互不相同;
[0093]
(4)本地子类别特征向量提取:各个节点选择一个全局统一的基准;各个节点以该 全局统一的基准为基础,分别为各个本地子类别提取全局一致的类别特征向量;各个节 点将本地子类别的特征向量,连同它们所对应的本地子类别标签,一起上传到汇聚节点; 具体步骤如下:
[0094]
(4.1)全局一致基准模型设计:
[0095]
全局一致的基准模型定义为:y=f
μ
(x)=fe(f
θ
(x))=argmax(softmax(f
θ
(x)));子模 型f
θ
为加密网络流量包特征提取模型;各个节点使用全局最优的模型参数θ
*
对子模型 f
θ
进行初始化,子模型fe中不包含待优化的参数,不需要进行初始化处理;
[0096]
(4.2)子类别增量模型的训练:各个节点为各自的不同本地子类别样本,分别独立 训练一个增量模型;用于增量训练的优化方程为:
[0097]
需要注意的是,尽管增量模型训练过程采用的是传统深度学习模型训练方法,然而 其训练样本构成、训练目的和训练成本是不一样的。传统深度学习训练数据包含了多种 不同类别的样本,其目的在于学习不同类别样本包含的特征信息,以提高模型精度。由 于不同类别样本的差异性较大,模型的收敛速度较慢,因而训练成本较高。在本方案设 计的增量模型训练过程中,训练样本来自同一个本地子类别,其目的在于学习该单一类 别数据
的特征信息。由于同一类别样本间差异性较小,模型收敛速度非常快。实验表明, 即便是是进行了几轮epoch的训练,便可以保证参数实现非常好的类别代表性能。以 vpnnonvpn数据集为例,通过随机采样生成100个单类别训练样本集,分别独立进行增 量模型训练测试,当epoch>2时,所有100次的训练精度都已经接近1。
[0098]
(4.3)基于增量模型的子类别特征提取:各个节点分别从各个子类别模型参数中, 按照相同的规则选择一个参数子集,作为该子类别的特征向量;各个节点将各个本地子 类别特征向量和本地子类别标签一起上传到汇聚节点;
[0099]
由于不同节点都使用相同的基准模型进行增量模型训练,因此这些子类别特征具备 全局一致性。与此同时,子类别增量模型参数具备了较好的子类别区分度。图4是增量 模型参数的类别特征表达式能力。图4中每个节点对应一个增量模型的参数向量。该增 量模型由某个类别数据的采样子集训练得到的。为了便于显示,我们采用主成分分析法 对参数向量进行降维,并在二维空间中进行显示。由图可知,不同类型样本的增量模型, 其参数向量具有较好的区分度。同类型样本子集得到的增量模型位于参数空间中相邻的 位置。然而,这些增量模型参数并不适合直接用作本地子类别特征向量。一方面,部分 本地类别编号不同的增量模型在模型参数空间中存在重合现象。例如,图4中编号为8和 编号为b的类别的两个模型在参数空间中是重合的,这会导致这两个类别数据不可分。
[0100]
为避免上述部分子类别特征空间重叠问题,以及减少特征向量维度和通信开销,我 们将从模型参数中提取具有代表性的优化参数子集,作为子类别的特征向量。本方案选 择模型最后一层的bias参数作为最终的参数。首先,深度神经网络从输入层到输出层的 各层中,越靠后的层,其抽象能力更高,类别表达能力更强。其次,从反向传播算法的 角度而言,靠近输出的各层参数最先被调整。因此靠近输出层的参数最容易受到增量训 练过程的影响,最能捕获相关类别训练数据中的特征信息。此外,在大多数深度学习模 型中,靠近输出层的各层节点数量相对较少,因此这些层的参数个数也更少。以经典的 letnet-5模型为例,该模型总参数超过40000个,而根据我们方案所选择的特征参数为10 个。优化后的参数子集的类别表达能力可以参考“性能评估”部分。
[0101]
(5)全局一致的子类别标签分配:汇聚节点以收集来自不同节点的子类别特征向量 和本地标签信息;汇聚节点以收集到的子类别特征向量为基础,为这些本地子类别特征 向量进行全局性聚类,并根据全局性聚类结果为每个全局性子类别分配不同的全局性标 签;汇聚节点为全局性聚类结果中的各个子类别分配全局性标签,汇聚节点根据收集到 子类别的本地标签和重新分配的全局标签,为各个节点的本地子类别建立本地子类别标 签和全局性标签的映射方案,并将该映射关系反馈给对应的节点;各个节点根据接收到 的映射方案,将各自样本的本地类别标签修改成全局性类别标签。整个过程如图8所示。
[0102]
通过上述操作,我们获得了许多新类型的样本集。接下来,我们将使用新类型样本 集作为训练数据,对特征向量提取模型、新类型加密网络流量包检测模型、现有类型加 密网络流量分类模型等模型进行更新。对前述各个模型进行更新的原理基本类似。下面 以特征提取模型的更新为例进行讲解。
[0103]
(6)模型更新:多个网络流量监测节点,对模型进行扩展,并利用各自收集的如第 (5)步所述的已经分配了全局标签的样本,采用协同合作的方式,对扩展后的模型进 行训练,直到模型收敛或者达到一个预先设定的误差阈值。具体步骤如下:
(precision)、召回率(recall)和f1分数(f1-score)。
[0114]
2、模型构件选择和性能比较。
[0115]
所提出方案中采用的模型是基于1d-cnn和注意机制构建的。表1是不同模型策略之 间的性能比较,即我们的(基于1d-cnn和注意力机制的模型)、基于1d-cnn的模型和 基于2d-cnn的模型。根据实验结果,基于1d-cnn和注意力机制的模型的分类性能优 于单独的1d-cnn和2d-cnn模型。应该指出的是,将本实验的结果与其他后续实验的 结果进行比较是毫无意义的。一方面,不同类别的样本数量极不平衡。而后续实验的数 据集是类别平衡的。另一方面,本实验中用于模型训练的样本数量远远多于后续实验中 的样本数量。
[0116]
表1不同模型策略的性能比较
[0117][0118][0119]
3、新类型流量包检测模型性能。
[0120]
由图2可知,新类型流量包与已知流量包的输出向量在top3向量元素对应的各个维度 上存在较大的特征差异。为了更加直观地展示其差异性,我们利用输出向量的top3向量 元素作为三个不同的维度,构造出一个三维空间。我们将这些样本标注在该三维空间中。 标示为0的样本表示现有类型样本,标示为1的样本表示新类型样本。为了观察现有类型 样本和新类型样本在空间中的分布特征,我们将三维空间图形投影到三个不同的2维平 面上,以方便查看效果。结果如图5(a)、图5(b)和图5(c)所示。
[0121]
由图5(a)、图5(b)和图5(c)可知,绝大多数现有类型样本和新类型样本,分布 在该空间中的不同区域,具有较为明显的分布差异。通过选择合适的阈值参数,我们可 以很容易将大多数新类型样本分离出来。与此同时,现有类型样本和新类型样本在部分 区域存在一定交叠。例如,有大量的标示为0或者1的样本密集分布在图5(a)和图5(b) 的右下角区域,同样的情况还出现在图5(c)的左下角区域。因此,基于阈值的分割方 案完全将从这一区域中将他们分离出来。我们将本发明所提出的新类型样本检测方案与 基于阈值分割方案进行了性能比较。表2是比较结果。实验过程中,第一个维度的分割 阈值被设置成0.9,其他两个维度的分割阈值被设置成0.1。
[0122]
表2新类型样本检测方案性能比较
[0123]
方案精确度(accuracy)准确度(precision)召回率(recall)f1分数f1-score阈值分割方案0.6830.9960.6130.759本发明0.9420.9860.9060.944
[0124]
由表2可知,阈值分割方案的准确度(precision)非常高,然而召回率(recall)和 精确度(accuracy)相对较低。阈值分割方案的准确度(precision)非常高,主要是由 于现有类型样本在top3维度上分布非常集中。采用阈值分割方案时,现有类型样本可以 较大概率将其正确识别,将现有类型样本错误的判定为新类型样本的概率较低。
[0125]
新类型样本分布比较散乱,许多新类型样本与现有类型样本存在交叠的,无法直接 通过简单的阈值分割方式将其分离出来。因此,方案l1识别新类型样本的能力相对较差, 其召回率(recall)和精确度(accuracy)相对较低。
[0126]
本发明方案的召回率(recall)和精确度(accuracy)都由较大幅度的提升。然而, 其准确度(precision)相对于阈值分割方案有小幅度的下降。本发明方案的训练样本中 的新类型样本(标签为1)来自于阈值分割方案。在指定阈值下,部分现有类型样本被 阈值分割方案错误地划分成新类型样本,本发明方案的训练过程中必然会学习到这种标 签错误样本的模式,进而会增加其将现有类型样本划分为新类型样本的几率。因此,其 准确度(precision)相对于阈值分割方案有一定幅度的下降。
[0127]
4、全局一致特征提取方案性能
[0128]
尽管用不同类别数据训练的增量模型的具备一定的类别表达能力,然而由于模型参 数众多,并且表达能力还需要进一步提高,该增量模型参数并不适合直接用作类别特征 数据上传到服务器端。
[0129]
增量模型的最后一层参数可能具有极强的表达能力。下面通过实验进行验证。本实 验数据来自vpnnonvpn数据集。其中编号为【1,2,3,4,5】的这五个类别被当作现有类型, 其他7个类别被当作新类型。我们从现有类型数据集中构造训练样本集,训练出一个基 础模型。然后从新类型数据集中随机生成56个训练样本集,每个训练样本集只包含这7 个新类型数据中的某一类样本。然后以每个数据集为基础,基于前述的基础模型进行增 量模型训练。由于单一类别样本进行增量训练时,模型收敛非常快。为降低训练成本, 进行每类样本增量训练是,我们都将epoch设为3。单个增量模型的训练过程耗时不超过 1s。训练结束时,绝大多数模型的训练精度都达到1。
[0130]
我们提取模型的第一层和最后一层参数的两组参数(kernel和bias),分别通过pca 降维后,进行可视化对比。第一层的两组参数在2维空间的聚类效果分别如图6(a)和图6(b) 所示。最后一层的两组参数在2维空间的聚类效果分别如图7(a)和图7(b)所示。
[0131]
由图6和图7可知,模型第一层的两组参数的聚类效果明显要比模型最后一层的两组 参数差。在由图7中,所有类别之间都互不重叠。而在图6,各个类别节点分布比较散乱, 且存在重叠现象。参数bias(图6a和图7a)的聚类效果明显要优于kernel参数(图6b和图 6b)。以图7为例,尽管最后一层的kernel和bias这两组参数都有较好的聚类效果,但bias 这组参数(图7a)中节点分布明显更为集中。
[0132]
如图4所示,直接使用全体模型参数作为特征数据并不是一个明智的选择。不仅特征 向量多,而且类别区分效果并不理想,还存在部分类别无法区分的情况。如果使用最后 一层的bias参数作为特征数据,特征向量长度大幅度减少,并且类别区分效果也得到了 显著提升(图7a)。
[0133]
5、模型更新前后的性能比较
[0134]
在自适应更新全局模型性能分析实验中,我们共设计了3类场景。三类场景中均包括 了9类已知流量类别。三类场景中的未知流量类别数量分别1类、2类和3类。具体的场景 说明如表3所示。每个实验场景中,我们分别从每个的现有类型中分别随机选择2000个 样本作为训练样本,训练出一个基础分类模型g1。然后我们分别从每个现有类型和每个 新类型中分别随机选择2000个样本作为新增流量样本,用于进行所提方案中后一阶段的 操作,得到一个更新后的分类模型g2。前后两个阶段所使用的流量样本互不相同。最后, 我们以实验结果为基础分析不同场景中更新前后两个分类模型的性能,实验结果如表4 所示。由结果可知,三种场景中,新模型g2的性能相对于g1都略有下降,并且新类型 的数量越多,性
能下降幅度也越大。这是因为,随着新类型的数量的增加,新样本集合 中新类型样本的所占比例也随之增加。由于新类型样本识别、标注等环节的误差的存在, 新类型样本所占比例越多,其误差对最终结果的影响也越大。
[0135]
表3实验场景描述
[0136]
场景现有类型新类型场景1[1,2,3,4,5,6,7,8,9][a]场景2[2,3,4,5,6,7,8,9,a][0,b]场景3[0,2,3,4,6,7,8,a,b][1,5,9]
[0137]
表4自适应更新模型性能分析
[0138]
场景模型精确度accuracy准确度precision召回率recallf1分数f1-score1g10.9480.9490.9480.9481g20.9420.9420.9420.9422g10.9520.9530.9520.9522g20.9420.9430.9420.9423g10.9680.9690.9680.9683g20.8970.8980.8970.896
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1