首页> 中国专利> 一种基于计算似然比的分布外网络流量数据检测方法

一种基于计算似然比的分布外网络流量数据检测方法

摘要

一种基于计算似然比的分布外网络流量数据检测方法,属于网络流量数据检测领域。为提高网络流量数据识别的精准度和置信度的问题。本发明提取网络流量特征:原始流量为pcap包,根据五元组划分为不同的数据流,设置为提取数据包长度序列、计算包到达时间间隔序列,将以上序列保存并生成CSV文件,作为模型训练的原始训练数据;使用原始训练数据训练原始分类模型,采用深度学习算法长短期记忆网络进行原始分类模型的训练,得到原始训练数据训练出的模型,生成扰动数据,采用加入高斯白噪声的方法生成扰动数据,训练扰动模型,得到扰动数据训练出的模型,计算似然比,判断分布外数据。本发明网络流量数据识别的精准度和置信度高。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-19

    实质审查的生效 IPC(主分类):H04L47/2441 专利申请号:2022104505419 申请日:20220426

    实质审查的生效

说明书

技术领域

本发明属于网络流量数据检测领域,具体涉及一种基于计算似然比的分布外网络流量数据检测方法。

背景技术

随着网络私有协议的增多,网络流量的种类也越来越多同时其相似度也逐渐提高。现如今的许多网络安全问题都需要落脚于网络流量的识别和检测,传统识别和检测技术大都基于机器学习算法或深度学习算法训练分类模型。

分布外数据是指假设存在一个数据集S,S由数据(X,Y)构成,其中X表示提取的特征集合,Y表示数据的标签集合。若存在样本s(x,y)其中y不属于Y,那么样本s称为分布外数据。

但有研究表明深度学习模型的分类结果在测试数据中含有分布外数据的情况下置信度很低,在许多网络安全问题中分类错误将导致严重的后果。基于机器学习或深度学习算法的分类模型,在分类网络流量任务中,得到的分类结果并不是可信的,原因有两个。其一,当训练模型被投入到实际应用中,不能保证测试数据中的数据全部为分布内数据;其二,若出现分布外数据与分布内数据较为相似的情况时,大部分深度学习模型会将分布外数据以高置信度划分为分布内数据类型。对于网络安全问题来说,分类错误将会导致更加严重的问题。

对于基于计算相似度的检测方法,本质上是通过提取两个类别数据的特征从而计算二者之间的距离来表征相似度。但由于如何提取特征以及提取到的特征会有很大的随意性,并没有一个标准,对于不同类型的数据有大的差距,因此计算出的距离并不具有唯一性。同时,不同特征之间的度量尺度也不相同,计算距离或相似度是一件主观性很强且困难的事情。此外,判断是否为分布外数据的尺度也不容易设置,设置过大或过小都容易造成很高的误报率。

发明内容

本发明要解决的问题是为了提高网络流量数据识别的精准度和置信度,本发明提出了一种基于计算似然比的分布外网络流量数据检测方法。

为实现上述目的,本发明通过以下技术方案实现:

一种基于计算似然比的分布外网络流量数据检测方法,包括如下步骤:

S1、提取网络流量特征:原始流量为pcap包,根据五元组划分为不同的数据流,设置为提取数据包长度序列、计算包到达时间间隔序列,将以上序列保存并生成CSV文件,作为模型训练的原始训练数据;

S2、使用步骤S1的原始训练数据训练原始分类模型,采用深度学习算法长短期记忆网络进行原始分类模型的训练,得到原始训练数据训练出的模型为A(·);

S3、生成扰动数据,对步骤S1的原始训练数据采用加入高斯白噪声的方法生成扰动数据;

S4、训练扰动模型,使用步骤S3的扰动数据采用深度学习算法LSTM(LSTM,LongShort-Term Memory)训练扰动模型,得到扰动数据训练出的模型为B(·);

S5、计算似然比,判断分布外数据。

进一步的,步骤S1中原始流量为利用流量指纹特征中的原始时间、空间相关特征表征流量,流量指纹特征包括报文头部,长度,到达时间。

