掌桥专利:专业的专利平台
掌桥专利
首页

一种恶意流量检测方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:26


一种恶意流量检测方法、装置、电子设备及存储介质

技术领域

本申请涉及威胁检测技术领域,具体而言,涉及一种恶意流量检测方法、装置、电子设备及存储介质。

背景技术

随着深度学习模型不断的应用到网络恶意流量检测的场景中,流量预处理成为深度学习推理过程中将原始流量数据处理成模型所接受的数据类型的重要技术。因为不同的流量预处理得到的数据格式不同,深度学习模型输入的数据所携带的信息也有一定的差异,从而影响模型的拟合过程,在检测精度上受到一定的干扰。

此外,目前现有的流量预处理方法难以包含或者包含极少的流量数据之间的时序特征信息,但流量之间的时序特征信息又是分析流量数据的重要依据,从而导致现有检测方法准确率较低。

发明内容

本申请实施例的目的在于提供一种恶意流量检测方法、装置、电子设备及存储介质,对原始流量数据进行预处理得到的流量特征会话图不仅包含了流量特征单体信息,还包含了通信包之间的时序特征,从而提高了检测结果的准确性,解决了现有方法预处理得到的时序特征信息较少导致的检测不准确的问题。

本申请实施例提供了一种恶意流量检测方法,所述方法包括:

获取原始流量数据;

分别对所述原始流量数据进行划分处理,生成流量特征灰度图;

基于所述流量特征灰度图生成流量特征RGB图;

基于所述流量特征RGB图生成流量特征会话图;

将所述流量特征会话图输入预训练的VIT模型,以对恶意流量进行检测。

在上述实现过程中,将原始流量数据转换为流量特征灰度图,进而转换为流量特征RGB图,最后转为流量特征会话图,流量特征会话图不仅包含了单独流量包的数据特征,也包含流量包之间的时序特征,能够为VIT模型提供包含丰富流量数据特征的输入数据,从而提高了检测结果的准确性,解决了现有方法预处理得到的时序特征信息较少导致的检测不准确的问题。

进一步地,所述分别对所述原始流量数据进行划分处理,生成流量特征灰度图,包括:

将所述原始流量数据划分为N*N+2个通信包,并删除所述通信包中的空IP地址;

提取每个通信包中的前T字节数据,若所述通信包中的字节数据小于T,则用0填补至T字节;

将所述前T字节数据转换成一张大小为

在上述实现过程中,将原始流量数据转换为二维流量数据,包含了更多的流量特征信息。

进一步地,所述基于所述流量特征灰度图生成流量特征RGB图,包括:

依次获取每三张通信包对应的流量特征灰度图,得到N*N个特征图组,且后一个特征图组中的前两张流量特征灰度图是前一个特征图组中的后两张流量特征灰度图;

将每组特征图组中的流量特征灰度图按照时间顺序依次转换为红、绿、蓝三通道并合并成一张RGB图像。

在上述实现过程中,将流量特征灰度图转换为流量特征RGB图,在红、绿、蓝三通道上的流量特征灰度图包含了流量时间序列信息。

进一步地,所述基于所述流量特征RGB图生成流量特征会话图,包括:

将每N个流量特征RGB图分成一组,并依次作为矩阵的行,生成一个N*N矩阵,所述N*N矩阵用于表示流量特征会话图。

在上述实现过程中,利用流量特征RGB图生成的流量特征会话图,仅包含单个包复杂的流量特征信息,而且还包含更多的通信包与通信包之间的时序关系信息。

进一步地,所述方法还包括对VIT模型进行训练:

对训练用流量数据标注属性标签,以区分正常流量和异常流量;

对所述训练用流量数据进行预处理,获得对应的特征会话图数据;

将所述特征会话图数据输入VIT模型,获得分类结果;

根据所述分类结果与所述属性标签进行反向传播,以对模型参数进行更新迭代。

在上述实现过程中,将特征会话图数据作为模型的输入对模型进行训练,由于特征会话图数据仅包含了流量特征单体信息,还包含了通信包之间的时序特征,从而提高了模型的检测性能。

本申请实施例还提供一种恶意流量检测装置,所述装置包括:

流量获取模块,用于获取原始流量数据;

灰度图生成模块,用于分别对所述原始流量数据进行划分处理,生成流量特征灰度图;

特征RGB图生成模块,用于基于所述流量特征灰度图生成流量特征RGB图;

特征会话图生成模块,用于基于所述流量特征RGB图生成流量特征会话图;

检测模块,用于将所述流量特征会话图输入预训练的VIT模型,以对恶意流量进行检测。

