异常网络流量检测方法、可读存储介质和终端与流程

文档序号:18471356发布日期:2019-08-20 20:20阅读:207来源:国知局
异常网络流量检测方法、可读存储介质和终端与流程

本发明属于网络安全技术领域,特别是涉及一种异常网络流量检测方法、可读存储介质和终端。



背景技术:

网络流量异常检测,用于监控网络工作状态是否健康,对于确保网络系统的正常工作是意义重大的。

国家信息安全漏洞共享平台(cnvd)中包含的高风险漏洞数量中,跨站脚本攻击(xss)、sql注入和拒绝服务攻击已成为国内互联网设施的主要攻击方法。在web应用程序的十大威胁安全报告owasptop10经过专家的检测后确定的十大类对当前web应用威胁最大和应用最广的漏洞中,xss攻击和注入攻击一直是排名靠前的需要引起重视的威胁。

但是,现有技术中的网络流量检测方法,无法准确地检测出网路流量中的异常网络流量,严重威胁了网络安全。



技术实现要素:

本发明解决的技术问题是如何提高异常网络流量检测的准确性。

为了达到上述目的,本发明提供一种异常网络流量检测方法,所述方法包括:

采用异常网络流量的外部参数数据构建异常网络流量分类模型;

采用所构建的异常网络流量分类模型对网络流量中的异常网络流量进行检测。

可选地,所述采用异常网络流量的外部参数构建异常网络流量分类模型,包括:

提取异常网络流量的外部参数数据;

为所提取的异常网络流量的外部参数数据进行异常类型标识;

采用所提取的外部参数数据和对应的异常类型标识,生成对应的外部参数数值序列;

提取所述外部参数数值序列的能量特征数据;

对所提取的能量特征数据进行训练,得到所述异常网络流量分类模型。

可选地,所述提取所述外部参数数值序列的能量特征数据,包括:

对所述外部参数数值序列进行分析,得到所述外部参数数值序列的周期;

采用以所述周期的大小作为滑动窗口和预设的滑动步长,将所述外部参数数值序列划分为对应的多个子序列;

采用对每个所述子序列进行小波分解,得到对应的能量特征数据。

可选地,所述能量特征数据包括低频信号能量、低频信号能量占比、第一至第五层高频信号能量、高频信号能量占比。

可选地,所述低频信号能量、低频信号能量占比、第一至第五层高频信号能量、高频信号能量占比分别采用如下的公式计算得到:

其中,ea5表示低频信号a5的能量,edj表示第j层高频信号dj的能量,era5表示低频信号a5的能量占比,erdj表示第j层高频信号dj的能量占比。

可选地,所述外部参数数据包括异常网络流量的数据包长度和url长度。

可选地,所述异常类型标识包括注入类型异常流量标识和xss类型异常流量标识。

可选地,所述异常网络流量分类模型为svm分类器。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行上述任一项所述的异常网络流量检测方法的步骤。

本发明实施例还提供了一种终端,包括存储器和处理器,所述存储器上储存有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行上述任一项所述的异常网络流量检测方法的步骤。

可选地,所述异常网络流量分类模型为svm分类器。

与现有技术相比,本发明的有益效果为:

上述的方案,通过采用异常网络流量的外部参数数据构建异常网络流量分类模型,并采用所构建的异常网络流量分类模型对网络流量中的异常网络流量进行检测,由于采用外部参数数据对网络流量中的异常网络流量进行检测,可以克服人类主观错误和知识更新缓慢对网络流量检测造成的影响,可以提高异常网络流量检测的准确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例中的一种异常网络流量检测方法的流程示意图;

图2是本发明实施例中的另一种异常网络流量检测方法的流程示意图;

图3是本发明实施例中的采用小波函数对子序列进行低频和高频分解的示意图;

图4是本发明实施例中的采用滑动窗口对外部参数数值序列进行子序列划分的示意图;

图5是本发明实施例中的采用小波分析对信号进行多层分解的示意图;

图6是本发明实施例中的一种异常网络流量检测装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本发明实施例中有关方向性指示(诸如上、下、左、右、前、后等)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

如背景技术所述,现有技术中对异常流量的检测,一般是基于人工经验。即使是基于自动检测的算法,一般也基于先验知识。例如,使用预先建立的规则库进行规则匹配,阈值匹配等。但是,这些方法都是基于人类的知识,可能受到人类主观错误和知识更新缓慢的影响。因此,存在着检测准确率低的问题。

本发明的技术方案通过采用异常网络流量的外部参数数据构建异常网络流量分类模型,并采用所构建的异常网络流量分类模型对网络流量中的异常网络流量进行检测,由于采用外部参数数据对网络流量中的异常网络流量进行检测,可以克服人类主观错误和知识更新缓慢对网络流量检测造成的影响,可以提高异常网络流量检测的准确性。

为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。

图1是本发明实施例的一种异常网络流量检测方法的流程示意图。参见图1,一种异常网络流量检测方法,具体可以包括如下的步骤:

步骤s101:采用异常网络流量的外部参数数据构建异常网络流量分类模型。

