一种网络流量异常检测方法及系统与流程

文档序号:11138327阅读:527来源:国知局
本发明涉及网络信息安全
技术领域
:,特别是涉及一种网络流量异常检测方法及系统。
背景技术
::随着计算机网络技术的发展以及网络设施覆盖的不断扩大,网络系统越来越复杂,网络设备也越来越多样化,使出现网络流量异常情况的机会增大。网络流量异常是指网络的流量行为偏离其正常行为的情形,网络流量异常会给网络及网络上的计算机带来极大危害,因此对网络流量行为进行监控并及时地发现异常情况,对提高网络的可靠性和可用性具有十分重要的意义。近年来,对网络流量异常的检测方法使用较多的是使用机器学习方法来训练模型,这些研究使用K-Means聚类的方法、支持向量机(SupportVectorMachine)、隐马尔科夫模型(HiddenMarkovModel)、朴素贝叶斯(Bayes)等成熟的机器学习方法和特征提取方法,在检测流量异常方面取得了一定的效果。但现有方法存在以下缺点:对于采集的网络流量的数据样本,在模型训练时是以单个流量数据样本为输入样本进行模型训练,该方法中没有考虑历史信息对当前数据的影响,因此对网络流量异常检测的准确度较低。技术实现要素:本发明提供一种网络流量异常检测方法及系统,以流量数据样本序列为输入进行模型训练,考虑了流量数据在时间上的相关性,可提高对流量异常行为检测的准确度。为实现上述目的,本发明提供如下技术方案:一种网络流量异常检测方法,包括:对网络流量进行采样,采样获得由流量数据样本构成的时间序列;以预设尺度的时间窗口,从所述时间序列中提取样本子序列;将所述样本子序列作为输入样本输入到分类模型中进行模型训练,以确定所述分类模型的参数;根据参数确定后的所述分类模型,测试获得网络流量正常和异常的分类结果。可选地,所述以预设尺度的时间窗口,从所述时间序列中提取样本子序列包括:以预设尺度的时间窗口,从所述时间序列中提取子序列;对提取的每一所述子序列以预设时间尺度进行压缩,得到所述样本子序列,所述样本子序列的每一元素为原子序列中预设数量的流量数据样本的平均值。可选地,所述分类模型采用神经网络模型,所述神经网络模型包括:由神经元节点构成的神经网络层,所述神经元节点用于对输入的流量数据样本进行处理;用于对各所述神经元节点的输出值进行平均处理的池化操作层;通过逻辑回归函数对经平均处理后得到的数据处理的逻辑回归输出层。可选地,所述神经元节点包括输入门、遗忘门和输出门,所述神经元节点对输入的流量数据样本的处理过程包括:步骤S1:所述遗忘门丢弃冗余信息,描述为:ft=σ(Wf·[ht-1,xt]+bf);步骤S2:保存新的有用信息,描述为:it=σ(Wi·[ht-1,xt]+bt),步骤S3:更新神经元节点状态,描述为:步骤S4:输入到下一组神经元节点,描述为:ot=σ(Wo·[ht-1,xt]+bo),ht=ot*tanh(Ct);其中,xt表示在时刻t输入的流量数据样本,ht-1表示所述神经元节点在时刻t-1的输出值,ht表示所述神经元节点在时刻t的输出值,Ct表示所述神经元节点在时刻t的状态,Ct-1表示所述神经元节点在时刻t-1的状态,表示隐含层神经元节点在时刻t的值,Wi、Wf、Wc、Wo表示模型中的权重矩阵,bi、bf、bo表示模型中的偏置向量。可选地,所述根据参数确定后的所述分类模型,测试获得网络流量正常和异常的分类结果包括:将提取的时刻t的样本子序列的各流量数据样本输入到所述神经元节点进行处理,得到对应各流量数据样本的输出值;通过池化操作层,对获得的各输出值进行平均处理;将经平均处理后得到的数据输入到逻辑回归函数处理,得到异常和正常的分类概率。可选地,所述对网络流量进行采样,采样获得由流量数据样本构成的时间序列包括:将采集的原始流量信号转换为文本格式,从转换后的数据中采样获得所述流量数据样本,构成所述时间序列。一种网络流量异常检测系统,包括:采样模块,用于对网络流量进行采样,采样获得由流量数据样本构成的时间序列;特征提取模块,用于以预设尺度的时间窗口,从所述时间序列中提取样本子序列;模型训练模块,用于将所述样本子序列作为输入样本输入到分类模型中进行模型训练,以确定所述分类模型的参数;测试模块,用于根据参数确定后的所述分类模型,测试获得网络流量正常和异常的分类结果。可选地,所述特征提取模块用于以预设尺度的时间窗口,从所述时间序列中提取样本子序列包括:所述特征提取模块具体用于:以预设尺度的时间窗口,从所述时间序列中提取子序列;对提取的每一所述子序列以预设时间尺度进行压缩,得到所述样本子序列,所述样本子序列的每一元素为原子序列中预设数量的流量数据样本的平均值。可选地,所述分类模型采用神经网络模型,所述神经网络模型包括:由神经元节点构成的神经网络层,所述神经元节点用于对输入的流量数据样本进行处理;用于对各所述神经元节点的输出值进行平均处理的池化操作层;通过逻辑回归函数对经平均处理后得到的数据处理的逻辑回归输出层;所述测试模块包括:神经元节点层,用于将提取的时刻t的样本子序列的各流量数据样本输入到所述神经元节点进行处理,得到对应各流量数据样本的输出值;池化操作层,用于对获得的各输出值进行平均处理;逻辑回归处理层,用于将经平均处理后得到的数据输入到逻辑回归函数处理,得到异常和正常的分类概率。可选地,所述采样模块用于对网络流量进行采样,采样获得由流量数据样本构成的时间序列包括:所述采样模块具体用于:将采集的原始流量信号转换为文本格式,从转换后的数据中采样获得所述流量数据样本,构成所述时间序列。由上述技术方案可知,本发明所提供的网络流量异常检测方法及系统,首先对网络流量进行采样,采样获得由流量数据样本构成的时间序列,通过以预设尺度的时间窗口,从时间序列中提取样本子序列,将样本子序列输入到分类模型中进行模型训练,确定所述分类模型的参数,进而根据参数确定后的分类模型,测试获得网络流量正常和异常的分类结果。本发明网络流量异常检测方法及系统,以预设尺度的时间窗口从采样获得的时间序列中提取样本子序列,将由流量数据样本构成的样本子序列进行模型训练,基于此获得的分类模型中考虑了时间信息的影响,该检测方法中考虑了流量数据在时间上的相关性,与现有方法相比,可提高对网络流量异常行为检测的准确度。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的一种网络流量异常检测方法的流程图;图2为本发明实施例提供的一种网络流量异常检测系统的示意图。具体实施方式为了使本
技术领域
:的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。本发明实施例提供一种网络流量异常检测方法,包括:对网络流量进行采样,采样获得由流量数据样本构成的时间序列;以预设尺度的时间窗口,从所述时间序列中提取样本子序列;将所述样本子序列作为输入样本输入到分类模型中进行模型训练,以确定所述分类模型的参数;根据参数确定后的所述分类模型,测试获得网络流量正常和异常的分类结果。可以看出,本实施例网络流量异常检测方法,首先对网络流量进行采样,采样获得由流量数据样本构成的时间序列,通过以预设尺度的时间窗口,从时间序列中提取样本子序列,将样本子序列输入到分类模型中进行模型训练,确定所述分类模型的参数,进而根据参数确定后的分类模型,测试获得网络流量正常和异常的分类结果。本发明网络流量异常检测方法,以预设尺度的时间窗口从采样获得的时间序列中提取样本子序列,将由流量数据样本构成的样本子序列进行模型训练,基于此获得的分类模型中考虑了时间信息的影响,该检测方法中考虑了流量数据在时间上的相关性,与现有方法相比,可提高对网络流量异常行为检测的准确度。下面对本实施例网络流量异常检测方法进行详细说明。请参考图1,本实施例网络流量异常检测方法包括步骤:S10:对网络流量进行采样,采样获得由流量数据样本构成的时间序列。可采用网络探针,从网络流量中采集一时间段内的网络流量信号,将采集的原始流量信号转换为文本格式,从转换后的数据中采样获得流量数据样本,构成所述时间序列。假设采样获得包含n个流量数据样本的时间序列,该时间序列表示为:xt1,xt2,…,xtn。其中,每一所述流量数据样本是一个多维向量。以BGP(BorderGatewayProtocol)流量为例,采样获得的流量数据样本是33维的向量。BGP流量是以MRTtable形式存放,因此在采样时将其转化为ASCII文本格式。BGP(BorderGatewayProtocol)是因特网中不同自治域之间交换链路可达等路由信息的默认协议,其中BGP的update信息包流量可以反映出两个自治域之间的信息交换健康程度,因此监控BGP流量对于提高因特网安全和稳定性具有重要意义。S11:以预设尺度的时间窗口,从所述时间序列中提取样本子序列。具体的,本步骤包括:S110:以预设尺度的时间窗口,从所述时间序列中提取子序列。假设时间窗口的尺度大小为e,通过滑动时间窗口,从时间序列中依次提取子序列,提取的第i个子序列描述为那么流量数据样本xti的状态与其前e个流量数据样本构成的所述子序列相关。S111:对提取的每一所述子序列以预设时间尺度进行压缩,得到所述样本子序列,所述样本子序列的每一元素为原子序列中预设数量的流量数据样本的平均值。具体的,假设对每个子序列以值为P的时间尺度进行压缩,得到压缩后的子序列Si=(d1,d2,…,de/p),该子序列中的每一个元素为原来子序列中p个流量数据样本的均值。根据不同的时间尺度p对提取的子序列进行压缩,从而得到不同尺度压缩的新的子序列,作为输入样本进行模型训练,实现原始数据的多尺度时间序列分析。可以根据不同时间尺度的样本训练出多尺度的神经网络模型,可以提高分类的精确度,提高对网络流量分类检测的准确度。对于包含n个流量数据样本的时间序列,可提取得到n-e+1个子序列,可以设置每个样本子序列的标记为子序列中最后一个样本的标记。S12:将所述样本子序列作为输入样本输入到分类模型中进行模型训练,以确定所述分类模型的参数;本实施例中,所述分类模型采用神经网络模型,所述神经网络模型包括由神经元节点构成的神经网络层、池化操作层和逻辑回归层。其中,所述神经网络层由神经元节点构成,所述神经元节点用于对输入的流量数据样本进行处理;池化操作层用于对各神经元节点的输出值进行平均处理;逻辑回归输出层通过逻辑回归函数对经平均处理后得到的数据处理。其中,所述神经元节点包括输入门、遗忘门和输出门,所述神经元节点通过所述三个门控制信息流的传导,假设神经元节点在时刻t的输入表示为St,在时刻t的输出表示为ht。所述神经元节点对输入的流量数据样本的处理过程包括:步骤S1:所述遗忘门丢弃冗余信息,描述为:ft=σ(Wf·[ht-1,xt]+bf);步骤S2:保存新的有用信息,描述为:it=σ(Wi·[ht-1,xt]+bt),步骤S3:更新神经元节点状态,描述为:步骤S4:输入到下一组神经元节点,描述为:ot=σ(Wo·[ht-1,xt]+bo),ht=ot*tanh(Ct);其中,xt表示在时刻t输入的流量数据样本,ht-1表示所述神经元节点在时刻t-1的输出值,ht表示所述神经元节点在时刻t的输出值,Ct表示所述神经元节点在时刻t的状态,Ct-1表示所述神经元节点在时刻t-1的状态,表示隐含层神经元节点在时刻t的值,Wi、Wf、Wc、Wo表示模型中的权重矩阵,bi、bf、bo表示模型中的偏置向量。Ct表示所述神经元节点在时刻t的状态,具体表示记住了多少输入层的信息,以及记住了多少关于上一时刻的神经元的信息。表示隐含层神经元节点在时刻t的值,例如隐含层的神经元节点个数为100,则表示在时刻t的一个100维的向量值,值的大小表示记忆了多少该时刻的输入信息和上一个时刻的记忆信息。对于输入的一个样本子序列,该样本子序列包含的各流量数据样本分别输入到神经元节点中,对应各流量数据样本得到的输出值,输入到池化操作层进行平均处理,将经平均处理后得到的数据输入到逻辑回归函数处理,得到分类概率。经过模型训练后,确定该分类模型的各项参数。S13:根据参数确定后的所述分类模型,测试获得网络流量正常和异常的分类结果。在分类模型的参数确定后,将从时间序列中提取的样本子序列输入到该分类模型中,测试获得网络流量异常和正常的分类概率,得到检测分类结果。具体的,该步骤包括:将提取的时刻t的样本子序列的各流量数据样本输入到所述神经元节点进行处理,得到对应各流量数据样本的输出值;通过池化操作层,对获得的各输出值进行平均处理;将经平均处理后得到的数据输入到逻辑回归函数处理,得到异常和正常的分类概率。本实施例网络流量异常检测方法,一方面,以流量数据样本构成的序列作为输入样本进行模型训练及分类,而不是将输入数据直接应用机器学习模型进行分类,因此在模型训练及分类中考虑了网络流量的变化具有时间上的延续性和相关性,每一个样本的类型不仅与自身特征有关,还与前面若干个样本序列有关,即引入了时间信息到异常流量的检测和分类中。另一方面,根据不同的时间尺度p对子序列进行压缩,从而得到不同尺度下的新的子序列,实现原始数据的多尺度时间序列分析。可以根据不同时间尺度的样本训练出多尺度的神经网络模型,考虑不同时间尺度下输入到神经网络模型的子序列呈现出不同的特征模式,并对模型的分类输出性能产生影响。提高分类的准确度。相应的,请参考图2,本发明实施例还提供一种网络流量异常检测系统,包括:采样模块20,用于对网络流量进行采样,采样获得由流量数据样本构成的时间序列;特征提取模块21,用于以预设尺度的时间窗口,从所述时间序列中提取样本子序列;模型训练模块22,用于将所述样本子序列作为输入样本输入到分类模型中进行模型训练,以确定所述分类模型的参数;测试模块23,用于根据参数确定后的所述分类模型,测试获得网络流量正常和异常的分类结果。可以看出,本实施例网络流量异常检测系统,首先对网络流量进行采样,采样获得由流量数据样本构成的时间序列,通过以预设尺度的时间窗口,从时间序列中提取样本子序列,将样本子序列输入到分类模型中进行模型训练,确定所述分类模型的参数,进而根据参数确定后的分类模型,测试获得网络流量正常和异常的分类结果。本实施例网络流量异常检测系统,以预设尺度的时间窗口从采样获得的时间序列中提取样本子序列,将由流量数据样本构成的样本子序列进行模型训练,基于此获得的分类模型中考虑了时间信息的影响,该检测方法中考虑了流量数据在时间上的相关性,与现有方法相比,可提高对网络流量异常行为检测的准确度。本实施例中,所述特征提取模块21用于以预设尺度的时间窗口,从所述时间序列中提取样本子序列包括:所述特征提取模块21具体用于:以预设尺度的时间窗口,从所述时间序列中提取子序列;对提取的每一所述子序列以预设时间尺度进行压缩,得到所述样本子序列,所述样本子序列的每一元素为原子序列中预设数量的流量数据样本的平均值。根据不同的时间尺度p对提取的子序列进行压缩,从而得到不同尺度压缩的新的子序列,作为输入样本进行模型训练,实现原始数据的多尺度时间序列分析。可以根据不同时间尺度的样本训练出多尺度的神经网络模型,可以提高分类的精确度,提高对网络流量分类检测的准确度。本实施例中,所述分类模型采用神经网络模型,所述神经网络模型包括:由神经元节点构成的神经网络层,所述神经元节点用于对输入的流量数据样本进行处理;用于对各所述神经元节点的输出值进行平均处理的池化操作层;通过逻辑回归函数对经平均处理后得到的数据处理的逻辑回归输出层;相应的,所述测试模块23包括:神经元节点层,用于将提取的时刻t的样本子序列的各流量数据样本输入到所述神经元节点进行处理,得到对应各流量数据样本的输出值;池化操作层,用于对获得的各输出值进行平均处理;逻辑回归处理层,用于将经平均处理后得到的数据输入到逻辑回归函数处理,得到异常和正常的分类概率。在模型确定后,通过测试模块23将从时间序列中提取的子序列输入到神经网络模型中,测试获得网络流量异常和正常的分类概率,以检测网络流量是否异常。本实施例中,所述采样模块20用于对网络流量进行采样,采样获得由流量数据样本构成的时间序列包括:所述采样模块20具体用于:将采集的原始流量信号转换为文本格式,从转换后的数据中采样获得所述流量数据样本,构成所述时间序列。以上对本发明所提供的一种网络流量异常检测方法及系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1