进一步的,步骤S2中LSTM网络通过引入自循环和三个门控制信息的传递,分别为遗忘门f、输入门i和输出门o;LSTM神经元在时间维度上向后传递了两种信息,分别为单元格状态c、隐藏状态h,其中隐形状态hidden state是单元格状态cell state经过一个神经元和一个输出门之后得到的;

在训练过程中,c

(1)利用t-1时刻的hidden state计算遗忘门f

(2)利用t-1时刻的hidden state计算输入门i

(3)利用t-1时刻的hidden state计算候选值c'

(4)利用t-1时刻的hidden state计算输出门o

(5)根据t时刻的cell state和t-1时刻的cell state、遗忘门、输入门和候选值计算c

其中:t表示时间,x表示输入,h表示隐形状态,W表示是模型中线性关系的参数矩阵,U表示模型中线性关系的参数矩阵,W和U在整个LSTM网络中是共享的;b表示偏差,σ为激活函数,激活函数使用sigmoid函数。

进一步的,步骤S3中高斯白噪声为正态函数,其一阶矩为常数,二阶矩不相关,加入高斯白噪声用于模拟分布外数据。

进一步的,步骤S4中采用步骤S2的深度学习算法LSTM训练扰动模型,为了减小数据背景统计特征的影响,在数据中加入扰动以破坏部分语义特征,从而训练出新的模型。

进一步的,步骤S5计算似然比的步骤为:

S5.1、将网络流量数据总结为两大类:以背景统计数据作为特征提取主要来源,记作背景统计数据特征X

S5.2、假设网络流量数据转换成为了一个d维向量x=x