在具体实施中,所述外部参数数据为异常网络流量数据包的外部参数数据,其不涉及异常网络流量数据包中的内容。

步骤s102:采用所构建的异常网络流量分类模型对网络流量中的异常网络流量进行检测。

在具体实施中,当构建完成对应的异常网络流量分类模型时,便可以将网络流量输入所述异常网络流量分类模型,实现异常网络流量的检测。

上述的方案,通过采用异常网络流量的外部参数数据构建异常网络流量分类模型,并采用所构建的异常网络流量分类模型对网络流量中的异常网络流量进行检测,由于采用外部参数数据对网络流量中的异常网络流量进行检测,可以提高异常网络流量检测的准确性。

下面将结合图2对本发明实施例中的异常网络流量检测方法进行进一步详细的介绍。

步骤s201:提取异常网络流量的外部参数数据,并为所提取的异常网络流量的外部参数数据进行异常类型标识。

在本发明一实施例中,所提取的外部参数数据包括异常网络流量数据包的数据包长度和统一资源定位符(url)长度。

在具体实施中,当纯异常网络流量的数据量较少时,为了充分挖掘异常网络流量的特征,所述异常网络流量的来源可以包括纯异常网络流量和包括正常网络流量和异常网络流量的混合网络流量。

在本发明一实施例中,所纯异常网络流量和混合网络流量均采用pcap数据包的形式。其中,在对纯异常网络流量进行外部参数提取时,可以采用python的scapy模块对pcap包进行解析并提取对应的外部参数,并根据与之对应的告警日志中异常编号的字段中的异常网络流量类型的信息对提取出来的外部参数打上相应的异常网络流量类型标识,如注入型异常流量标识和xss型异常流量标识等。

在混合网络流量中,异常网络流量仅占其中很小一部分,故为了减轻工作量,首先将混合网络流量中的正常网络流量进行过滤。在本发明一实施例中,用k最近邻(knn)算法将混合网络流量中的正常网络流量过滤。其中,在采用knn)算法对混合网络流量中的正常网络流量进行过滤时,需要对参数k进行优化。在本发明一实施例中,采用网格搜索算法对参数k进行优化,最终所选取的k值为3。

步骤s202:采用所提取的外部参数数据和对应的异常类型标识,生成对应的外部参数数值序列。

在具体实施中,通过外部参数提取和类型标注,得到了数据包长和url长度的数值序列以及对应的类型标签。接下来,将所提取的每个异常网络流量数据的外部参数和对应的异常网络流量类型标识进行按照顺序进行排列,便可以得到对应的外部参数数值序列。

步骤s203:提取所述外部参数数值序列的能量特征数据。

在具体实施中,提取述外部参数数值序列的能量特征数据时,可以首先将所述外部参数数值序列看作信号。在本发明一实施例中,采用哈尔小波函数对该外部参数数值序列构成的信号进行小波分解,提取对应的能量特征数据。

为了在长序列中获得足够数量的特征组长度,需要在其中提取具有一定长度的子序列。在本发明一实施例中,通过设置滑动窗口可以满足此要求。对于长度为m的序列长度t和目标阈值w,长度为w的滑动窗口通过t以获得(m×w)+1个子序列。为了获得足够量的特征向量组供后续分类器的学习,首先,对外部参数数值序列进行初步分析,得出其大致的周期。接着,采用以所得到的周期为滑动窗口,并以预设滑动步长(如1等)移动所述滑动窗口,将每个滑动窗口内的数值序列作为一个子序列,将外部参数数值序列划分为对应的(m×w)+1个子序列。最后,对每个子序列提取一组特征向量。

在本发明一实施例中,当滑动到数据尾部而数据不够时,将序列首尾相连,构建成循环序列。参见图3,假设有4条数据,分别为1、2、3、4,滑动窗口为3,步长为1。那么数据1对应的序列为1,2,3,数据2对应的序列为2,3,4,以此类推,每次对灰色框中的序列进行小波分解提取特征。从而为每条数据构建特征向量。

参见图4,为了分析流量异常的整体特征需要提取低频特征,为了区分两种不同的流量异常需要提取高频特征。在实际应用中,采用哈尔小波函数对所得到的子序列构成的信号进行小波分解处理时,通常需要基于信号的特性或适当的标准选择适当数量的分解层。在图4中,h1和g1分别是高通滤波器和低通滤波器的系数,分别通过高通滤波器和低通滤波器子序列构成的信号进行小波分解,可以将数值序列分解为低频概况c0,k和高频细节d0,k,箭头2指滤波器的阶数为2。参见图5,发明人发现对有外部参数须知序列,即信号进行一层分解后得到的高频分量cd1充分展示了细节,随后进一步的层分解后高频波形没有变化;不断地分解低频成分ca1、ca2、ca3和ca4,并且当它被分解为五层高频时组件cd5时,其中仅包含了单个样本。因此,在本发明一实施例中,对每个子序列所提取的能量特征数据包括低频信号能量、低频信号能量占比、第一至第五层高频信号能量、高频信号能量占比。其中,能量占比是低频信号a5的能量和各高频信号d1,d2,…d5信号的能量与总能量的比值,可以分别采用如下的公式计算得到:

其中,ea5表示低频信号a5的能量,edj表示第j层高频信号dj的能量,era5表示低频信号a5的能量占比,erdj表示第j层高频信号dj的能量占比。

步骤s204:对所提取的能量特征数据进行训练,得到所述异常网络流量分类模型。

在具体实施中,当提取到所有子序列的能量特征数据时,便可以对所提取的能量特征数据进行训练,得到对应的异常网络流量分类模型。在本发明一实施例中,所述异常网络流量分类模型为支持向量机(svm)分类器。

在对所述子序列的能量特征数据进行训练得到所述svm分类器时,可以采用间接算法进行。

其中,svm分类器的训练优化首先考虑核函数的选择,高斯径向基函数是局部性强核函数,它可以将样本映射到更高维空间,这是其最广泛使用的关键所在。无论大样本还是小样本都有比较好的性能,并且其比多项式核函数具有更少的参数,因此大多数情况下,在不知道使用什么核函数时,优先使用高斯核函数。

svm模型的训练学习还要考虑到两个很重要的参数,分别是cost与gamma。其中,cost一般可以选择为:10t,t=-4,-3,...,3,4。cost选择的越大,对错误例惩罚程度越大,但可能会导致模型的过度拟合。gamma是径向基函数(radjalbasisfunction,rbf)自带的一个参数,当选择rbf函数作为svm的核函数时就自然要考虑这个参数的取值。数据从平面映射到新的高维特征空间后的分布隐式的由该函数决定。gamma的取值大小决定支持向量的数量多少。而支持向量的个数影响训练与预测的速度,所以像cost一样,gamma的取值也要好好衡量,其数值默认为类别数目n_features的倒数,在本发明一实施例中,gamma值为0.5。

步骤s205:采用所构建的异常网络流量分类模型对网络流量中的异常网络流量进行检测。

在具体实施中,在采用构建完成对应的异常网络流量分类模型对网络流量进行检测时,首先对待检测的网络流量提取外部参数数据,计算所提取的外部参数数据的能量特征,再将所提取的外部参数数据的能量特征输入所述异常网络流量分类模型,对异常网络流量进行检测和识别。

上述对本发明实施例中的异常网络流量检测方法进行详细的描述,下面将对上述的方法对应的装置进行介绍。

图6示出了本发明实施例中的一种异常网络流量检测装置的结构示意图。参见图6,一种异常网络流量检测装置60可以包括模型构建单元601和流量检测单元602,其中:

所述模型构建单元601,适于采用异常网络流量的外部参数数据构建异常网络流量分类模型;在本发明一实施例中,所述外部参数数据包括异常网络流量的数据包长度和url长度。在本发明另一实施例中,所述异常网络流量分类模型为svm分类器。

所述流量检测单元602,适于采用所构建的异常网络流量分类模型对网络流量中的异常网络流量进行检测。

在本发明一实施例中,所述模型构建单元602,适于提取异常网络流量的外部参数数据;为所提取的异常网络流量的外部参数数据进行异常类型标识;采用所提取的外部参数数据和对应的异常类型标识,生成对应的外部参数数值序列;提取所述外部参数数值序列的能量特征数据;对所提取的能量特征数据进行训练,得到所述异常网络流量分类模型。在本发明一实施例中,所述异常类型标识包括注入类型异常流量标识和xss类型异常流量标识。

在本发明另一实施例中,所述模型构建单元602,适于对所述外部参数数值序列进行分析,得到所述外部参数数值序列的周期;采用以所述周期的大小作为滑动窗口和预设的滑动步长,将所述外部参数数值序列划分为对应的多个子序列;采用对每个所述子序列进行小波分解,得到对应的能量特征数据。

在本发明又一实施例中,所述模型构建单元602,所提取的所述能量特征数据,包括低频信号能量、低频信号能量占比、第一至第五层高频信号能量、高频信号能量占比。

在本发明再一实施例中,所述模型构建单元602,适于分别采用如下的公式计算得到所述低频信号能量、低频信号能量占比、第一至第五层高频信号能量、高频信号能量占比:

其中,ea5表示低频信号a5的能量,edj表示第j层高频信号dj的能量,era5表示低频信号a5的能量占比,erdj表示第j层高频信号dj的能量占比。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令运行时执行所述的异常网络流量检测方法的步骤。其中,所述异常网络流量检测方法请参见前述部分的详细介绍,不再赘述。

本发明实施例还提供了一种终端,包括存储器和处理器,所述存储器上储存有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行所述的异常网络流量检测方法的步骤。其中,所述异常网络流量检测方法请参见前述部分的详细介绍,不再赘述。

采用本发明实施例中的上述方案,通过采用异常网络流量的外部参数数据构建异常网络流量分类模型,并采用所构建的异常网络流量分类模型对网络流量中的异常网络流量进行检测,由于采用外部参数数据对网络流量中的异常网络流量进行检测,可以克服人类主观错误和知识更新缓慢对网络流量检测造成的影响,故可以提高异常网络流量检测的准确性。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,本发明要求保护范围由所附的权利要求书、说明书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1