在上述实现过程中,将原始流量数据转换为流量特征灰度图,进而转换为流量特征RGB图,最后转为流量特征会话图,流量特征会话图不仅包含了单独流量包的数据特征,也包含流量包之间的时序特征,能够为VIT模型提供包含丰富流量数据特征的输入数据,从而提高了检测结果的准确性,解决了现有方法预处理得到的时序特征信息较少导致的检测不准确的问题。

进一步地,所述特征RGB图生成模块包括:

特征图组获取模块,用于依次获取每三张通信包对应的流量特征灰度图,得到N*N个特征图组,且后一个特征图组中的前两张流量特征灰度图是前一个特征图组中的后两张流量特征灰度图;

RGB图像获取模块,用于将每组特征图组中的流量特征灰度图按照时间顺序依次转换为红、绿、蓝三通道并合并成一张RGB图像。

在上述实现过程中,将流量特征灰度图转换为流量特征RGB图,在红、绿、蓝三通道上的流量特征灰度图包含了流量时间序列信息。

进一步地,所述特征会话图生成模块包括:

矩阵转换模块,用于将每N个流量特征RGB图分成一组,并依次作为矩阵的行,生成一个N*N矩阵,所述N*N矩阵用于表示流量特征会话图。

在上述实现过程中,利用流量特征RGB图生成的流量特征会话图,仅包含单个包复杂的流量特征信息,而且还包含更多的通信包与通信包之间的时序关系信息。

本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行上述中任一项所述的恶意流量检测方法。

本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述中任一项所述的恶意流量检测方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种恶意流量检测方法的流程图;

图2为本申请实施例提供的对原始流量进行预处理生成流量特征会话图的具体流程图;

图3为本申请实施例提供的二维灰度图像的获取流程图;

图4为本申请实施例提供的流量特征RGB图的获取流程图;

图5为本申请实施例提供的VIT模型的训练流程图;

图6为本申请实施例提供的VIT模型的结构示意图;

图7为本申请实施例提供的流量特征灰度图的示意图;

图8为本申请实施例提供的流量特征RGB图的示意图;

图9为本申请实施例提供的流量特征会话图的示意图;

图10为本申请实施例提供的一种恶意流量检测装置的结构框图;

图11为本申请实施例提供的另一种恶意流量检测装置的结构框图。

图标:

100-流量获取模块;200-灰度图生成模块;201-划分模块;202-字节提取模块;203-转换模块;300-特征RGB图生成模块;301-特征图组获取模块;302-RGB图像获取模块;400-特征会话图生成模块;401-矩阵转换模块;500-检测模块。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

实施例1

请参看图1,图1为本申请实施例提供的一种恶意流量检测方法的流程图。本申请通过对原始数据流量进行预处理,得到流量特征会话图,将流量特征会话图输入VIT模型,实现对恶意流量的检测。

该方法具体包括以下步骤:

步骤S100:获取原始流量数据;

示例地,原始流量可以包括源域数据集和目标域数据集,可分别对源域数据集和目标域数据集进行预处理,获得输入VIT模型所需的流量特征信息,实现对恶意流量的准确检测。

步骤S200:分别对所述原始流量数据进行划分处理,生成流量特征灰度图;

步骤S300:基于所述流量特征灰度图生成流量特征RGB图;

步骤S400:基于所述流量特征RGB图生成流量特征会话图;

步骤S500:将所述流量特征会话图输入预训练的VIT模型,以对恶意流量进行检测。

如图2所示,为对原始流量进行预处理生成流量特征会话图的具体流程图。其中,如图3所示,为二维灰度图像的获取流程图,步骤S200具体包括以下步骤:

步骤S201:将所述原始流量数据划分为N*N+2个通信包,并删除所述通信包中的空IP地址;

步骤S202:提取每个通信包中的前T字节数据,若所述通信包中的字节数据小于T,则用0填补至T字节;

步骤S203:将所述前T字节数据转换成一张大小为

示例地,将原始流量数据划分成N*N+2个通信包packet,并清洗有空IP地址的通信包。

提取每个通信包的首784字节数据并转换为一张大小为28*28的二维灰度图像,图像中的每个像素点对应的灰度值(像素值)表示字节,其中,首784(此处T取值)字节提取也是流量检测方案中主流的预处理方式,能较为有效提取通信包中的特征信息,也较为容易实现转化为28*28大小的二维图像数据(即将一维784byte数据转为28*28byte的二维数据)。当然,T也可取其他数值,获得不同大小的通信包,在此不做任何限定,其中,

