一种流量识别方法及装置与流程

文档序号:32887384发布日期:2023-01-12 22:06阅读:45来源:国知局
一种流量识别方法及装置与流程

1.本技术涉及数据处理技术领域,尤其涉及一种流量识别方法及装置。


背景技术:

2.随着互联网技术的快速发展,互联网技术已经渗透到我们生活的各个方面,为我们的生活提供了巨大的便利,随之而来的是网络安全的问题。异常流量就是常见的威胁之一,异常流量通过对网络设备进行扫描,发现可以利用的漏洞,复制传播病毒,并对网络设备发起攻击,可以使整个网络系统瘫痪,危害巨大,如何有效低检测异常流量,是阻止异常流量的重要前提。
3.目前在进行异常流量识别时,一般是认为定义正常流量特征,然后将待判断的流量与正常流量特征进行比对,但是该方法也是需要手动进行流量比较,不仅效率低而且误差比较大。
4.因此,如何提升异常流量的识别速度和识别结果的准确度是值得考虑的技术问题之一。


技术实现要素:

5.有鉴于此,本技术提供一种流量识别方法及装置,用以提升异常流量的识别速度和识别结果的准确度。
6.具体地,本技术是通过如下技术方案实现的:
7.根据本技术的第一方面,提供一种流量识别方法,包括:
8.从待识别流量中提取出流量特征;
9.利用异常流量识别模型对所述流量特征进行识别处理,确定所述待识别流量属于异常流量的置信度;
10.若所述置信度大于设定置信度阈值,则确定所述待识别流量为异常流量;
11.其中,所述异常流量识别模型为采用正流量样本和负流量样本训练得到的,且正流量样本的数量为负流量样本的数量的设定倍数。
12.根据本技术的第二方面,提供一种流量识别装置,包括:
13.提取模块,用于从待识别流量中提取出流量特征;
14.识别模块,用于利用异常流量识别模型对所述流量特征进行识别处理,确定所述待识别流量属于异常流量的置信度;
15.确定模块,用于若所述置信度大于设定置信度阈值,则确定所述待识别流量为异常流量;
16.其中,所述异常流量识别模型为采用正流量样本和负流量样本训练得到的,且正流量样本的数量为负流量样本的数量的设定倍数。
17.根据本技术的第三方面,提供一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被处理器执行的计算机程序,处理器被计算机程序促使执行本
申请实施例第一方面所提供的方法。
18.根据本技术的第四方面,提供一种机器可读存储介质,机器可读存储介质存储有计算机程序,在被处理器调用和执行时,计算机程序促使处理器执行本技术实施例第一方面所提供的方法。
19.本技术实施例的有益效果:
20.本技术实施例提供的流量识别方法及装置中,从待识别流量中提取出流量特征;利用异常流量识别模型对所述流量特征进行识别处理,确定所述待识别流量属于异常流量的置信度;若所述置信度大于设定置信度阈值,则确定所述待识别流量为异常流量。由此不仅提升了流量的识别速度,而且保证了异常流量识别的准确度。此外,本技术中的异常流量识别模型为采用正流量样本和负流量样本训练得到的,且正流量样本的数量为负流量样本的数量的设定倍数,由此避免了利用异常流量识别模型识别正常流量的误识别,同时也保证了异常流量的识别结果的准确度。
附图说明
21.图1是本技术实施例提供的一种流量识别方法的流程示意图;
22.图2是本技术实施例提供的一种流量识别装置的结构示意图;
23.图3是本技术实施例提供的一种实施流量识别方法的电子设备的硬件结构示意图。
具体实施方式
24.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如本技术的一些方面相一致的装置和方法的例子。
25.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
26.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
27.下面对本技术提供的流量识别方法进行详细地说明。
28.参见图1,图1是本技术提供的一种流量识别方法的流程图,该方法可以应用于防火墙等网络安全设备中,也可以应用于与网络安全设备连接的检测设备中,为了方便描述,后续以将该方法应用于检测设备中为例进行说明。检测设备实施该方法时,可包括如下所示步骤:
29.s101、从待识别流量中提取出流量特征。
30.本步骤中,检测设备会从网络安全设备中采集原始数据,然后就可以从原始数据中提取出流量数据,该流量数据可以记为上述待识别流量。然后检测设备就可以从待识别流量中提取出流量特征。
31.可选地,从上述待识别流量中提取出的流量特征可以但限于包括时间、协议类型、应用类型、上行流量、下行流量、上行报文数、下行报文数等等。例如可以参考表1所示:
32.表1
[0033][0034]
s102、利用异常流量识别模型对所述流量特征进行识别处理,确定所述待识别流量属于异常流量的置信度。
[0035]
本步骤中,本技术预先训练得到了异常流量识别模型,在解析出流量特征后,就可以将流量特征输入到异常流量识别模型中,从而该流量识别模型就可以输出置信度,该置信度表征待识别流量属于异常流量的置信度。
[0036]
具体来说,在将流量特征输入到异常流量识别模型时,可以将该流量特征构成流量特征向量,然后将该流量特征向量输入至异常流量识别模型中。这样,异常流量识别模型内部就可以对该流量特征向量进行处理,从而计算得到该流量特征向量属于异常流量这一分类的置信度。
[0037]
s103、若所述置信度大于设定置信度阈值,则确定所述待识别流量为异常流量。
[0038]
其中,上述异常流量识别模型为采用正流量样本和负流量样本训练得到的,且正流量样本的数量为负流量样本的数量的设定倍数。需要说明的是,正流量样本为基于正常流量确定出的,负流量样本为基于异常流量确定出的。正流量样本也可以记为正常流量样本;负流量样本可以记为异常流量样本。
[0039]
本步骤中,当输出的异常流量分类下的置信度大于设定置信度阈值时,表明待识别流量属于异常流量的概率非常高,则此时可以认定该待识别流量为异常流量。若输出的置信度小于设定置信度阈值,则可以确定该待识别流量为正常流量,或者若置信度与设定置信度阈值之差在设定范围内,则可以将置信度进行输出,以让维护人员来判断该待识别流量是否异常。
[0040]
需要说明的是,由于上述正流量样本的数量为负流量样本的数量的设定倍数,因此,在利用正流量样本和负流量样本训练得到异常流量识别模型时,可以保证模型训练结果的准确度,进而避免正常的流量被异常流量识别模型识别出异常流量的情况发生。此外,该异常流量识别模型还利用负流量样本进行了训练,从而能够保证异常流量识别模型识别异常流量时的识别准确度。
[0041]
此外,为了提高异常流量识别结果的准确度,上述设定倍数可以但不限于为10倍,当然还可以取其他值,具体可以根据应用场景或经验值来定。
[0042]
通过实施本技术提供的流量识别方法,从待识别流量中提取出流量特征;利用异
常流量识别模型对所述流量特征进行识别处理,确定所述待识别流量属于异常流量的置信度;若所述置信度大于设定置信度阈值,则确定所述待识别流量为异常流量。由此不仅提升了流量的识别速度,而且保证了异常流量识别的准确度。此外,本技术中的异常流量识别模型为采用正流量样本和负流量样本训练得到的,且正流量样本的数量为负流量样本的数量的设定倍数,由此避免了利用异常流量识别模型识别正常流量的误识别,同时也保证了异常流量的识别结果的准确度。
[0043]
可选地,基于上述实施例,本实施例中可以按照下述方法分别确定正流量样本和负流量样本:获取流量数据集,所述流量数据集包括正常流量和异常流量;根据特征解析规则,从所述正常流量中解析出用于识别正常流量的第一流量特征,并从所述异常流量中解析出用于识别异常流量的第二流量特征;根据解析出的各第一流量特征确定所述正流量样本;根据解析出的各第二流量特征确定所述负流量样本。
[0044]
具体地,本技术会预先创建流量数据集,即,根据预先已经明确的正常流量和异常流量构建该流量数据集,且在构建流量数据集时,每个流量会配置标签值。例如表1所示,为正流量样本标注的标签值可以为0;为负流量样本标注的标签值可以为1,这样一来,该流量数据集中的每个流量都是有标签值的流量。
[0045]
在此基础上,就可以从流量数据集中提取出每个流量,然后根据该流量的标签值,识别出提取出的流量是正常流量还是异常流量。若识别出该流量为正常流量,则根据正常流量的特征解析规则,从正常流量中解析出用于识别正常流量的关键特征,记为上述第一流量特征。若识别出该流量为异常流量,则根据异常流量的特征解析规则,从异常流量中解析出用于识别异常流量的关键特征,记为上述第二流量特征。这样一来,就可以获得大量的第一流量特征和第二流量特征。然后就可以将第一流量特征确定为正流量样本,同理,将第二流量特征确定为负流量样本。
[0046]
需要说明的是,该流量数据集可以动态更新,即,在准确地识别出异常流量或正常流量后,将其作为训练样本更新到该流量数据集中。此外,在更新流量数据集时,会为正常流量或异常流量标注标签值,标注方法可以参考上述描述,此处不再详细说明,由此就可以得到更新后的流量数据集。
[0047]
可选地,实际应用中,在训练模型时,样本选择至关重要,直接决定训练得到的模型的检测结果。一般来说,训练样本越多,训练得到的模型的准确度越高,但是样本过多会导致复杂度过高,影响模型训练速度。本技术为了保证模型训练的速度和训练结果的准确度,可以按照下述方法执行根据解析出的各第一流量特征确定所述正流量样本的步骤:根据每个第一流量特征的重要程度,从各第一流量特征中选取与所述重要程度相匹配的第一数量的第一目标流量特征;将选取出的第一目标流量特征构成所述正流量样本。
[0048]
具体地,在解析第一流量特征时,由于会从多个正常流量中解析出,因此,针对同一个第一流量特征会解析出该第一流量特征的多个特征值。基于此,针对每个第一流量特征,可以获取该第一流量特征的重要程度,该重要程度用于表征对网络安全的重要性。然后根据该第一流量特征的重要程度,从解析出所有该第一流量特征中,筛选出与该重要程度相匹配的第一数量个第一目标就来特征。某个第一流量特征的重要程度越高,第一数量的取值越高,反之,某个第一流量特征的重要程度越低,第一数量的取值越低。例如,以第一流量特征为上行报文数为例进行说明,则会从各条正常流量中解析出多个上行报文数,然后
可以获取该上行报文数对网络安全的重要程度,若确认该重要程度比较高,则从解析出的多个上行报文数中选取比较多的上行报文数,选取出的上行报文数记为第一目标流量特征。从而,就可以将按照前述方法选取出的第二目标流量特征构成负流量样本。
[0049]
同理,可以按照下述方法执行根据解析出的各第二流量特征确定所述负流量样本:根据每个第二流量特征的重要程度,从各第二流量特征中选取与所述重要程度相匹配的第二数量的第二目标流量特征;将选取出的第二目标流量特征构成所述负流量样本。
[0050]
需要说明的是,第一流量特征与第二流量特征的种类是相同的,只是针对同一种类的流量特征,从正常流量解析出的该第一流量特征的特征与从异常流量解析出的第二流量特征值不同。以流量特征为上行流量为例进行说明,则上行流量在正常流量中的流量值(第一流量特征的特征值)与在异常流量中的流量值(第二流量特征的特征值)不同。
[0051]
有鉴于此,在解析第二流量特征时,由于会从多个异常流量中解析得到,因此,针对同一个第二流量特征会解析出该第二流量特征的多个特征值。基于此,针对每个第二流量特征,可以获取该第二流量特征的重要程度,该重要程度用于表征对网络安全的重要性。然后根据该第二流量特征的重要程度,从解析出所有该第二流量特征中,筛选出与该重要程度相匹配的第二数量个第二目标就来特征。某个第二流量特征的重要程度越高,第二数量的取值越高,反之,某个第二流量特征的重要程度越低,第二数量的取值越低。例如,以第二流量特征为下行报文数为例进行说明,则会从各条异常流量中解析出多个下行报文数,然后可以获取该下行报文数对网络安全的重要程度,若确认该重要程度比较高,则从解析出的多个下行报文数中选取比较多的下行报文数,选取出的下行报文数记为第二目标流量特征。从而,就可以将按照前述方法选取出的第二目标流量特征构成负流量样本。
[0052]
需要说明的是,在选取第二目标流量特征时,可以采用随机选取或等间隔选取的方式,本技术对此不进行限定。一般情况下,若要选择n个负流量样本
[0053]
可选地,上述每个流量特征的重要程度可以由维护人员预先配置,也可以根据相关算法进行设定,例如,流量特征出现的频次比较高,则设定比较高的重要程度值等等。或者,若某个流量特征的特征变化比较小,则可以设置较低的重要程度值;反之,若该流量特征的异常情况变化比较大,则可以设置较高的重要程度值。
[0054]
为了更好地理解上述样本选取过程,以下述举例进行说明:若要选择1000个负流量样本,而有10个第二流量特征,一般情况下,每个流量特征会选择100个负流量样本,而每个负流量样本选择至少1000个对应的正样本。但是,可能会存在某个流量特征如上行报文数变化幅度比较大的情况,而且变化比较频繁,或者上行报文数对于判断异常流量的决定性更强,则可以获取上行报文数的重要程度,显然可知上行报文数的重要程度比较高,则此时可以选取200个上行报文数作为负流量样本,同时基于正常流量选择2000个上行报文数作为正流量样本。对于重要程度不高的流量特征,可以选取50个负流量样本,选取500正流量样本。
[0055]
需要说明的是,在选取第一目标流量特征或第二目标流量特征时,可以采用随机选取、等比例,和/或等间隔选取的方式,本技术对此不进行限定。通过采用上述方式,代表了流量数据集中每个特征在整个定义域时空内的均匀分布,保证了数据的时空关联性,即,各种流量特征的正流量样本和负流量样本都可以抽取到,保证了用于训练得到异常流量模型的训练数据的独立同分布。
[0056]
通过采用上述样本选择方法,可以准确地选择正流量样本和负流量样本,同时还能降低模型训练的复杂度。
[0057]
可选地,基于上述任一实施例,本实施例中,可以按照下述方法训练得到所述异常流量识别模型:按照等比例和/或等间隔原则分别抽样选取正流量样本和负流量样本;根据抽取到的正流量样本和负流量样本,训练支持向量机分类模型,得到所述异常流量识别模型。
[0058]
具体地,本实施例采用训练支持向量机svm模型,以得到异常流量识别模型。具体来说,将选取出的正流量样本和负流量样本分别输入至svm模型中,对svm模型进行迭代训练,由于每条流量都有标签值,因此,可以将训练过程中svm的输出结果与对应的流量的标签值进行比较,根据比较结果对svm模型中的模型参数进行调整,直至模型收敛。从而就可以得到训练好的异常流量识别模型。
[0059]
在此基础上,当需要判断当前采集到的待识别流量是否异常时,就可以从该待识别流量中提取出流量特征,然后将其输入至训练好的svm模型中,从而该svm模型就可以输出一个置信度值,表征该待识别流量属于异常流量的置信度,进而就可以基于该置信度确定出该待识别流量是否为异常流量。由此就可以自动识别出待识别流量是否异常的异常识别结果,提升了流量检测的速度和准确地。
[0060]
基于同一发明构思,本技术还提供了与上述流量识别方法对应的流量识别装置。该流量识别装置的实施具体可以参考上述对流量识别方法的描述,此处不再一一论述。
[0061]
参见图2,图2是本技术一示例性实施例提供的一种流量识别装置,包括:
[0062]
提取模块201,用于从待识别流量中提取出流量特征;
[0063]
识别模块202,用于利用异常流量识别模型对所述流量特征进行识别处理,确定所述待识别流量属于异常流量的置信度;
[0064]
确定模块203,用于若所述置信度大于设定置信度阈值,则确定所述待识别流量为异常流量;
[0065]
其中,所述异常流量识别模型为采用正流量样本和负流量样本训练得到的,且正流量样本的数量为负流量样本的数量的设定倍数。
[0066]
通过提供上述流量识别装置,先从待识别流量中提取出流量特征;利用异常流量识别模型对所述流量特征进行识别处理,确定所述待识别流量属于异常流量的置信度;若所述置信度大于设定置信度阈值,则确定所述待识别流量为异常流量。由此不仅提升了流量的识别速度,而且保证了异常流量识别的准确度。此外,本技术中的异常流量识别模型为采用正流量样本和负流量样本训练得到的,且正流量样本的数量为负流量样本的数量的设定倍数,由此避免了利用异常流量识别模型识别正常流量的误识别,同时也保证了异常流量的识别结果的准确度。
[0067]
可选地,基于上述实施例,本实施例提供的流量识别方法还可以包括:
[0068]
获取模块(图中未示出),用于获取流量数据集,所述流量数据集包括正常流量和异常流量;
[0069]
解析模块(图中未示出),用于根据特征解析规则,从所述正常流量中解析出用于识别正常流量的第一流量特征,并从所述异常流量中解析出用于识别异常流量的第二流量特征;
[0070]
样本确定模块(图中未示出),用于根据解析出的各第一流量特征确定所述正流量样本;根据解析出的各第二流量特征确定所述负流量样本。
[0071]
进一步地,上述样本确定模块(图中未示出),具体用于根据每个第一流量特征的重要程度,从各第一流量特征中选取与所述重要程度相匹配的第一数量的第一目标流量特征;将选取出的第一目标流量特征构成所述正流量样本。
[0072]
进一步地,上述样本确定模块(图中未示出),具体用于根据每个第二流量特征的重要程度,从各第二流量特征中选取与所述重要程度相匹配的第二数量的第二目标流量特征;将选取出的第二目标流量特征构成所述负流量样本。
[0073]
可选地,基于上述任一实施例,本实施例提供的流量识别方法还可以包括:
[0074]
模型训练模块(图中未示出),用于按照下述方法训练得到所述异常流量识别模型:按照等比例和等间隔原则分别抽样选取正流量样本和负流量样本;根据抽取到的正流量样本和负流量样本,训练支持向量机分类模型,得到所述异常流量识别模型。
[0075]
需要说明的是,上述流量识别装置可以设置于防火墙等网络安全设备中。此外,上述用于流量识别的提取模块201、识别模块202和确定模块203,与用于异常流量模型训练的获取模块、解析模块、样本确定模块、模型训练模块可以设置于同一个设备中,也可以设置于两个独立的设备中。当设置于两个独立的设备中时,待用于模型训练的设备训练好异常流量识别模型后,可以将异常流量识别模型的算法发送给用于流量识别的设备,以完成流量的识别。此外,用于模型训练的设备可以从用于流量识别的设备中获取识别出的正常或异常流量,以更新异常流识别模型,以更好地保证异常流识别模型的识别结果的准确度。这样,既不耽误流量的识别也能更好地完成模型的训练。
[0076]
基于同一发明构思,本技术实施例提供了一种电子设备,该电子设备可以为上述网络安全设备等。如图3所示,该电子设备包括处理器301和机器可读存储介质302,机器可读存储介质302存储有能够被处理器301执行的计算机程序,处理器301被计算机程序促使执行本技术任一实施例所提供的流量识别方法。此外,该电子设备还包括通信接口303和通信总线304,其中,处理器301,通信接口303,机器可读存储介质302通过通信总线304完成相互间的通信。
[0077]
上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0078]
通信接口用于上述电子设备与其他设备之间的通信。
[0079]
上述机器可读存储介质302可以为存储器,该存储器可以包括随机存取存储器(random access memory,ram)、ddr sram(double data rate synchronous dynamic random access memory,双倍速率同步动态随机存储器),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0080]
上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现
场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0081]
对于电子设备以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0082]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0083]
上述装置中各个单元/模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0084]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元/模块可以是或者也可以不是物理上分开的,作为单元/模块显示的部件可以是或者也可以不是物理单元/模块,即可以位于一个地方,或者也可以分布到多个网络单元/模块上。可以根据实际的需要选择其中的部分或者全部单元/模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0085]
以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1