网络数据异常检测的方法、装置、设备及存储介质与流程

文档序号:14843629发布日期:2018-06-30 14:31阅读:223来源:国知局
网络数据异常检测的方法、装置、设备及存储介质与流程

本发明涉及信息安全技术领域,尤其涉及一种网络数据异常检测的方法、装置、设备及存储介质。



背景技术:

随着互联网和大数据技术的飞速发展,各公司数据中心访问量急剧上升,对数据中心网络高吞吐、低延迟的要求也日益提高。管理及监控软件的滥用、错误的配置、系统或设备故障以及大规模的网络攻击(尤其DDoS攻击)等,都会引起网络数据的异常,各种自然因素、失误操作或者恶意攻击等,也使得网络数据异常的多样性持续增大。现有的网络数据异常检测方法大致可分为三类:入侵式检测方法、基于采样数据检测方法和基于机器学习检测方法。

然而,发明人在实施本发明的过程中发现,第一类检测方法受限于设备自身的计算和存储资源,只能做一些单一维度的少量统计,异常判断时大多使用固定阈值,很难做到与历史基线进行对比;第二类检测方法基于采样数据检测,采样粒度较大会影响到设备的性能,采样粒度较小则会丢失数据的准确性;第三类检测方法需要很高的计算成本,如果学习方法不当或者学习目标不明确就得不到精确的异常信息,且机器学习的实时性较低。



技术实现要素:

针对上述问题,本发明的目的在于提供一种网络数据异常检测的方法、装置、设备以及存储介质,提高了精确度,大幅度降低异常检测时的计算以及资源的使用量。

第一方面,本发明实施例提供了一种网络数据异常检测的方法,包括:

获取网络全流量,得到基于流的元数据并将所述元数据进行存储;

重复以下步骤直至遍历异常检测规则链中的所有规则或者当前规则的输出为空:

根据与所述异常检测规则链中的当前规则对应的当前维度以及位于当前规则之前的所有规则的维度,获得聚合维度;其中,所述异常检测规则链中的每级规则对应至少一个维度和至少一个历史数据统计时间模型;

根据所述元数据及当前规则的输入过滤条件,获取与所述聚合维度对应的当前时间窗口的每个指标维度的网络数据;其中,所述当前规则的输入过滤条件根据所述当前规则的上一级规则输出的异常结果生成;

根据所述网络数据,计算所述当前时间窗口的每个所述指标维度的指标值以及指标值变化率;

根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史数据统计时间模型,输出在当前时间窗口所述当前规则的异常结果。

在第一方面的第一种实现方式中,在所述重复以下步骤直至遍历异常检测规则链中的所有规则或者当前规则的输出为空之前,还包括:

根据所述当前时间窗口建立至少一个历史数据统计时间模型;其中,所述历史数据统计时间模型为同比当天的时间模型、环比过去X天的时间模型或者环比过去Y周的时间模型。

在第一方面的第二种实现方式中,所述根据所述网络数据,计算每个所述指标维度的指标值以及指标值变化率具体为:

对应所述当前规则的每一个指标维度:

根据所述网络数据,计算所述当前时间窗口的所述指标维度的指标值;

将所述当前时间窗口划分为N个小时间窗口,根据所述网络数据计算每个小时间窗口的所述指标维度的第一指标值;

计算N个所述第一指标值的标准差生成所述指标维度的指标值变化率。

在第一方面的第三种实现方式中,所述根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史数据统计时间模型,输出所述当前规则的异常结果具体为:

根据所述历史数据统计时间模型,计算所述当前规则的每个所述指标维度的历史指标值变化率;

根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史指标值变化率,输出所述当前规则的异常结果。

根据第一方面的第三种实现方式,在第一方面的第四种实现方式中,所述根据所述历史数据统计时间模型,计算所述当前规则的所述指标维度的历史指标值变化率,具体为:

根据所述历史数据统计时间模型,获取与所述历史数据统计时间模型对应的至少一个历史时间窗口;

根据所述元数据,计算每个所述历史时间窗口的所述指标维度的历史变化率;

根据所有所述历史变化率,计算所述当前规则的所述指标维度的历史指标值变化率。

根据第一方面的第三种实现方式,在第一方面的第五种实现方式中,所述根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史指标值变化率,输出所述当前规则的异常结果具体为:

当所述指标值大于预设的第一阈值和/或所述指标值变化率大于所述历史指标值变化率的K1倍时,将与所述指标值对应的指标维度作为所述当前规则的异常结果输出;

或者当所述指标值小于预设的第二阈值和/或所述指标值变化率大于所述历史指标值变化率的K2倍时,将与所述指标值对应的指标维度作为所述当前规则的异常结果输出;其中,所述K1和K2为预设的变化率参考系数。

在第一方面的第六种实现方式中,在所述根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史数据统计时间模型,输出在当前时间窗口所述当前规则的异常结果之后,还包括:

根据所述当前规则的异常结果生成所述当前规则的下一级规则的输入过滤条件,使得在所述下一级规则中过滤不符合所述当前规则的异常结果的元数据。

第二方面,本发明实施例还提供了一种网络数据异常检测的装置,包括:

网络流量获取单元,用于获取网络全流量,得到基于流的元数据并将所述元数据进行存储;

重复以下步骤直至遍历异常检测规则链中的所有规则或者当前规则的输出为空:

聚合维度获取单元,用于根据与所述异常检测规则链中的当前规则对应的当前维度以及位于当前规则之前的所有规则的维度,获得聚合维度;其中,所述异常检测规则链中的每级规则对应至少一个维度和至少一个历史数据统计时间模型;

网络数据获取单元,用于根据所述元数据及当前规则的输入过滤条件,获取与所述聚合维度对应的当前时间窗口的每个指标维度的网络数据;其中,所述当前规则的输入过滤条件根据所述当前规则的上一级规则输出的异常结果生成;

指标值计算单元,用于根据所述网络数据,计算所述当前时间窗口的每个所述指标维度的指标值以及指标值变化率;

异常结果输出单元,用于根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史数据统计时间模型,输出在当前时间窗口所述当前规则的异常结果。

第三方面,本发明实施例还提供了一种网络数据异常检测设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项所述的网络数据异常检测的方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述任意一项所述的网络数据异常检测的方法。

上述技术方案中的一个技术方案具有如下优点:通过旁路的方式实时采集网络全流量,达到旁路检测的目的,不影响骨干网的性能;通过将多维度聚合的检测规则拆分重新组织成规则链,通过流水线逐级过滤的方式,对数据进行筛选和降维,大幅度降低异常检测时的计算及资源使用量,通过全流量数据的自学习,进行网络数据异常的实时检测。当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

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

图1是本发明第一实施例提供的网络数据异常检测的方法的流程示意图。

图2是本发明第一实施例提供的网络数据异常检测的方法的一种流程图。

图3是本发明第一实施例提供的计算指标值变化率的示意图

图4是本发明第一实施例提供的计算指标值变化率的示意图。

图5是本发明第二实施例提供的同比当天的历史数据统计时间模型示意图。

图6是本发明第二实施例提供的环比过去X天的历史数据统计时间模型示意图。

图7是本发明第二实施例提供的环比过去Y周的历史数据统计时间模型示意图。

图8是本发明第四实施例提供的网络数据异常检测的装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1,本发明第一实施例提供了一种网络数据异常检测的方法,其可以在网络数据异常检测设备上执行,并包括以下步骤:

S10,获取网络全流量,得到基于流的元数据并将所述元数据进行存储。

在本实施例中,所述网络数据异常检测设备可以是桌上型计算机、笔记本电脑、掌上电脑及云端服务器等检测设备,所述检测设备可以利用旁路的方式获取网络全流量,对网络全流量中的每层协议进行分析采集基于流的元数据。如图2所示,通过分流器、路由器或者交换机的镜像功能,将网络中全部流量(包括输入IN和输出OUT两个方向)实时地输入至所述检测设备的旁路采集模块中,旁路采集模块对所述网络全流量进行分析得到基于流的元数据,并将所述所有基于流的元数据信息输出至存储模块进行存储,例如对各协议层(例如TCP层、UDP层、HTTP层或DNS层)按流来统计网络数据特征、输出时间戳、四元组信息以及流特征数据等,即将各协议层的四元组(sip、sport、dip、dport)的双向数据交互统计到一个流内;将请求/响应式协议(如HTTP协议或DNS协议)的每次请求及响应作为一条流进行输出,将无状态协议(如UDP协议)的一段时间内的双向交互数据作为一条流进行输出;而交互中出现错误、超时等异常的数据,则作为一条异常流输出。