P(x)=P(x

S5.3、使用原始训练数据训练出的模型为A(·),使用扰动数据训练出的模型为B(·),则样本x的似然比LR(x)计算公式定义为:

S5.4、S5.3中两个模型所使用训练数据语义特征不同,但是背景统计数据特征大致相同,所以A(x

其中logA(x)表示样本x与分布内数据的关联性,logB(x)表示样本x与分布外数据的关联程度。

进一步的,步骤S5中判断分布外数据的方法为:

设定阈值;

对设定的阈值和似然比LR(x)进行比较,当计算得到的似然比LR(x)≥阈值,样本x为分布内数据,当计算得到的似然比LR(x)<阈值,样本x为分布外数据。

进一步的,S5.5步骤中阈值设定为0.02。

进一步的,S5.5步骤中阈值设定方法为:阈值的设定以三组实验结果取得,通过测定相似网络流量的相对距离设置合理的阈值:

(1)第一组实验采用邮箱流量数据:分别收集QQ邮箱、163电子邮箱、谷歌电子邮箱、新浪邮箱四种不同邮箱类型流量并以这些网络流量数据等分为10份,其中随机选取9份作为训练数据,1份作为测试数据:

模型训练采用决策树算法,于是定义相似网络流量的相对距离为:将测试数据中样例x输入分类模型中,将分类的结果表示为:样例x被分类为QQ邮箱、163电子邮箱、谷歌电子邮箱和新浪邮箱的概率分别为P

最后将测试数据中所有样本x的相对距离取平均数得到阈值的参考值threshold:

(2)第二组实验采用视频流量数据,分别收集TikTok、Netflix、Facebook、B站四个视频平台流量数据并将其划分为10等份,其中随机选取9份作为训练数据,1份作为测试数据,模型训练采用决策树算法,将测试数据输入模型中,并将分类结果代入到公式(a),(b)中得到阈值参考值;

(3)第三组实验采用数据库流量数据,分别收集Oracle、SQLServer、DB2、MySQL四个常见数据库流量数据并将其划分为10等份,其中随机选取9份作为训练数据,1份作为测试数据,模型训练采用决策树算法,将测试数据输入模型中,并将分类结果代入到公式(a),(b)中得到阈值参考值。

进一步的,第一组实验的阈值参考值为0.024,第二组实验的阈值参考值为0.021,第三组实验的阈值参考值为0.028,由于流量的类别不同,因此每种流量与之相似流量的相对距离不同,根据三种较有代表性的流量种类得出的结果,将判定分布外数据的阈值设定为0.02。

本发明的有益效果:

本发明所述的一种基于计算似然比的分布外网络流量数据检测方法,似然比是反映真实性的一种指标,同时也是衡量二者之间相似度的一种指标。似然比定义为有约束条件下的似然函数与无约束条件下的似然函数最大值之比。

本发明所述的一种基于计算似然比的分布外网络流量数据检测方法,基于计算相似度的检测方法。通过机器学习算法训练分类模型,定义两个类别之间的相似度,通过计算测试数据与已知类别的相似度判断是否属于分布外数据。

本发明所述的一种基于计算似然比的分布外网络流量数据检测方法,由于目前大部分方法采用单一分类模型,且未使用分布外数据进行模型的训练,而是直接进行相似度的计算和判断,本发明提出了一种基于计算似然比的分布外流量数据检测技术,通过深度学习算法训练原始模型和扰动模型,计算两个模型得到结果的似然比判断测试数据与分布内数据的关联程度,实现对分布外数据的检测识别。

本发明所述的一种基于计算似然比的分布外网络流量数据检测方法,为了提高传统深度学习分类模型分类结果的置信度,使用两个模型,即原始分类模型和扰动模型,通过再传统分类方法上额外添加辅助模型,利用似然比表征的依赖程度判断测试数据中是否存在分布外数据。通过净化测试数据可以大大减小分类错误的可能性。

本发明所述的一种基于计算似然比的分布外网络流量数据检测方法,可用于发现新类别数据,并加入到原分类模型中,提高原模型的鲁棒性。

附图说明

图1为本发明所述的一种基于计算似然比的分布外网络流量数据检测方法的算法流程图;

图2为本发明所述的一种基于计算似然比的分布外网络流量数据检测方法的步骤S1特征提取流程图;

图3为本发明所述的一种基于计算似然比的分布外网络流量数据检测方法的步骤S2的LSTM算法的一个神经元结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅用以解释本发明,并不用于限定本发明,即所描述的具体实施方式仅仅是本发明一部分实施方式,而不是全部的具体实施方式。通常在此处附图中描述和展示的本发明实施例的组件可以以各种不同的配置来布置和设计,本发明还可以具有其他实施方式。

因此,以下对在附图中提供的本发明的具体实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定具体实施方式。基于本发明的具体实施方式,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

为能进一步了解本发明的发明内容、特点及功效,兹例举以下实施例,并配合附图详细说明如下:

参照附图1和附图2:

一种基于计算似然比的分布外网络流量数据检测方法,包括如下步骤:

S1、提取网络流量特征:原始流量为pcap包,根据五元组划分为不同的数据流,设置为提取数据包长度序列、计算包到达时间间隔序列,将以上序列保存并生成CSV文件,作为模型训练的原始训练数据;

S2、使用步骤S1的原始训练数据训练原始分类模型,采用深度学习算法长短期记忆网络进行原始分类模型的训练,得到原始训练数据训练出的模型为A(·);

S3、生成扰动数据,对步骤S1的原始训练数据采用加入高斯白噪声的方法生成扰动数据;

S4、训练扰动模型,使用步骤S3的扰动数据采用深度学习算法LSTM训练扰动模型,得到扰动数据训练出的模型为B(·);

S5、计算似然比,判断分布外数据。

进一步的,步骤S1中原始流量为利用流量指纹特征中的原始时间、空间相关特征表征流量,流量指纹特征包括报文头部,长度,到达时间。

进一步的,步骤S1中流量指纹特征:流量指纹特征是表征某一流量的一个特征或特征的组合,在一定程度上反映出流量的应用或协议类型以用于分析。

进一步的,步骤S1中原始流量为pcap包,包含了应用层、传输层等信息。

进一步的,步骤S1中五元组包括源地址、目的地址、源端口号、目的端口号和协议号,提取过程如图2所示。

进一步的,步骤S2中LSTM网络通过引入自循环和三个门控制信息的传递,分别为遗忘门f、输入门i和输出门o;LSTM神经元在时间维度上向后传递了两种信息,分别为单元格状态c、隐藏状态h,其中隐形状态hidden state是单元格状态cell state经过一个神经元和一个输出门之后得到的;

在训练过程中,c

(6)利用t-1时刻的hidden state计算遗忘门f

(7)利用t-1时刻的hidden state计算输入门i

(8)利用t-1时刻的hidden state计算候选值c'

(9)利用t-1时刻的hidden state计算输出门o

(10)根据t时刻的cell state和t-1时刻的cell state、遗忘门、输入门和候选值计算c

其中:t表示时间,x表示输入,h表示隐形状态,W表示是模型中线性关系的参数矩阵,U表示模型中线性关系的参数矩阵,W和U在整个LSTM网络中是共享的;b表示偏差,σ为激活函数,激活函数使用sigmoid函数。

进一步的,步骤S2中原始数据是指所有数据类型均为已知类别,即均为分布内数据类型。

进一步的,步骤S2中LSTM网络是一种时间递归神经网络,适合处理和预测时间序列中间隔和延迟相对较长的事件。在LSTM网络中,主要通过引入自循环和三个门控制信息的传递,分别为遗忘门、输入门和输出门。LSTM的网络结构较为复杂,如图3所示,门的状态通常有三种,分别为全开(信息通过概率为1),全闭(信息通过概率为0),以及半开(信息通过概率介于0和1之间)。对于这三种门信息通过均用概率形式表示。一个信息进入LSTM网络当中,需要根据规则来判断是否有用,只有符合算法认证的信息才能保存,不符的信息则会通过遗忘门被遗忘。

进一步的,步骤S2中LSTM神经元在时间维度上向后传递了两种信息,分别为单元格状态(cell state)和隐藏状态(hidden state)。其中隐藏状态是单元格状态经过一个神经元和一个输出门之后得到的,即隐藏状态包含的记忆实际上是单元格状态衰减后的。因此,单元格状态存储的为长期记忆,隐藏状态存储的是短期记忆。与前馈神经网络相似,LSTM网络的训练同样采用误差的反向传播算法。因为LSTM网络一般适用于处理序列数据,而经过预处理的流量数据形式为序列数据,因此本发明采用LSTM训练网络流量分类模型。

进一步的,步骤S3中高斯白噪声为正态函数,其一阶矩为常数,二阶矩不相关,加入高斯白噪声用于模拟分布外数据。

进一步的,步骤S3中生成扰动数据的目的在于模拟分布外数据。通过对分布内数据加入扰动或噪声实现,高斯白噪声是序列数据加噪的理想模型。高斯白噪声不会大幅度改变数据结构,因此较为适用于模拟与分布内数据较为相似的分布外数据。

进一步的,步骤S4中采用步骤S2的深度学习算法LSTM训练扰动模型,为了减小数据背景统计特征的影响,在数据中加入扰动以破坏部分语义特征,从而训练出新的模型。

进一步的,步骤S5计算似然比的步骤为:

S5.1、将网络流量数据总结为两大类:以背景统计数据作为特征提取主要来源,记作背景统计数据特征X

S5.2、假设网络流量数据转换成为了一个d维向量x=x

P(x)=P(x

S5.3、使用原始训练数据训练出的模型为A(·),使用扰动数据训练出的模型为B(·),则样本x的似然比LR(x)计算公式定义为:

S5.4、S5.3中两个模型所使用训练数据语义特征不同,但是背景统计数据特征大致相同,所以A(x

其中logA(x)表示样本x与分布内数据的关联性,logB(x)表示样本x与分布外数据的关联程度。

进一步的,步骤S5中判断分布外数据的方法为:

设定阈值;

对设定的阈值和似然比LR(x)进行比较,当计算得到的似然比LR(x)≥阈值,样本x为分布内数据,当计算得到的似然比LR(x)<阈值,样本x为分布外数据。

进一步的,S5.5步骤中阈值设定为0.02。

进一步的,S5.5步骤中阈值设定方法为:阈值的设定以三组实验结果取得,通过测定相似网络流量的相对距离设置合理的阈值:

(1)第一组实验采用邮箱流量数据:分别收集QQ邮箱、163电子邮箱、谷歌电子邮箱、新浪邮箱四种不同邮箱类型流量并以这些网络流量数据等分为10份,其中随机选取9份作为训练数据,1份作为测试数据:

模型训练采用决策树算法,于是定义相似网络流量的相对距离为:将测试数据中样例x输入分类模型中,将分类的结果表示为:样例x被分类为QQ邮箱、163电子邮箱、谷歌电子邮箱和新浪邮箱的概率分别为P

最后将测试数据中所有样本x的相对距离取平均数得到阈值的参考值threshold:

(2)第二组实验采用视频流量数据,分别收集TikTok、Netflix、Facebook、B站四个视频平台流量数据并将其划分为10等份,其中随机选取9份作为训练数据,1份作为测试数据,模型训练采用决策树算法,将测试数据输入模型中,并将分类结果代入到公式(a),(b)中得到阈值参考值;

(3)第三组实验采用数据库流量数据,分别收集Oracle、SQLServer、DB2、MySQL四个常见数据库流量数据并将其划分为10等份,其中随机选取9份作为训练数据,1份作为测试数据,模型训练采用决策树算法,将测试数据输入模型中,并将分类结果代入到公式(a),(b)中得到阈值参考值。

进一步的,第一组实验的阈值参考值为0.024,第二组实验的阈值参考值为0.021,第三组实验的阈值参考值为0.028,由于流量的类别不同,因此每种流量与之相似流量的相对距离不同,根据三种较有代表性的流量种类得出的结果,将判定分布外数据的阈值设定为0.02。

进一步的,步骤S5中对于网络流量数据来说,每种数据结构都同时存在这两大特征构成,但所占比重不同,起到决定性作用的来源也不同。例如,图片数据,在选取图片数据特征时几乎都采用的是背景统计数据(background),因此在训练模型时往往需要庞大合理的数据集;又如对于文本数据,其特征提取大部分取自于文本中特殊的模式语义(pattern)。而对于流量数据,往往需要对流量数据进行预处理,预处理后的数据大部分转换成为了向量的形式(也有转换成为图片格式,本发明所作预处理将流量数据转换成为向量形式)。

进一步的,在训练生成模型时,根据流量数据的向量特征表示,将很难区分数据背景特征和语义特征。为了减小忽略数据背景统计特征的影响,可以在数据中加入扰动以破坏一些语义特征,从而训练出新的模型,两个模型所使用训练数据愿语义特征不同但是背景统计数据特征大致相同,能够推导出步骤S5中似然比的公式:

进一步的,在上述公式中,由于实验中并未改变数据的背景统计特征,因此可以得到A(x

进一步的,为了提高识别的精准度和置信度,本实施方式设计的检测方法拥有两个分类模型,分别为原始模型和扰动模型,其中原始模型使用分布内数据训练得到,扰动模型使用扰动数据训练得到。为了模拟实际应用中的分布外数据,本实施方式通过对分布内数据加入噪声构造扰动数据模拟分布外数据从而训练扰动模型,最后通过计算两个模型结果的似然比与阈值比较判断是否为分布外数据。

具体实施方式二:

根据具体实施方式一的方法,模型的训练与测试。其中原始模型的训练使用的训练数据采用公开流量数据集Moore数据集。Moore数据集是由研究者在剑桥大学实验室收集得到,该流量数据集中包含了邮件,恶意流量,数据库等12种类别流量。将原始Moore数据集在步骤三中加入高斯白噪声后生成扰动数据。并使用生成的扰动数据训练扰动模型。测试数据使用Moore数据集和自行收集的流量数据的混合数据集。其中自行收集的流量数据集包含与Moore数据集相同类别的流量,但由于数据流量形式和网络协议的更新,自行收集的流量虽然类别与Moore数据集中相同但较与Moore数据集中的流量来说,自行收集的流量属于分布外数据,因此测试的目的在于检测出混合数据集当中的自行收集的流量。根据实验结果显示,该方法识别分布外数据的准确率可以达到90%以上。此外,识别出的分布外数据作为新类别数据,将其贴上新的标签作为新的分布内数据并加入到原始模型中,增强原始模型的鲁棒性。

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

虽然在上文中已经参考具体实施方式对本申请进行了描述,然而在不脱离本申请的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,本申请所披露的具体实施方式中的各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本申请并不局限于文中公开的特定具体实施方式,而是包括落入权利要求的范围内的所有技术方案。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号