1.一种基于分流策略的增量流量恶意检测方法,其特征在于,包括如下步骤:S1:采集初始阶段网络流量数据并进行预处理,将所采集的数据按照源IP地址、目的IP地址、源端口号、目的端口号和传输层协议号的五元组、会话级流量格式进行拆分,并将会话数据中的包进行对齐并转化为3D图像格式的样本表示;
S2:设计基于数据时空特征的网络流量多分类模型,利用3D‑CNN模型配合多头注意力机制构建基础多分类器,使用步骤S1采集的网络流量训练初始阶段基础多分类器,再随机保留部分样本表示;
S3:在新的增量阶段采集新类别网络流量数据,并采用步骤S1的方法处理数据,再使用步骤S2设计的模型训练新的基础多分类器,将之前阶段训练的多分类器用作旧分类器,能被其分类的类别视作旧类别;
S4:在当前阶段分类器训练完成之后,从当前阶段所见的网络流量数据表示中随机取出少量样本并保留,训练能够区分新类别数据和旧类别数据的新旧数据二元分类器,然后将所有旧分类器进行策略堆叠,支撑前期所有旧异常类别的检测;
S5:使用所述S3得到的旧类别数据,训练一个元分类器将增量步骤之前训练的旧分类器进行堆叠,根据每个旧分类器输出的特征向量训练元分类器,通过元分类器来拟合堆叠多个旧分类器,使其具有区分所有旧类别的能力;
S6:使用所述S3得到的旧类别数据和当前阶段所见的新类别流量数据训练能够区分新旧数据的二元分类器;
S7:重复步骤S3‑S6,完成增量学习阶段;
S8:设计基于分流策略的增量流量恶意检测方法识别网络中的恶意流量。
2.根据权利要求1所述的一种基于分流策略的增量流量恶意检测方法,其特征在于,所述步骤S1具体包括:S1.1:将采集到的初始阶段网络流量数据按照数据包的五元组信息分割成会话级流量;
S1.2:对每个会话进行处理,去除掉其中由于网络传输错误而产生的重传包;
S1.3:从每个会话中取出前H个数据包的IP层信息,再从IP层信息中取前m*m字节的数据,作为这个会话的流量样本表示;
S1.4:将提取出的IP层信息中的源IP地址和目的IP地址进行匿名化处理,将其都替换为0.0.0.0,再将其他信息进行归一化处理到0‑1的范围;
S1.5:对数据进行对齐处理,使用填充0的方式将IP层信息不足m*m字节的数据包补长到m*m字节,再将不足H个数据包的会话填充至H的长度;
S1.6:将经过S1.5处理后的数据包,按照到达的顺序进行排列,将会话数据处理成一个H*m*m
3D图像,表示为P∈R 。
3.根据权利要求1所述的一种基于分流策略的增量流量恶意检测方法,其特征在于,所述步骤S2具体包括:
S2.1:将训练集的3D图像P输入到3D‑CNN模型中提取流量数据的时序和内容特征,其结构为两个依次连接的block组成,每个block包含多个3D卷积层和最大池化层,图像数据经过一系列卷积和池化步骤,最终得到特征提取器输出hout1;
S2.2:将特征提取器输出hout1输入多头注意力机制模块,通过并行的注意力头分析特征间的相互作用和依赖,捕捉到特征之间的全局依赖关系,得到输出hout2;
多头注意力机制通过将注意力机制“头”拆分成多个头来实现,每个头独立学习输入之间的不同的关系,具体实现如下:首先,进行线性变换,对于每个头i,输入Hout1会通过不同的线性变换来计算查询(Query)向量Qi,键(Key)向量Ki和值(Value)向量Vi,其中:第二步,注意力计算,对于每个头,计算注意力得分Ai和输出Oi,其中:最后,合并多头输出:将所有头输出Oi进行拼接,并通过一个线性变换计算最终输出hout2,其公式为:O
hout2=Concat(O1,O2,…,On)·W (3)其中,"Concat"表示拼接操作,n表示输出Oi的数量;
在多头注意力机制中,输入hout1会被线性变换到多个不同的空间来计算不同的注意力得分,然后这些得分会被合并和再次变换以产生输出hout2;
S2.3:将加权特征hout2输入分类器,通过全连接层将特征映射至类别空间,输出最终的分类预测hout3;
S2.4:计算预测hout3和实际标签之间的多分类交叉熵损失函数,并通过反向传播算法更新模型参数,以优化模型分类性能,重复更新模型参数,直到模型表现达到预期目标,完成训练,所使用的多分类交叉熵损失函数公式为:其中,N表示样本数量,C表示当前阶段所见数据类别的数量,yi,c表示第i个样本的真实类别, 表示多分类模型对第i个样本的预测输出。
4.根据权利要求1所述的一种基于分流策略的增量流量恶意检测方法,其特征在于,所述步骤S3具体包括:S3.1:在新的增量阶段采集当前阶段所能观察到的新类别的新网络流量数据;
S3.2:采用步骤S1的数据处理方法,将新类别数据处理成精简的样本表示;
S3.3:使用步骤S2设计的模型训练能够准确区分当前阶段新类别数据的新多分类器;
S3.4:将之前阶段训练的多分类器用作旧分类器,能被其分类的类别视作旧类别,即当前阶段的新多分类器会在下一阶段开始被视作旧分类器。
5.根据权利要求1所述的一种基于分流策略的增量流量恶意检测方法,其特征在于,所述步骤S4具体包括:S4.1:观察当前阶段可见的每类样本数量,根据现实情况中每类样本的出现频率和多样性,确定从流量数据中提取的样本数量,为了节约存储资源,样本数量被限定在总数的
5%以内;
S4.2:从当前阶段的网络流量数据中随机选取预定义数量的样本保存下来,以便用作后续训练新旧数据二元分类器和旧分类器堆叠模型的训练集。
6.根据权利要求1所述的一种基于分流策略的增量流量恶意检测方法,其特征在于,所述步骤S5具体包括:S5.1:在每个增量训练步骤后,保留下所训练的多分类器,这些分类器已经在之前的数据上训练并优化,能够识别和分类其训练时期的数据类别;
S5.2:将S4保留的旧数据输入所有旧分类器,并把结果合并为一个特征向量,该特征向量包含了来自不同分类器的知识和它们对样本的理解,将其作为元分类器的输入信息,其将为元分类器提供有足够区分度的信息;
S5.3:使用S5.2构建的特征向量和原始样本标签作为训练集,训练元分类器,其训练损失函数采用公式(4)中的多分类交叉熵损失函数,其中元分类器的预测值 的计算公式为:其中,表示元分类器输出结果,fmeta表示元分类器的预测函数,f1(x),f2(x),…,fn(x)表示基础多分类器对应输入数据x的特征向量输出;
S5.4:将所有旧分类器和元分类器进行连接,将其用作增量分类模型中的旧分类模型。
7.根据权利要求1所述的一种基于分流策略的增量流量恶意检测方法,其特征在于,所述步骤S6具体包括:S6.1:将当前增量阶段之前保留的旧数据作为旧数据类别,将当前阶段所见的数据作为新类别构建训练当前阶段新旧二元分类器的训练集,S6.2:使用当前增量阶段构建阶的训练数据,训练新旧数据二元分类器,其损失函数采用二元交叉熵,公式为:与公式(4)类似的,N表示样本数量,yi表示第i个样本的标签(其值为0或1), 表示二分类模型对于第i个样本的预测结果。
8.根据权利要求1所述的一种基于分流策略的增量流量恶意检测方法,其特征在于,所述步骤S7具体包括:S7.1:在每个增量学习阶段,重复步骤S3‑S6,训练每个阶段的新旧二元分类器和元分类器;
S7.2:根据训练的新旧二元分类器和元分类以及各增量阶段的基础多分类器,构建基于分流策略的增量恶意流量检测模型。
9.根据权利要求1所述的一种基于分流策略的增量流量恶意检测方法,其特征在于,所述步骤S8具体包括:S8.1:使用基于分流策略的增量恶意流量检测模型进行检测,输入数据首先由二元分类器判断输入数据是属于旧类别还是新类别,对输入数据实现分流分类;
S8.2:对于分类结果为旧类别的样本,将它们输入到之前保留的旧多分类器中进行进一步分类,利用旧分类器对旧类别数据的专业知识,确保对旧类别的准确识别,对于分类结果为新类别的样本,将它们输入到当前阶段训练的新分类器中进行分类,新分类器专门处理新增的类别,对这些类别具有较高的识别能力;
S8.3:根据二元分类器和多分类器的输出,集成输出最终的分类结果。
10.实现如权利要求1所述的一种基于分流策略的增量流量恶意检测方法的系统,其特征在于:包括网络流量预处理模块、基础模型训练模块、网络流量数据提取模块、模型堆叠模块和数据分流模块;
所述网络流量预处理模块,采集网络中的网络流量数据,对采集到的数据进行预处理,得到精简的流量数据表示;
所述基础模型训练模块,使用当前阶段所见的网络流量数据,训练能够准确分类当前类别流量的基础分类器,作为当前阶段的新分类器和之后阶段的旧分类器基础;
所述网络流量数据提取模块,从当前阶段所见的网络数据中随机选出适量的数据表示,作为后续二元分类器和堆叠模型元分类器的知识来源;
所述模型堆叠模块,使用网络流量数据提取模块取出的旧数据和除当前阶段新基础分类器外的所有分类器,训练一个小型元分类器,使其能够根据旧分类器提取的特征完成对所有旧类别的分类任务;
所述数据分流模块,使用网络流量数据提取模块取出的旧数据和当前阶段所见的新数据训练二元分类器,用于实现对测试数据的准确分流,将其输入能够准确分类测试数据的分类器。