需要说明的是,所述流为两个IP(例如互联网上两台主机的IP地址)之间一次完整的交互,流发起者的IP与端口号作为流的sip(源IP)与sport(源端口),流响应者的IP与端口号作为流的dip(目的IP)与dport(目的端口)。所述四元组为唯一标识一条流的sip、sport、dip、dport的信息。所述元数据用于描述一条流的特征数据,如四元组信息,比特率(bps)、延迟时间、连接数、请求数和结束状态等等,例如TCP层的元数据包含四元组、流量数据、延迟时间、流结束状态、重传率、乱序率等;UDP层的元数据包含四元组、流量等;HTTP层的元数据包含四元组、url(统一资源定位符)、请求方法、请求头信息、响应时间、状态码等;DNS层的元数据包含四元组、请求解析的域名、解析后的地址、返回码等。

接着,重复以下步骤直至遍历异常检测规则链中的所有规则或者当前规则的输出为空:

S20,根据与所述异常检测规则链中的当前规则对应的当前维度以及位于当前规则之前的所有规则的维度,获得聚合维度;其中,所述异常检测规则链中的每级规则对应至少一个维度和至少一个历史数据统计时间模型。

在本实施例中,将多维度聚合的异常检测规则拆分成过滤条件和单一维度相结合的规则,以树的形式将所有拆分后的规则组织成异常检测规则链,指定每级规则的输入过滤条件、维度、时间窗口、历史数据统计时间模型等,在这里,可以将每一级规则输出的异常结果作为下一级规则的输入过滤条件,从而达到降维的效果,可以理解的是,第一级规则的输入过滤条件可以由用户自行定义或者不设定输入过滤条件。

在本实施例中,在调度执行所述异常检测规则链的每一级规则时,由于每级规则对应一个维度,因此在执行当前规则时,当前规则的聚合维度为当前规则的维度和当前规则之前的所有规则的维度进行聚合生成的,也就是将当前规则的维度与当前规则的上一级规则的聚合维度进行聚合,使得可以从存储模块中查询得到与当前规则的聚合维度对应的元数据,例如,对TCP层进方向的网络数据进行异常检测,规定TCP层进方向的检测顺序为dip、dport、sip、sport,在检测时检测规则按照检测顺序进行检测,即第一级规则中根据每个dip对应的网络数据进行检测,而当执行第二级规则时使用第一级规则的输出结果进行过滤,并根据dport进行聚合得到第二级规则的聚合维度,即对每个dip:dport对应的网络数据进行计算和检测检测,同理,在第三级规则中则对每个sip-dip:dport对应的网络数据进行计算和检测,以此类推。可以理解的是,第一级规则的聚合维度为第一级规则中预先设定的维度。

在本实施例的一种实现方式中,每级规则负责还可以从存储模块中查询不同时间窗口或者不同维度的元数据或数据集,如图3所示,其中规则1到规则n为异常检测规则链中的n级规则,同时将所述异常结果输入至下一级规则作为下一级规则的输入过滤条件。

S30,根据所述元数据及当前规则的输入过滤条件,获取与所述聚合维度对应的当前时间窗口的每个指标维度的网络数据;其中,所述当前规则的输入过滤条件根据所述当前规则的上一级规则输出的异常结果生成。

在本实施例中,根据所述当前规则的异常结果生成所述当前规则的下一级规则的输入过滤条件,使得在所述下一级规则中过滤不符合所述当前规则的异常结果的元数据。作为示例,在当前规则中输入的异常结果为“dip1:2:3:4异常”,将该异常结果作为下一级规则的输入过滤条件,则在下一级规则中,对不满足“dip1:2:3:4”的元数据则不进行处理或计算。

在本实施例中,当前规则的输入过滤条件由当前规则的上一级规则输出的异常结果生成,其中第一级规则的输入过滤条件可以由用户自行定义或者不设定输入过滤条件。作为示例,对TCP层进方向进行网络数据异常检测时,在执行第一级规则时,在所述存储模块中查询与当前时间窗口对应的元数据,将不符合输入过滤条件的元数据进行过滤,并从过滤得到的元数据中获取得到与第一级规则对应的维度的每个指标维度在当前时间窗口的网络数据,即从过滤后的元数据中获取每个dip的网络数据(例如延迟时间),同理在下一级规则时也能够获取得到对应的网络数据。在这里,所述网络数据可以为流量数据、延迟时间、响应时间、状态码、错误码等等,每个指标维度对应的网络数据可以为一种或者多种。