流量特征灰度图像将单维流量转换为二维流量数据,包含了更多的流量特征信息,同时也可以使用计算机视觉领域成熟高效的模型进行恶意流量检测分类。若只是用二维流量特征灰度图,其缺点是包含的信息较少,以至于难以解决复杂的流量情况。

如图4所示,为流量特征RGB图的获取流程图,步骤S300具体包括以下步骤:

步骤S301:依次获取每三张通信包对应的流量特征灰度图,得到N*N个特征图组,且后一个特征图组中的前两张流量特征灰度图是前一个特征图组中的后两张流量特征灰度图;

步骤S302:将每组特征图组中的流量特征灰度图按照时间顺序依次转换为红、绿、蓝三通道并合并成一张RGB图像。

每3张通信包的灰度图都会按照时间的顺序被转换成流量特征RGB图。例如第一至三张流量特征灰度图作为第一组特征图组,第二至四张流量特征灰度图作为第二组特征图组,依次类推,总共可得到N*N个特征图组。

将特征图组中的三张灰度图按时间顺序提取为红、绿、蓝三通道并合并成一张RGB图,即按时间顺序的每三张流量灰度图中,第一张图像作为R,第二张图像作为G,第三张图像作为B,最后通过三通单融合成为一张RGB图。流量特征RGB图将比流量特征灰度图包含更复杂的流量特征信息。同时,流量特征RGB图包含了流量时间序列信息,但RGB方法只包含三个时间序列信息,信息数量是有限的,并不能包含更多的流量数据信息。

步骤S400中,具体地:

将每N个流量特征RGB图分成一组,并依次作为矩阵的行,生成一个N*N矩阵,所述N*N矩阵用于表示流量特征会话图。

流量特征RGB图将被转换为大小为N*N的流量特征会话图,即(N*28)*(N*28)byte。流量特征会话图包含更复杂的流量特征信息。所设置的超参数“N”,可根据实际场景应用以及模型学习能力设置,N越大,则最后生成的流量特征会话图所包含的信息越多、越丰富,越具有描述一段时间内的流量特征的能力。

其具体生成过程为:根据N*N个RGB图,其下标序号为[1,...,N*N],则由N*N个按时间排序生成的流量特征RGB图,首先提起下标序列为[1,...,N]共N个RGB图按由左至右横向拼接构成1*N的下标为1的横列(作为矩阵的第一行),然后继续提取下标序列为[N+1,...,2N]共N个RGB图按横向拼接构成1*N的下标为2的横列,直至提取下标序列为[(N-1)*N+1,...,N*N]共N个RGB图按横向拼接构成1*N的下标为N的横列,进而完成N个长度为1*N的RGB横列构建。

再按横列下标顺序,进行由上至下的竖向拼接,最终完成一张byte(字节)大小为(N*28)*(N*28)的流量特征会话图的构建。基于所设置的超参数“N”,所提出的预处理方案得到的流量特征会话图中包含了N*N张byte大小为(N*28)*(N*28)byte的二维RGB图,即包含了(N*N+2)张byte大小为(N*28)*(N*28)byte的二维灰度图。

将得到的流量特征会话图作为模型的输入。流量特征会话图不仅包含单个包复杂的流量特征信息,而且还包含更多的包与包之间的时序关系信息。

该方法还包括对VIT模型进行训练,如图5所示,为VIT模型的训练流程图,具体包括以下步骤:

步骤S601:对训练用流量数据标注属性标签,以区分正常流量和异常流量;

步骤S602:对所述训练用流量数据进行预处理,获得对应的特征会话图数据;

步骤S603:将所述特征会话图数据输入VIT模型,获得分类结果;

步骤S604:根据所述分类结果与所述属性标签进行反向传播,以对模型参数进行更新迭代。

本申请采用VIT模型作为训练和检测推理模型,示例地,其结构可以为(deep:3,multi-head:16),如图6所示,为VIT模型的结构示意图,VIT模型在transformer模型的基础上,通过对图像进行切割,获取带有序列信息的图像数据,实现transformer模型在图像检测领域的应用。

在训练阶段,利用上述预处理方法得到的特征会话图数据,并根据其属性标签,例如正常流量标签为0,异常流量标签为1,输入至VIT模型之中,VIT模型学习和训练会话图数据并根据模型前向计算所获取的输出(即根据计算获取0或1的分类标签输出),并与真实的数据标签进行计算,最后根据反向传播进行模型参数的更新迭代,实现模型的训练。

在对模型进行验证时,可采用准确率ACC为实验方案的评估指标,其具体计算方式如下:

其中,TP代表模型将正样本预测为正类的样本数量;TN代表模型将负样本预测为负类的样本数量;FP代表模型将负样本预测为正类的样本数量;FN代表模型将正样本预测为负类的样本数量。