S40,根据所述网络数据,计算所述当前时间窗口的每个所述指标维度的指标值以及指标值变化率。

在本实施例中,在执行当前规则时,计算当前时间窗口的每个指标维度的指标值以及指标值变化率,具体地,根据所述网络数据,计算所述当前时间窗口的所述指标维度的指标值;将所述当前时间窗口划分为N个小时间窗口,根据所述网络数据计算每个小时间窗口的所述指标维度的第一指标值;计算N个所述第一指标值的标准差生成所述指标维度的指标值变化率。

在本实施例中,根据当前规则指定的维度或聚合维度统计指定的网络数据指标值,作为示例,在当前规则中需要统计每个指标维度(例如dip1:2:3:4)的流量数据的指标值,可以对获取得到的当前时间窗口的与所述指标维度对应的所有流量数据进行求和统计,从而得到所述指标维度的流量数据的指标值;接着,如图4所示,将当前时间窗口T等分成n个小的时间窗口T1、T2、...、Tn,在n个小的时间窗口内计算每个指标维度的第一指标值M1、M2、...、Mn,取n个第一指标值的标准差作为当前时间窗口的变化率V,例如,将当前时间窗口划分为5个小时间窗口,利用同样的计算方法统计所述指标维度在每个小时间窗口的第一流量数据指标值,即得到5个第一流量数据指标值,计算5个第一流量数据指标值的标准差来表示所述指标维度的指标值变化率。在这里,例如还可以对延迟时间和响应时间的数据进行均值统计,对错误码及状态码进行错误率统计等。

S50,根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史数据统计时间模型,输出在当前时间窗口所述当前规则的异常结果。

在本实施例中,可以根据指定的历史数据时间段来建立历史数据统计时间模型,通过将所述指标值与历史数据时间段内相同的网络数据的指标值和指标值变化率进行比较,输出异常结果。作为示例,在执行当前规则时,根据所述历史数据时间段从存储模块中查询与当前规则对应的每个指标维度的历史网络数据来计算历史指标值和历史指标值变化率,从而跟当前时间窗口的指标值和指标值变化率进行比较,若某个指标维度的指标值和指标值变化率出现异常,则将该指标维度作为当前规则的异常结果进行输出,如输出“dip1:2:3:4异常”和“dip4:3:2:1异常”。

在本实施例中,对每一级规则的结果以指定的格式及方式进行输出,当执行完整个异常检测规则链的所有规则时终止整个异常检测规则链的执行,或者当某级规则的输出为空时终止整个异常检测规则链的执行,不需要执行该级规则的后面的规则。

在本实施例中,利用异常检测规则链可以对网络数据指标变化异常进行检测,也可以对网络扫描进行检测及DDoS攻击进行检测。所述网络数据包括但不限于:bps、TCP连接数、TCP延迟、TCP异常结束连接数、HTTP请求数、HTTP延迟、HTTP状态码错误率、DNS请求数、DNS返回码错误率;所述网络扫描包括:TCP/UDP地址扫描、TCP/UDP端口扫描等;所述DDoS攻击包括:SYN洪水攻击、RST洪水攻击、UDP洪水攻击、HTTP洪水攻击、UDP反射攻击等。

综上所述,通过旁路的方式实时采集网络全流量,达到旁路检测的目的,不影响骨干网的性能;通过将多维度聚合的检测规则拆分重新组织成规则链,通过流水线逐级过滤的方式,对数据进行筛选和降维,大幅度降低异常检测时的计算及资源使用量,通过全流量数据的自学习,从而能够精确和高效地进行网络数据异常的实时检测。

本发明第二实施例:

在第一实施例的基础上,在步骤S10之后,即在所述重复以下步骤直至遍历异常检测规则链中的所有规则或者当前规则的输出为空之前,还包括:

根据所述当前时间窗口建立至少一个历史数据统计时间模型;其中,所述历史数据统计时间模型为同比当天的时间模型、环比过去X天的时间模型或者环比过去Y周的时间模型。

在本实施例中,建立同比当天的历史数据统计时间模型,所述历史数据统计时间模型为与当前时间窗口的前一段时间进行对于,例如,如图5所示,在进行异常检测时,需要对存储模块进行两次查询,第一次查询当前时间窗口T的数据,第二次查询指定偏移量(可以为零)之前的n*T时间窗口的数据,两次查询相同的数据指标并进行对比,从而发现异常。

同理,建立环比过去X天的历史数据统计时间模型,例如,如图6所示,在进行异常检测时,需要对存储模块进行两次查询,第一次查询当前时间窗口T的数据,第二次查询过去X天(例如5天)同一时间窗口T的数据,两次查询相同的数据指标并进行对比,从而发现异常。

同理,建立环比过去Y周的历史数据统计时间模型,例如,如图7所示,在进行异常检测时,需要对存储模块进行两次查询,第一次查询当前时间窗口T的数据,第二次查询过去Y周(例如4周)每周同一天的同一时间窗口T的数据,两次查询相同的数据指标并进行对比,从而发现异常。

通过上述方式,建立不同的历史数据统计时间模型,从而查询历史数据来与当前时间窗口的数据指标进行对比,提高异常检测结果的准确性。

本发明第三实施例:

在第二个实施例的基础上,还包括:

所述根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史数据统计时间模型,输出所述当前规则的异常结果具体为:

根据所述历史数据统计时间模型,计算所述当前规则的每个所述指标维度的历史指标值变化率;根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史指标值变化率,输出所述当前规则的异常结果。

在本实施例中,根据所述历史数据统计模型从存储模块中查询与当前时间窗口对应的每个指标维度的网络数据,从而计算历史指标值变化率。具体地,根据所述历史数据统计时间模型,获取与所述历史数据统计时间模型对应的至少一个历史时间窗口;根据所述元数据,计算每个所述历史时间窗口的所述指标维度的历史变化率;根据所有所述历史变化率,计算所述当前规则的所述指标维度的历史指标值变化率。

作为示例,如图4所示,与当前规则对应的历史数据统计时间模型为环比过去m天的时间模型,从而可以获取m个历史时间窗口,假设m为10(即得到10个历史时间窗口),接着,在每个历史时间窗口从存储模块中查询与所述历史时间窗口对应的历史元数据,按照计算当前规则的每个指标维度的指标值的方法进行计算每个历史时间窗口的历史变化率,即得到10个历史变化率(V1、V2、V3、V4、V5、V6、V7、V8、V9、V10),接着计算10个历史变化率中的80%(可由用户自行定义)的百分位数作为历史指标值变化率。

在本实施例中,在当前规则中,将当前时间窗口的指标值变化率V和历史指标值变化率Vx进行对比来检测异常。具体地,当所述指标值大于预设的第一阈值和/或所述指标值变化率大于所述历史指标值变化率的K1倍时,将与所述指标值对应的指标维度作为所述当前规则的异常结果输出;或者当所述指标值小于预设的第二阈值和/或所述指标值变化率大于所述历史指标值变化率的K2倍时,将与所述指标值对应的指标维度作为所述当前规则的异常结果输出;其中,所述K1和K2为预设的变化率参考系数。

在本实施例中,所述K1和K2的值可以由用户自行定义,优选地,所述K1=K2=2.5。

作为示例,对TCP层进方向的网络数据进行异常检测,在执行第一级规则时,计算得到每个dip的指标值S和指标值变化率V,以及与每个dip对应的历史指标值变化率Vx,对于每一个dip,当所述S大于指定的第一阈值且(或)V大于Vx的2.5时,则认为网络数据的变化发生了异常,即输出所述dip异常;或者当当所述S大于指定的第二阈值且(或)V大于Vx的2.5时,则认为网络数据的变化发生了异常,即输出所述dip异常。同理在其他规则中进行相应计算和比较,即可得到最终的异常结果。

通过上述方式,在异常检测时均对指标值以及指标值变化率进行双重检测,可以有效地提高异常检测结果的精确度。

为了便于对本发明实施例的了解,下面将以若干实际的例子对本发明实施例做描述。

例一:对网络数据指标变化异常检测,按照进、出两个方向进行异常检测,使用相反的检测顺序、检测相同的数据指标,输出不同的异常信息。优选地,TCP/UDP层进方向检测顺序为dip、dport、sip、sport,出方向检测顺序为sip、sport、dip、dport;优选地,HTTP/DNS层进方向检测顺序为:url/domain、dip、dport、sip、sport,出方向检测顺序为sip、sport、dip、dport、url/domain。所述检测顺序并非固定不变的,根据实际需要进行调整或增减。例如,只关心sip到url的访问量时,则只需要按照sip、url的顺序进行检测。

下面以TCP/UDP层进方向的网络数据指标异常检测步骤为例,来描述网络数据指标变化异常的检测步骤,包括:

规则(1)根据dip进行聚合,计算每个dip对应的指标值S1及指标值变化率V1,当S1大于(或小于)指定阈值K1且(或)V1大于历史变化率的R1倍时,则输出dip异常并进行规则(2)的检测;规则(2)使用规则(1)的结果进行过滤,根据dport进行聚合统计每个dip:dport对应的指标值S2及指标值变化率V2,当S2大于(或小于)指定阈值K2且(或)V2大于历史变化率的R2倍时,则输出dip:dport异常并进行规则(3)的检测;规则(3)使用规则(2)的结果进行过滤,根据sip进行聚合统计每个sip-dip:dport对应的指标值S3及指标值的变化率V3,当S3大于(或小于)指定阈值K3且(或)V3大于历史变化率的R3倍时,则输出sip-dip:dport异常并进行规则(4)的检测;规则(4)使用规则(3)的结果进行过滤,根据sport进行聚合统计每个sip:sport-dip:dport对应的指标值S4及指标值的变化率V4,当S4大于(或小于)指定阈值K4且(或)V4大于历史变化率的R4倍时,则输出sip:sport-dip:dport异常。上述网络数据指标变化异常检测规则,根据实际需要进行调整,调整后要保证每一规则的输入与上一规则的输出匹配,例如,只检测sip-dip异常时,去除规则(2)与规则(4)并将规则(3)的输入修改为dip的集合即可。每一规则使用上一规则的结果进行过滤,异常检测时均对指标值与变化率进行双重检测,后面的实施例说明中不再重复说明。

例二:对网络扫描进行检测,包括TCP层网络扫描与UDP层网络扫描,对TCP扫描检测sip发出的以SYN超时结束的异常连接数,对UDP扫描检测sip发出的流个数,如下步骤中统称为异常连接数,检测步骤包括:

规则(1)检测扫描发起者,根据sip进行聚合统计每个sip发出的异常连接数S1及其变化率V1,当S1超过指定阈值K1且V1远大于(5倍以上)历史数据变化率,则认为sip在进行扫描,输出sip扫描异常并进行规则(2)检测;

规则(2)检测扫描类型,使用规则(1)的结果进行过滤,根据dip(dport)进行聚合统计dport(dip)的唯一值个数(相同的值只统计一次)S2(S3)及其变化率V2(V3),当S2(S3)超过指定阈值K2(K3)且V2(V3)远大于(5倍以上)历史数据变化率,则认为sip在进行地址(端口)扫描,输出sip地址(端口)扫描异常。

例三:对DDoS攻击进行检测,其中所有洪水类型攻击检测的步骤是相同的,检测指标分别是:SYN洪水攻击检测的指标是以SYN+ACK超时结束的异常连接数;RST洪水攻击检测的指标是包数为1且以RST超时结束的异常连接数;UDP洪水攻击检测的指标是bps;HTTP洪水攻击检测的指标是URL的请求数。检测步骤包括:

规则(1)检测攻击目标,根据dip(HTTP洪水攻击使用url)进行聚合统计对应的指标值S1与指标值的变化率V1,当S1超过指定阈值K1且V1远大于(5倍以上)历史数据变化率,则认为dip(url)被攻击,输出异常结果并进行规则(2)的检测;

规则(2)检测攻击源,使用规则(1)的结果进行过滤,根据sip进行聚合统计对应指标值S2与指标值的变化率V2,当S2超过指定阈值K2且V2远大于(5倍以上)历史数据变化率,则认为sip为攻击的发起者即攻击源,输出异常。