示例地,使用CIC-IDS-2012数据集作为源域数据集,CTU-mfcp数据集作为目标域数据集,对上述预处理方法得到流量特征会话图的有效性进行验证,所采用的数据集大小如下表所设置:

步骤S11:通过对CIC-IDS-2012数据集和CTU-mfcp数据集中的流量信息原始Pcaps各提取其首784byte信息,在通过预处理方式转为流量特征灰度图,如图7所示,为流量特征灰度图的示意图。

步骤S12:将流量特征灰度图通过RGB的三通道信息转为RGB图,如图8所示,为流量特征RGB图的示意图。

步骤S13:将流量特征灰度图转为流量特征会话图。可将N设置为5,则通过所设置的参数5设定所构成的(5*28)*(5*28)大小的流量特征会话图,如图9所示,为流量特征会话图的示意图。

步骤S14:在测试阶段,将流量特征会话图数据输入vit模型(deep:3,multi-head:16)测试验证所提出的预处理方法的有效性。可得到基于CIC-IDS-2012和CTU-mfcp数据集的实验验证效果,下表是以目标域数据集为例,得到的该方法的准确率验证结果:

表1目标域数据集的验证结果

由此可知,本申请所述流量特征预处理方法在网络流量检测分类中有较高的检测精度。

综上,本申请通过对原始流量数据进行预处理,即将原始流量数据的首784byte数据信息转为二维灰度图,进而转为RGB流量图,最终转为流量特征会话图。流量特征会话图结合了流量数据特点,不仅能包含单独流量包的数据特征,也包含流量包之间的时序特征,能给予应用于恶意流量检测场景的深度学习模型提供包含丰富流量数据特征的输入数据。

实施例2

本申请实施例提供一种恶意流量检测装置,应用于实施例1中的恶意流量检测方法,如图10所示,为一种恶意流量检测装置的结构框图,所述装置包括但不限于:

流量获取模块100,用于获取原始流量数据;

灰度图生成模块200,用于分别对所述原始流量数据进行划分处理,生成流量特征灰度图;

特征RGB图生成模块300,用于基于所述流量特征灰度图生成流量特征RGB图;

特征会话图生成模块400,用于基于所述流量特征RGB图生成流量特征会话图;

检测模块500,用于将所述流量特征会话图输入预训练的VIT模型,以对恶意流量进行检测。

如图11所示,为另一种恶意流量检测装置的结构框图,其中,灰度图生成模块200包括:

划分模块201,用于将所述原始流量数据划分为N*N+2个通信包,并删除所述通信包中的空IP地址;

字节提取模块202,用于提取每个通信包中的前T字节数据,若所述通信包中的字节数据小于T,则用0填补至T字节;

转换模块203,用于将所述前T字节数据转换成一张大小为

所述特征RGB图生成模块300包括:

特征图组获取模块301,用于依次获取每三张通信包对应的流量特征灰度图,得到N*N个特征图组,且后一个特征图组中的前两张流量特征灰度图是前一个特征图组中的后两张流量特征灰度图;

RGB图像获取模块302,用于将每组特征图组中的流量特征灰度图按照时间顺序依次转换为红、绿、蓝三通道并合并成一张RGB图像。

所述特征会话图生成模块400包括:

矩阵转换模块401,用于将每N个流量特征RGB图分成一组,并依次作为矩阵的行,生成一个N*N矩阵,所述N*N矩阵用于表示流量特征会话图。

该装置将原始流量数据转换为流量特征灰度图,进而转换为流量特征RGB图,最后转为流量特征会话图,流量特征会话图不仅包含了单独流量包的数据特征,也包含流量包之间的时序特征,能够为VIT模型提供包含丰富流量数据特征的输入数据,从而提高了检测结果的准确性,解决了现有方法预处理得到的时序特征信息较少导致的检测不准确的问题。

本申请实施例还提供一种电子设备,所述电子设备包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行计算机程序以使所述电子设备执行实施例1所述的恶意流量检测方法。

本申请实施例还提供一种可读存储介质,所述可读存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行实施例1所述的恶意流量检测方法。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

相关技术
  • 加密恶意流量检测方法、装置、电子设备及存储介质
  • 恶意进程检测方法、装置、电子设备及存储介质
  • 恶意进程检测方法、装置、电子设备及存储介质
  • 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
  • 一种卡顿检测方法、装置、电子设备和存储介质
  • 一种恶意DOS流量的检测方法、装置、电子设备及存储介质
  • 基于混合神经网络的交通流预测方法、设备和介质
技术分类

06120116487675