请参阅图8,本发明第四实施例还提供了一种网络数据异常检测的装置,包括:

网络流量获取单元10,用于获取网络全流量,得到基于流的元数据并将所述元数据进行存储;

重复以下步骤直至遍历异常检测规则链中的所有规则或者当前规则的输出为空:

聚合维度获取单元20,用于根据与所述异常检测规则链中的当前规则对应的当前维度以及位于当前规则之前的所有规则的维度,获得聚合维度;其中,所述异常检测规则链中的每级规则对应至少一个维度和至少一个历史数据统计时间模型;

网络数据获取单元30,用于根据所述元数据及当前规则的输入过滤条件,获取与所述聚合维度对应的当前时间窗口的每个指标维度的网络数据;其中,所述当前规则的输入过滤条件根据所述当前规则的上一级规则输出的异常结果生成;

指标值计算单元40,用于根据所述网络数据,计算所述当前时间窗口的每个所述指标维度的指标值以及指标值变化率;

异常结果输出单元50,用于根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史数据统计时间模型,输出在当前时间窗口所述当前规则的异常结果。

优选地,所述网络数据异常检测的装置,还包括:

时间模型建立单元,用于根据所述当前时间窗口建立至少一个历史数据统计时间模型;其中,所述历史数据统计时间模型为同比当天的时间模型、环比过去X天的时间模型或者环比过去Y周的时间模型。

优选地,所述指标值计算单元40,具体为:

对应所述当前规则的每一个指标维度:

第一计算单元,用于根据所述网络数据,计算所述当前时间窗口的所述指标维度的指标值;

第二计算单元,用于将所述当前时间窗口划分为N个小时间窗口,根据所述网络数据计算每个小时间窗口的所述指标维度的第一指标值;

第三计算单元,用于计算N个所述第一指标值的标准差生成所述指标维度的指标值变化率。

优选地,所述异常结果输出单元50,具体为:

变化率计算单元,用于根据所述历史数据统计时间模型,计算所述当前规则的每个所述指标维度的历史指标值变化率;

结果输出单元,用于根据所述当前规则中的所述指标值、所述指标值变化率以及所述历史指标值变化率,输出所述当前规则的异常结果。

进一步地,所述变化率计算单元,具体为:

历史时间窗口确定单元,用于根据所述历史数据统计时间模型,获取与所述历史数据统计时间模型对应的至少一个历史时间窗口;

历史变化率计算单元,用于根据所述元数据,计算每个所述历史时间窗口的所述指标维度的历史变化率;

历史指标值变化率计算单元,用于根据所有所述历史变化率,计算所述当前规则的所述指标维度的历史指标值变化率。

优选地,所述结果输出单元,具体为:

第一输出单元,用于当所述指标值大于预设的第一阈值和/或所述指标值变化率大于所述历史指标值变化率的K1倍时,将与所述指标值对应的指标维度作为所述当前规则的异常结果输出;

第二输出单元,用于或者当所述指标值小于预设的第二阈值和/或所述指标值变化率大于所述历史指标值变化率的K2倍时,将与所述指标值对应的指标维度作为所述当前规则的异常结果输出;其中,所述K1和K2为预设的变化率参考系数。

优选地,所述网络数据异常检测的装置,还包括:

过滤条件生成单元,用于根据所述当前规则的异常结果生成所述当前规则的下一级规则的输入过滤条件,使得在所述下一级规则中过滤不符合所述当前规则的异常结果的元数据。

本发明第五实施例提供了一种网络数据异常检测设备。该实施例的网络数据异常检测设备包括:处理器、显示器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如网络数据异常检测的程序。所述处理器执行所述计算机程序时实现上述各个网络数据异常检测的方法的实施例中的步骤,例如图1所示的步骤S10。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各单元的功能,例如图8所示的网络流量获取单元10。

示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述网络数据异常检测设备中的执行过程。

所述网络数据异常检测设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述网络数据异常检测设备可包括,但不仅限于,处理器、存储器、显示器。本领域技术人员可以理解,上述部件仅仅是网络数据异常检测设备的示例,并不构成对网络数据异常检测设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述网络数据异常检测设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述网络数据异常检测设备的控制中心,利用各种接口和线路连接整个所述网络数据异常检测设备的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述网络数据异常检测的设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述网络数据异常检测设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

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