一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

分布式拒绝服务攻击的检测方法、装置及其计算机设备与流程

2021-10-19 19:51:00 来源:中国专利 TAG:计算机 分布式 网络安全 拒绝服务 检测方法


1.本技术实施例涉及网络安全技术领域,尤其涉及分布式拒绝服务攻击的检测方法、装置及其计算机设备、计算机可读存储介质。


背景技术:

2.分布式拒绝服务(distributed denial of service,ddos)攻击是目前严重威胁网络安全和影响网站服务质量的一种攻击手段。ddos攻击利用多个分布式攻击源向被攻击目标发送超出其处理能力的海量数据包,来消耗可用系统和带宽资源,从而导致网络服务瘫痪。
3.目前,ddos攻击检测的过程通常是:人工依靠经验设置流量阈值,将流量阈值预存在计算机设备中。现有网络运行中,计算机设备会获取发送至服务器的入站数据流,统计数据流的流量,将流量与流量阈值进行比较,若流量大于流量阈值,则确定服务器受到网络攻击。
4.然而,目前只有针对服务器的ddos攻击检测,无法检测本地局域网内计算机设备向外网发送的ddos攻击。


技术实现要素:

5.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
6.本技术提供了一种分布式拒绝服务攻击的检测方法、装置及其计算机设备、计算机可读存储介质,能够检测局域网内外发的分布式拒绝服务攻击。
7.根据本技术的第一方面,提供了一种分布式拒绝服务攻击的检测方法,包括:
8.在局域网内获取第一设备在第一时间段内向所述局域网外发送的流量数据;
9.获取所述流量数据中符合特征类型的特征数据,根据所述特征数据在第一时间段内的分布得到第一分布数据;
10.根据所述第一分布数据得到第一统计值;
11.获取所述第一设备在历史时间段内向局域网外发送的历史流量数据;
12.根据所述历史流量数据得到第一阈值;
13.将所述第一统计值与所述第一阈值进行对比,若所述第一统计值大于第一阈值,则确定所述第一设备发出分布式拒绝服务攻击。
14.根据本技术的第二方面,提供了一种分布式拒绝服务攻击的检测装置,包括:
15.流量获取模块,在局域网内获取第一设备在第一时间段内向所述局域网外发送的流量数据;
16.数据提取模块,获取所述流量数据中符合特征类型的特征数据,根据所述特征数据在第一时间段内的分布得到第一分布数据;
17.统计模块,根据所述第一分布数据得到第一统计值;
18.数据获取模块,获取所述第一设备在历史时间段内向局域网外发送的历史流量数据;
19.阈值计算模块,根据所述历史流量数据得到第一阈值;
20.判断模块,将所述第一统计值与所述第一阈值进行对比,若所述第一统计值大于第一阈值,。
21.根据本技术的第三方面,提供了一种分布式拒绝服务攻击的检测装置,包括:
22.至少一个存储器;
23.至少一个处理器;
24.至少一个程序;
25.所述程序被存储在所述存储器中,所述处理器执行所述至少一个所述程序以实现如本技术第一方面所述的分布式拒绝服务攻击的检测方法。
26.根据本技术的第四方面,提供了一种计算机设备,包括本技术第二方面或第三方面所述的分布式拒绝服务攻击的检测装置。
27.根据本技术的第五方面,提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行本技术第一方面所述的分布式拒绝服务攻击的检测方法。
28.本技术所提供的技术方案,通过在局域网内获取第一设备在第一时间段内向局域网外发送的流量数据,根据所述流量数据中的特征类型获得特征数据在第一时间段内分布的第一分布数据,另外根据第一设备在历史时间段向局域网外发送的历史流量数据得到第一阈值,将所述第一分布数据的第一统计值与所述第一阈值进行对比,以判断第一设备是否出现分布式拒绝服务攻击,由于第一阈值是根据第一设备在历史时间段内的历史流量数据自适应地变化的,使第一阈值的大小符合当前的业务场景。通过这种基于历史流量数据来获取动态的第一阈值的方式,相对于人工设置固定的静态的阈值条件来说,可以有效检测局域网内发出的分布式拒绝服务攻击。
附图说明
29.附图用来提供对本技术技术方案的进一步理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
30.图1是ddos攻击的网络环境示意图;
31.图2是本技术一个示例性的实施例提供的分布式拒绝服务攻击的检测方法的系统架构图;
32.图3是本技术一个示例性的实施例提供的分布式拒绝服务攻击的检测方法的流程图;
33.图4是本技术一个示例性的实施例提供的第一分布数据的分布曲线图;
34.图5是图3中步骤350的具体方法流程图;
35.图6是图5中步骤510的具体方法流程图;
36.图7是本技术一个示例性的实施例提供的第一分布数据和第二分布数据的对比分布曲线图;
37.图8是图5中步骤520的具体方法流程图;
38.图9是本技术一个示例性的实施例提供的对流量分布数据执行1阶离散小波变换后的分布曲线图;
39.图10是本技术一个示例性的实施例提供的对流量分布数据执行5阶离散小波变换后的分布曲线图;
40.图11是本技术一个示例性的实施例提供的对流量分布数据执行7阶离散小波变换后的分布曲线图;
41.图12是图3中步骤330的具体方法流程图;
42.图13是本技术一个示例性的实施例提供的对第一分布数据进行处理的分布曲线图;
43.图14是本技术一个示例性的实施例提供的分布式拒绝服务攻击的检测方法的流程图;
44.图15是本技术一个示例性的实施例提供的第一设备和第二设备异常流程数据判断的示意图;
45.图16是图14中步骤1410的具体方法流程图;
46.图17是本技术一个示例性的实施例提供的分布式拒绝服务攻击的检测方法的数据处理流程图;
47.图18是本技术一个示例性的实施例提供的时间序列算法流程示意图;
48.图19是本技术一个示例性的实施例提供的流量监控程序的监控界面视图;
49.图20是本技术一个示例性的实施例提供的一个ddos攻击实例的流量数据分布曲线图;
50.图21是本技术一个示例性的实施例提供的分布式拒绝服务攻击的检测装置的结构框图;
51.图22是本技术一个示例性的实施例提供的分布式拒绝服务攻击的检测装置的结构框图;
52.图23是本技术一个示例性的实施例提供的计算机设备的结构框图。
具体实施方式
53.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
54.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
55.首先,对本技术中涉及的若干名词进行解析:
56.局域网,局域网是一种私有网络,一般在一座建筑物内或建筑物附近,比如家庭、办公室或工厂。局域网络被广泛用来连接个人计算机和消费类电子设备,使它们能够共享资源和交换信息。当局域网被用于公司时,它们就称为企业网络。
57.目的ip地址和源ip地址,网络通信协议中的ip数据报携带源ip地址和目的ip地
址,其中,目的ip地址指的是要访问的目的设备的ip地址,源ip地址指的是发送设备的ip地址。
58.cusum(cumulative sum,累积和)算法:累积和算法的主要思想是把网络数据流看作一个随机模型,在异常情况发生时,模型的结构会发生变化,只要能够检测出模型的变化,就能及时发现攻击行为。cusum算法是用来检测异常的常用算法,具有计算简单、效率高的特点,因此被广泛应用到需要实时检测的环境中。而且,通过对算法设置不同的检测参数、修改期望值产生方法、阈值的动态产生等方法,可以使该算法具有很好的自适应性。cusum算法可以检测到一个统计过程均值的变化,该算法在参数模型已知的情况下是渐进最优的,并且对变化较小的序列检测较为敏感。
59.在网络安全技术领域中,分布式拒绝服务(distributed denial of service,ddos)攻击是目前严重威胁网络安全和影响网站服务质量的一种攻击手段,ddos攻击利用多个分布式攻击源向被攻击目标发送超出其处理能力的海量数据包,来消耗可用系统和带宽资源,从而导致网络服务瘫痪。
60.参照图1,其出示了ddos攻击的网络环境示意图,包括网络服务器110和局域网120,局域网120内有多个终端设备130,所述终端设备130指接入局域网的终端设备,可以是台式计算机、笔记本、本地服务器、手机、平板等,终端设备130可以通过有线或无线的方式接入局域网,终端设备130通过局域网内的网关140接入互联网,例如可以通过互联网访问网络服务器110。当局域网120内的终端设备130因为病毒、木马或恶意程序而感染成为“肉鸡”或傀儡设备后,会向局域网120外发送ddos攻击,例如向网络服务器110发送ddos攻击,这时,会导致局域网内流量异常,从而影响局域网内业务的正常业务开展,对于企业网络,若出现大量的异常流量,还可能受到网络监管部门的通报。常见的ddos攻击包括流量型攻击和连接型攻击。其中,流量型攻击指终端设备130向网络服务器110发送超大量的随机或特定的ip包,造成网络服务器110不能处理其他正常的ip报文,连接攻击型指终端设备130向网络服务器110发送大量伪造的tcp连接请求,使得网络服务器110资源耗尽,无法及时回应或处理正常的服务请求。
61.现有的ddos攻击检测主要在网络服务器110侧进行,以检测当前网络服务器110是否受到ddos攻击,通常的做法是,人工依靠经验设置流量阀值,获取网络服务器110的入站数据流,对流量数据进行统计,由于ddos攻击的主要目的是使网络服务器110瘫痪,因此网络服务器110的入站流量数据中,会有目的ip相同的大量数据流,只需要对相同目的ip的流量数据进行统计,并将统计的流量与流量阈值进行比较,如果流量大于流量阈值,则确定网络服务器110受到ddos攻击。
62.然而,上述ddos攻击的检测方法只适用于对服务器的入站流量进行检测,并不适用于检测本地局域网内计算机设备向局域网外发送的ddos攻击,由于这些向外网发送的ddos流量较小,传统的静态阈值设定无法有效检测,若人为简单地将流量阀值调小,则容易出现误判的情况。
63.为此,本技术实施例提供了一种分布式拒绝服务攻击的检测方法、装置及其计算机设备、计算机可读存储介质,能够检测局域网内外发的分布式拒绝服务攻击,降低误判的情况。
64.本技术实施例提供的分布式拒绝服务攻击的检测方法可以应用于如图2所示的应
用环境,该应用环境包括:包括网络服务器110和局域网120,局域网120内有多个终端设备130,所述终端设备130指接入局域网的终端设备,可以是局域网内固定的设备,例如台式计算机、打印机、本地服务器或智能家居设备等,也可以是移动设备,例如笔记本、手机、平板、可穿戴设备等;其中终端设备130可以通过有线或无线的方式接入局域网,例如通过网线、交换机等有线方式接入局域网,也可以通过无线的方式接入局域网,例如通过无线wifi、移动基站、热点信号或蓝牙信号接入局域网。终端设备130通过局域网内的网关140接入互联网,例如可以通过互联网访问网络服务器110。还包括检测设备210,检测设备210通过有线或无线的方式接入局域网。
65.一实施例中,检测设备210可以为独立的计算设备,例如独立的台式机、笔记本电脑、本地服务器或移动终端设备,所述检测设备210安装有流量监控程序及存储有流量数据,所述流量监控程序可以基于快速通用的计算引擎,例如火花计算引擎(spark计算引擎)实现。所存储的流量数据可以是即时获取并缓存的流量数据,也可以是历史流量数据,例如前一周内的流量数据,所述流量数据可以存储在检测设备210的存储器内,也可以设置独立的数据库进行存储,流量数据也可以存储在局域网外的云服务器中,所述流量监控程序可以是桌面应用程序,也可以是移动应用程序、小程序或网页客户端。另一实施例中,检测设备210也可以是局域网内的任一终端设备130,只需要终端设备130运行流量监控程序,即成为检测设备210。另一实施例中,检测设备210也可以是局域网的网关140,即网关140内置有流量监控程序,通过局域网内访问或远程访问网关140,即可查看流量监控的情况以及对流量监控程序进行配置。
66.图3是本技术一个示例性的实施例提供的一种分布式拒绝服务攻击的检测方法,该方法应用于如图2所示的检测设备210中,所述方法具体包括步骤310,步骤320,步骤330,步骤340,步骤350和步骤360。
67.步骤310,在局域网内获取第一设备在第一时间段内向局域网外发送的流量数据。
68.检测设备210通过流量监控程序可以获取第一设备的流量数据,第一设备可以是局域网内任意一个终端设备130,检测设备210可以通过ip地址对第一设备进行识别,即在第一时间段内,局域网每个终端设备130都有不同的ip地址,一实施例中,检测设备210只需要对局域网内的流量数据进行识别即可,因为终端设备130向局域网外发送的数据都包括目的ip地址和源ip地址,所述源ip地址为终端设备130的ip地址,目的ip地址为终端设备130要访问的局域网外ip地址,例如终端设备130需要访问图2的网络服务器110,则终端设备130发出的网络请求的源ip地址为终端设备130的ip地址,目的ip地址为网络服务器110的ip地址,流量监控程序只需要获取该访问请求的数据,即可判断访问请求的数据是否为向局域网外发送的流量数据,另外,只需要对第一时间段内源ip地址相同的外发流量数据进行统计,即可获取第一设备在第一时间段内向局域网外发送的流量数据。流量监控程序可以对局域网内所有计算机设备进行监控,只需要针对不同的源ip地址的流量数据进行统计即可。每个流量数据记录有发送的时间戳及待分析字段值,时间戳用于进行时间聚合统计,分析字段用于进行过滤或特征筛选。
69.一实施例中,第一时间段可以为预设的时间段或由管理员配置,第一时间段在时间计数周期中有固定的位置,第一时间段为开始时间和结束时间在时间计数周期内固定的时间段,例如,以一天(24小时)作为时间计数周期,这时可以设置当天的12点01分至20点00
分作为第一时间段,再例如,以一周作为时间计数周期,这时可以设置周三整天(24小时)作为第一时间段。示意性地,以下实施例中的时间计数周期主要以一天作为单位进行说明,但熟悉本领域的技术人员在不违背本技术精神的前提下也可以设置其他时间计数周期,例如以一周、一月或一年作为单位。第一时间段可以包含当前实时时间,例如当前时间往前50分钟的时间段作为第一时间段,第一时间段也可以是在时间计数周期内任意选定的时间段,可以跨越当前的时间计数周期,例如第一时间段为前天晚上23点01分至今天凌晨1点01分,只要第一时间段的时间间隔小于时间计数周期即可。
70.需要说明的是,需要对所获取到的流量数据进行存储,其中可以存储至检测设备210的存储器中,另外,也可以存储至局域网内的数据库或云服务器中。流量数据的采集可以是实时的,例如,在具体某一天,可以实时采集当天的流量数据并将其存储起来,以便作为后续某天的历史流量数据来进行计算。
71.步骤320,获取所述流量数据中符合特征类型的特征数据,根据所述特征数据在第一时间段内的分布得到第一分布数据。
72.流量监控程序根据特征类型对流量数据进行统计,特征类型可以由管理员预先设定或通过选择得到,特征类型包括协议类型、流量速度、包量速度、包长、生存时间值ttl、源端口、目的端口和源互联网协议ip数中的至少一种。第一分布数据为特征数据在一时间段内的分布。
73.由于不同ddos攻击在流量数据上有不同的表现,管理员根据所需检测的ddos攻击类型选择合适的特征类型进行统计,以syn flood攻击(同步序列编号攻击,synchronize sequence numbers)为例,由于syn flood攻击的原理是,依据tcp建立连接的三次握手,向目的网络服务器发送大量的syn数据包,而在收到目的网络服务器的syn ack包后并不回应,使目的网络服务器因为建立并维护大量的连接队列而瘫痪,因此,针对syn flood攻击,特征数据为syn数据包,流量监控程序通过统计第一时间段内各单位时间段的syn数据包的数量,从而得到第一分布数据。熟悉本领域的技术人员在不违背本技术精神的前提下也可以根据不同ddos攻击类型以不同的规则筛选对应的特征数据,例如不对数据的协议类型区分,将流量数据的包量大于设定值的流量数据作为特征数据。
74.图4为所述第一分布数据的分布曲线图,其中横坐标为时间,横坐标的原点为第一时间段的开始时间,终点为第一时间段的结束时间。纵坐标与特征类型对应,以syn flood攻击为例,其纵坐标为syn数据包的数量,流量监控程序统计每个单位时间的对应的特征数据,以单位时间为1分钟为例,流量监控程序统计第一设备在第一时间段内每分钟的向局域网外发送的syn数据包的数量,从而形成第一分布数据。可见第一分布数据是离散性的,因此可以用时间序列进行表示,例如x
n
(n=0,1,2....),其中n代表时间序列号,对应第一时间段内每个单位时间。
75.步骤330,根据所述第一分布数据得到第一统计值。
76.由于第一分布数据为以单位时间,为能够将第一分布数据用于比较,流量监控程序对第一分布数据进行统计,获得第一统计值。其中,第一统计值反映了第一分布数据的特征,以便将该特征应用于比较,示例性地,第一统计值可以为第一分布数据的最小值、最大值、平均值中任意一种,也可以为其他类型反映第一分布数据特征的统计值,如方差、标准差、全部流量数据或部分流量数据的累计和等,也可以是上述统计值的结合,例如为平均值
与方差之和。由于原始流量数据会包含许多干扰信息和信息冗余,为了能更好地分析数据,在一实施例中,还可以先对第一分布数据进行降噪处理,然后再计算获得其第一统计值。其中降噪处理可以采用现有的信号降噪算法,例如离散小波变换算法、离散傅里叶变换滤波算法等。
77.步骤340,获取所述第一设备在历史时间段内向局域网外发送的历史流量数据。
78.这里的历史时间段是指步骤310中获取当前第一时间段之前的一段时间,以时间计数周期为一天为例,当天以前的时间段均可作为本技术实施例中的历史时间段,例如本实施例中可以取最近7天,即从当天0点之前开始向前推7天的时间段为历史时间段,历史时间段中第一设备向局域网外发送的历史流量数据体现了第一设备历史的网络活动行为。
79.步骤350,根据所述历史流量数据得到第一阈值。
80.由于第一设备在历史时间段内向局域网外发送的历史流量数据体现了第一设备历史的网络活动行为,因此根据历史流量数据计算得到第一阈值反映了第一设备的历史网络活动特征。
81.步骤360,将所述第一统计值与所述第一阈值进行对比,若所述第一统计值大于第一阈值,则确定所述第一设备发出分布式拒绝服务攻击。
82.流量监控程序将第一统计值与所述第一阈值进行对比,由于第一统计值反映了第一设备当前的网络活动特征,第一统计值反映了第一设备历史的网络活动特征。若第一统计值大于第一阈值,则表示当前第一设备的向所述局域网外发送的流量数据异常,由于第一分布数据中所统计的是对应ddos攻击行为的特征数据,因此判断第一设备在当前第一时间段内发出了ddos攻击。
83.本技术实施例提供的分布式拒绝服务攻击的检测方法,由于通过在局域网内获取第一设备在第一时间段内向局域网外发送的流量数据,根据所述流量数据中的特征类型获得特征数据在第一时间段内分布的第一分布数据,另外根据第一设备在历史时间段向局域网外发送的历史流量数据得到第一阈值,将所述第一分布数据的第一统计值与所述第一阈值进行对比,以判断第一设备是否出现分布式拒绝服务攻击,由于第一阈值是根据第一设备在历史时间段内的历史流量数据自适应地变化的,能够使第一阈值的大小符合当前的业务场景。通过这种基于历史流量数据来获取动态的第一阈值的方式,相对于人工设置固定的静态的阈值条件来说,可以有效检测局域网内发出的分布式拒绝服务攻击。
84.在一实施例中,参照图5所示,步骤350进一步包括以下步骤:
85.步骤510,根据所述历史流量数据在第一时间段内的分布得到第二分布数据。
86.其中,历史流量数据为第一设备在历史时间段内向局域网外发送的流量数据,第一时间段为开始时间和结束时间在时间计数周期内固定的时间段,例如每天的12点01分至20点00分,因此,历史流量数据在第一时间段分布的第二分布数据,反映了第一设备在历史时间段中的第一时间段的网络活动行为。例如,以历史时间段为一周、以一天作为时间计数周期举例,获取从当天0点之前开始向前推7天内第一设备向局域网外发送的流量数据作为历史流量数据。第一分布数据所统计的第一时间段为当天的12点01分至20点00分,则历史时间段中每天12点01分至20点00分第一设备向局域网外发送的符合特征类型的特征数据,反映了第一设备在前一周中12点01分至20点00分的网络活动行为。
87.步骤520,根据第二分布数据得到第一阈值。
88.所述第二分布数据的横坐标、纵坐标和第一分布数据对应,为了能够与第一分布数据比较,流量监控程序也对第二数据进行统计,获得第一阈值。所述第一阈值反映了第一设备在历史时间段内的网络活动行为特征。
89.一实施例中,第二分布数据可以为其中一个时间计数周期的历史流量数据分布,例如,当天为周三,当前统计的第一时间段为12点01分至20点00分,则第二分布数据可以为上周三第一时间段12点01分至20点00分的历史流量数据分布,也可以为前一天(周二)第一时间段12点01分至20点00分的历史流量数据分布。
90.另一实施例中,第二分布数据可以统计多个时间计数周期的历史流量数据分布得出,例如,历史时间段包括对应各个时间计数周期的多个第一时间段,历史流量数据在历史时间段中的多个第一时间段中分布,例如,以历史时间段为一周、以一天作为时间计数周期举例,获取从当天0点之前开始向前推7天内第一设备向局域网外发送的流量数据作为历史流量数据。第一分布数据所统计的第一时间段为当天的12点01分至20点00分,则当天前7天每天都有对应的第一时间段12点01分至20点00分,这样,可以对历史时间段内每天的历史流量数据分布进行统计计算,得到第二分布数据,所述第二分布数据反映了第一设备在历史第一时间段的网络活动行为。其中,统计计算的方式可以结合平均值、最大值、最小值、方差和标准差等统计方式进行统计。例如,一实施例中,参照图6所示,步骤510进一步包括以下步骤:
91.步骤610,根据多个所述第一时间段内的历史流量数据的平均值和方差值之和,得到第二分布数据。
92.历史时间段中包括多个第一时间段,历史流量数据在所述每个第一时间段中分布,本发明实施例中,通过计算各个第一时间段中对应时间序列的流量数据的平均值和方差值之和,得到各个单位时间对应的数据统计量,进而得到第二分布数据。其中所述方差值表示统计数据中的离散程度或偏离程度,所述方差值可以为方差或均方差(又称标准差)或方差、均方差的倍数,由于第二分布数据是考虑了对应第一时间段内各个单位时间之间的均值和方差值所计算得到的,这样第二分布数据能更好地反映历史流量数据在各个第一时间段中分布情况。参照图7所示,为第一分布数据和第二分布数据的对比分布曲线图,实线表示的曲线a为第一分布数据,虚线表示的曲线b为第二分布数据,该坐标系中的横坐标的单位为单位时间t,横坐标的原点为第一时间段的开始时间,终点为第一时间段的结束时间,纵坐标的单位与特征类型对应,例如为特定类型数据包的包量或流量。
93.一实施例中,参照图8所示,步骤520进一步包括以下步骤:
94.步骤810,获取所述第二分布数据中历史流量数据的峰值;
95.计算时,统计第二分布数据中每个单位时间的流量数据,获取其中的最大值作为第二分布数据中历史流量数据的峰值,参照图7所示,虚线表示的直线c为第二分布数据中历史流量数据的峰值。
96.步骤820,将所述峰值加上第一增量得到第二阈值;
97.图7中,点划线表示的直线d为在所述峰值加上第一增量后得到的第二阈值,由于历史流量数据的峰值也属于第一设备的历史正常流量数据,因此在所述峰值加上第一增量作为表示异常流量的第二阈值,第一增量可以理解为避免误判的预留量,第一增量可以人为根据经验设定,例如是固定值或者最大峰值的比例值,第一增量也可以根据现有数据统
计得出,例如,所述第一增量为所述第二分布数据的标准差。
98.步骤830,将第二阈值作为第一阈值,或者将第二阈值的倍数作为第一阈值。
99.一实施例中,将第二阈值作为第一阈值,由于第二阈值表示异常流量,因此可以将第一分布数据的第一统计值与所述第二阈值进行对比,若所述第一统计值大于第二阈值,则确定所述第一设备发出ddos攻击。例如,当第一统计值为第一分布数据的平均值,若所述第一分布数据的平均值大于第二阈值,判断第一设备发出ddos攻击。
100.另一实施例中,将第二阈值的倍数作为第一阈值,这时,对应的第一统计值与第一分布数据中单位时间的数据量成倍数关系,例如,所述第一统计值为第一分布数据所有数据之和,或者,第一统计值为第一分布数据中大于所述第二阈值部分的流量数据的累计和,这时相应地将第二阈值的倍数作为第一阈值。
101.一实施例中,在执行步骤510之前,首先对历史流量数据进行降噪处理,然后再根据降噪后的历史流量数据在第一时间段的分布得到第二分布数据。对历史流量数据进行降噪处理包括以下步骤:
102.获取历史流量数据在每个第一时间段中的分布;
103.对每个第一时间段的历史流量分布数据进行降噪处理。其中降噪处理可以采用现有的信号降噪算法,例如离散小波变换算法、离散傅里叶变换滤波算法等。
104.一实施例中,通过离散小波变换算法对每个第一时间段的历史流量分布数据进行降噪处理,离散小波变换可以提取时间序列的频谱特性,在时域和频域都具有表征信号局部特征的能力。原始数据通过离散小波变换后可以得到细节分量和近似分量。其中细节分量代表了原始数据中的高频部分,包含了原始信号的噪声等信息,近似分量为原始数据的低频部分,代表了原始信号的主要行为和信息。因此低频的近似分量更能反映出异常行为的变化。为了更好地获取到原始数据的主要行为信息,采用金字塔递归算法,对原始数据进行多阶离散小波变换,获得k阶近似分量。当阶数k越大,近似分量的主要趋势和主要信息越明显,但阶数太大会丢弃太多细节信息,使得变化信息减少,不利于特征数据变化的判断。
105.图9为一个第一时间段的历史流量分布数据执行1阶离散小波变换后的历史流量数据分布图,图10为执行5阶离散小波变换后的历史流量数据分布图,图11为执行7阶离散小波变换后的历史流量数据分布图,经过测试可知,执行5阶离散小波变换后能更好地描述反映时间序列的主要信息和数据变化,且没有多余的冗余信息和噪声,因此本技术实施例中采用5阶离散小波变换进行降噪处理。除了对历史流量分布数据进行降噪处理外,还可以对第一分布数据进行相应的降噪处理,即5阶离散小波变换的算法也可以应用于上述步骤330中对第一分布数据进行降噪处理。
106.以下结合具体计算公式对上述步骤进行说明,历史时间段中包括m个第一时间段,所述第一时间段由上述步骤310决定,可以为预设的时间段或由管理员配置,即在局域网内获取第一设备在第一时间段内向局域网外发送的流量数据时,获取历史流量数据在各个第一时间段的分布数据,并对各个第一时间段的历史流量数据分布执行如上述实施例所述的降噪处理,在执行降噪处理后,第一时间段内每个单位时间的流量数据可以表示为:x
(i,t)
,其中i表示第i个历史时间段,t表示第一时间段中的具体时间,例如单位时间为1分钟,t为12点01分时,x
(i,t)
表示在12点01分时刻起1分钟内统计的流量数据。
107.计算每个单位时间中对应各个第一时间段的流量数据的平均值:
108.例如,当t为12点01分时,表示历史时间段中12点01分时刻起1分钟内的流量数据的平均值。
109.计算每个单位时间中对应各个第一时间段的流量数据的方差σ(t),方差σ(t)的计算公式如下:
[0110][0111][0112]
例如,当t为12点01分时,σ表示历史时间段中所有12点01分时刻起1分钟内的流量数据的方差。
[0113]
根据多个所述第一时间段内的历史流量数据的平均值和方差值之和,得到第二分布数据:
[0114]
其中b(t)为第二分布数据,其中c
·
σ(t)为方差值,c为方差值系数,所述方差值系数用于调节第二分布数据的动态阈值上限,最终生成如图7所示的曲线b。
[0115]
在所述第二分布数据b(t)中,获取第二分布数据b(t)中的最大值thres
normal
作为第二分布数据b(t)的峰值,即thres
normal
=max(b),如图7所示的直线c即为所述第二分布数据b(t)的峰值thres
normal

[0116]
将所述峰值加上第一增量得到第二阈值,一实施例中,所述第一增量为第二分布数据的标准差std(b),所述第二阈值可以表示为thres
abnormal
=max(b) std(b)。图7中,所述第二阈值可用于作为异常流量的判断基准,例如,将第二阈值作为第一阈值与第一分布数据的统计值进行比较,或者将第二阈值的倍数与所述第一分布数据的统计值进行比较。
[0117]
一实施例中,所述步骤330,还包括以下步骤:
[0118]
将所述第一分布数据与所述第二阈值进行对比,获取所述第一分布数据中大于所述第二阈值部分的流量数据的累计和,所述累计和为所述第一统计值。
[0119]
通过将第一分布数据中大于所述第二阈值部分的流量数据的累计和作为第一统计值,能够识别异常流量数据,同时能够降低对正常流量数据的误判。
[0120]
一实施例中,参照图12所示,所述步骤330,还包括以下步骤
[0121]
步骤1210,获取所述第一分布数据与峰值的差值,得到第三分布数据;
[0122]
将第一分布数据每个单位时间的数据量减去峰值,得到第三分布数据,这相当于将第一分布数据整体向下平移了一个峰值的量,由于峰值反映了第一设备在历史时间段中的最大正常数据量,因此若第一分别数据的流量数据均正常,所述第三分布数据均为负数,一方面,这有利于识别异常流量,另一方面能够提高阈值判断的条件,进一步避免误判的情况。
[0123]
步骤1220,将所述第三分布数据与所述第二阈值进行对比,获取所述第三分布数据中大于所述第二阈值部分的流量数据的累计和,所述累计和为所述第一统计值。
[0124]
一实施例中,依据时间顺序依次计算第一时间段内每个单位时间超出第二阈值部分的流量数据的累计和,并将所述累计和依次与第一阈值进行比较,当累计和大于第一阈
值,则判定所述第一设备发出ddos攻击,若当前计算的单位时间对应的流量数据没有超出第二阈值,则对所述累计和进行清零。本实施例中还考虑到ddos攻击的持续性,只有当累计和持续累计且超出第一阈值时,才判定所述第一设备发出ddos攻击,能够进一步减小误判的情况。
[0125]
参照图13所示的流量数据分布图,其中虚线表示的曲线e为第一分布数据,第一分布数据可以用x
n
(n=0,1,2...)表示,其中n代表时间序列号,对应第一时间段内每个单位时间。例如,第一分布数据对应的第一时间段为12点01分至20点00分,第一分布数据以1分钟的单位时间进行数据聚合,则有480个时间序列,第一分布数据可以可以表示为x
n
(n=0,1,2...480)。所述x
n
可以为经过降噪处理后的第一分布数据。
[0126]
第三分布数据z
n
(n=0,1,2...)的计算公式为:z
n
=x
n-thres
normal
,其中thres
normal
为第二分布数据中的峰值。在图13中以实线表示的曲线f为所述第三分布数据,可见,若时间序列不包含异常点的情况下,z
n
(n=0,1,2,

)均为负值。
[0127]
在图13中,以点划线表示的直线h为第一阈值thres
ddos
,所述第一阈值为第二阈值的倍数,即thres
ddos
=t
·
h=t
·
thres
abnormal
,其中t为常数系数。
[0128]
当第一设备发生ddos攻击时,这时z
n
大于第二阈值,即z
n
>thres
abnormal
,这表示特征数据迅速发生突变,此时,z
n
变为正值,当超过第二阈值时,将按照如下公式对异常z
k
值进行采用累计和cusum算法进行累加:
[0129]
y
n
=(y
n-1
z
k
)

,y0=0,其中y
n
为累计和,当累计和y
n
超过第一阈值时,则判定第一设备发生了ddos攻击行为。一实施例中,当z
n
大于第二阈值时,开始对累计和y
n
进行累加,在对y
n
累加的过程中,如果超出累计和y
n
超过第一阈值,则判定第一设备发生了ddos攻击行为,如果累计和y
n
尚未超过第一阈值,且当前单位时间的z
n
小于第二阈值,则对累计和y
n
进行清零。参照图13所示,箭头a1所指的时刻的z
n
大于第二阈值时,开始y
n
开始进行累加,可以看见后续累加的z
k
值呈先增加后减少的趋势直至到达箭头a2所指的时刻,这时z
n
小于第二阈值,由于累计和y
n
尚未超过第一阈值,因此在箭头a2所指的时刻对累计和y
n
执行清零。再例如,图13中箭头b1所指的时刻的z
n
大于第二阈值,再次对累计和y
n
进行累加,直至图13中箭头b2所指的时刻之间的所有时刻,累加的zn均大于第二阈值,箭头b2所指的时刻中,累计和y
n
超过第一阈值,则判定第一设备发生了ddos攻击行为。
[0130]
上述实施例中,为针对第一设备自身的历史数据进行分析以确定第一阈值。当第一设备历史数据较为稀疏或者历史数据特征值较小的情况下,突增的小规模数据也会被判定为异常行为,例如局域网内的前一周都没有开机的终端设备,第一阈值较小,当终端设备正常使用时,流量数据相对于历史数据激增,容易出现误判的情况。为了应对上述情况,一实施例中,参照图14所示,还包括以下步骤:
[0131]
步骤1410,确定局域网内未发出分布式拒绝服务攻击的第二设备。
[0132]
其中,所述第二设备为确定未发出ddos攻击的终端设备,以下称呼为正常的终端设备,其中,可以参见通过上述实施例中步骤310至步骤360以判断第二设备是否为未发出ddos攻击的终端设备。
[0133]
步骤1420,获取所述第二设备在所述第一时间段内向所述局域网外发送的对比流量数据。
[0134]
例如,第一时间段为12点01分至20点00分,则除了获取第一设备在12点01分至20
点00分点480分时间段内的向所述局域网外发送的流量数据外,同时还获取第二设备在12点01分至20点00分时间段内的向所述局域网外发送的对比流量数据。
[0135]
步骤1430,根据所述对比流量数据得到第三阈值。
[0136]
所述第三阈值根据对比流量数据而动态变化。一实施例中,首先获取所述对比流量数据中符合特征类型的特征数据,根据所述特征数据在第一时间段内的分布得到第四分布数据,然后获取所述第四分布数据的最大值,所述第四分布数据的最大值加上第二增量,得到第三阈值,所述第二增量为所述第四分布数据的最大值和平均值的差值,其中所述第三阈值可以表示为:thres=max (max-mean),其中,max表示第四分布数据的最大值,mean表示第四分布数据的平均值。本实施例中的第三阈值,可以客观反映同类终端设备在局域网中的正常网络活动行为,进一步降低误判的可能性。参照图15所示,圆角矩形框1510为局域网内待检测的流量数据,其中空心圆圈表示正常流量数据,实心圆圈表示异常流量数据,流量监控程序对局域网内的流量数据进行检测,获得确定局域网内未发出ddos攻击的第二设备1520和疑似发出ddos攻击的第一设备1530,其中所述第一设备在第一时间段中的第一分布数据的统计值大于第一阈值,通过第二设备1520的特征数据得到第三阈值thres,将第一设备1530中的数据与第三阈值thres进行比较,进而识别出如图15圆圈1540中的异常数据,确定第一设备第一设备1530发出了ddos攻击。
[0137]
所述步骤360还包括:
[0138]
步骤1440,将所述第一统计值与所述第一阈值、第三阈值进行对比,若所述第一统计值大于所述第一阈值且大于所述第三阈值,则确定所述第一设备发出分布式拒绝服务攻击。
[0139]
本实施例中设置有两个阈值,包括基于第一设备自身历史流量数据得出的第一阈值和基于同一时间段中正常终端设备当前流量数据得出的第三阈值,由于参考了局域网内其他终端设备的正常网络活动,能避免由于第一设备由于历史流量数据较小导致的误判现象,能够进一步避免误报情况的发生。
[0140]
另外,一实施例中,还可以统计多个第二设备的第三阈值,以阈值最大的第三阈值与第一设备的第一统计值进行对比。即所述第一分布数据大于所述第一阈值且大于所有第二设备的第三阈值时,确定所述第一设备发出ddos攻击。
[0141]
另外,一实施例中,当确定当前第一设备在第一时间段内并未发出ddos攻击后,自动将当前第一设备标记为第二设备,以便作为检测其他终端设备时参照使用。
[0142]
一实施例中,参照图16所示,所述步骤1410包括以下步骤;
[0143]
步骤1610,获取所述对比流量数据中符合特征类型的特征数据,根据所述特征数据在第一时间段内的分布得到第四分布数据;
[0144]
步骤1620,根据所述第四分布数据得到第二统计值;
[0145]
步骤1630,获取所述第二设备在历史时间段内向局域网外发送的对比历史流量数据;
[0146]
步骤1640,根据所述对比历史流量数据得到第四阈值;
[0147]
步骤1650,将所述第二统计值与所述第四阈值进行对比,若所述第二统计值小于所述第四阈值,确定所述第二设备。
[0148]
上述步骤1610至步骤1650中,通过对当前终端设备在第一时间段内的分布得到第
四分布数据的第二统计值与通过对比历史流量数据得到的第四阈值进行比较,能准确判断当前终端设备是否为第二设备。所述步骤1610至步骤1650的具体实现方式可以参见上述实施例中对第一设备的流量数据的处理过程。
[0149]
流量监控程序可以每隔预设的时间执行上述实施例中的分布式拒绝服务攻击的检测方法,例如每隔1小时就会自动以新的第一时间段对局域网内的流量数据进行提取分析,这是第一时间段是动态变化的,例如前一个检测周期第一时间段为12点01分至20点00分,当前检测周期的第一时间段为13点01分至21点00分,由于第一时间段的动态变化,统计的流量数据也会动态变化,对应的历史流量数据也会动态变化,进而使不同检测周期的第一阈值和第三阈值也会相应动态变化。
[0150]
参照图2所示,检测设备210通过流量监控程序执行上述实施例中的分布式拒绝服务攻击的检测方法,以便监控局域网内所有的终端设备130。示例性地,以下为检测设备210对整个局域网内的流量监控过程:参照图17所示,检测设备210从局域网中进行流量采集,首先所采集的流量进行预处理,包括:获得从局域网内向外发出的流量数据,依据设定的时间计数周期及单位时间对所获取的流量数据进行聚合过滤,然后根据不同ddos攻击的类型所对应的src_ip(源ip地址)网络协议从所述流量数据中提取不同终端设备130的特征数据,生成第一分布数据。然后,对第一分布数据进行时间序列异常检测,包括:利用时间序列算法对第一分布数据进行检测,时间序列算法参见图18所示,首先对第一分布数据的流量数据进行离散小波变换,以对第一分布数据中的流量数据进行降噪,然后,获取当前流量数据源ip地址的终端设备所发出的历史流量数据,进行动态阈值计算,获得对应的第一阈值,参照图17所示,检测设备210根据第一阈值对离散小波变换后的流量数据进行cusum算法检测,判断是否出现ddos攻击,检测设备210对局域网内的所有外发的流量数据进行分析,进而得到指定时间段内局域网数据流量的异常检测结果。若无异常流量数据的时间段,则无告警,若出现异常流量数据的时间段,则按设定的规则策略对流量数据进行过滤,例如,禁止出现异常浏览的源ip地址的终端设备130外发流量数据,或者禁止该终端设备130向目的ip地址发送流量数据,或者禁止该终端设备130访问外网。另外,产生外发ddos的告警事件,以便通知相关的管理人员进行处理。检测设备210通过流量监控程序执行上述操作,所述流量监控程序基于火花计算引擎(spark计算引擎)实现,例如,基于spark计算引擎对流量数据进行聚合过滤、特征提取及执行时间序列算法。
[0151]
其中检测设备210可通过如图19所示的程序界面查看监控情况。其中,检测到有终端设备130发出ddos攻击时,触发告警,对异常的第一时间段记录开始时间、结束时间、特征数据的流量数据的总和,特征值均值以及最大特征值,并在图19中的事件列表框1910中展示各个ddos攻击的详情,包括源ip地址和目的ip地址,另外,在图19中的分布统计窗口1920中,显示所有终端设备130的网络访问数据。当管理员选定某个ddos攻击事件时,可在分布图窗口1920中显示该事件的第一分布数据。另外,在图19所示的第一统计窗口1930中,显示了针对源ip地址的ddos攻击异常数据的统计,在图19所示的第二统计窗口1940中,显示了针对目的ip地址的ddos攻击异常数据的统计。
[0152]
例如,流量监控程序检测到源ip地址为172.16.0.5的终端设备130发出了ddos攻击,其中所监控的第一时间段为2019-11-23 11:20至2019-11-23 12:42合共82分钟,图20为对应的分布数据图,其中箭头j所示虚线为流量监控程序检测出的异常流量数据,检测到
该ddos攻击开始于2019-11-23 12:24:00,结束于2019-11-23 12:39:00,总共发送了337906个syn_sent包,其中最大值为一分钟发送了48427个数据包,而对应的第一阈值只有83个数据包,符合终端设备130历史网络活动行为。
[0153]
图21是本技术一个实施例提供的一种分布式拒绝服务攻击的检测装置的结构框图,该检测装置包括:
[0154]
流量获取模块2110,在局域网内获取第一设备在第一时间段内向所述局域网外发送的流量数据;
[0155]
数据提取模块2120,获取所述流量数据中符合特征类型的特征数据,根据所述特征数据在第一时间段内的分布得到第一分布数据;
[0156]
统计模块2120,根据所述第一分布数据得到第一统计值;
[0157]
数据获取模块2140,获取所述第一设备在历史时间段内向局域网外发送的历史流量数据;
[0158]
阈值计算模块2150,根据所述历史流量数据得到第一阈值;
[0159]
判断模块2160,将所述第一统计值与所述第一阈值进行对比,若所述第一统计值大于第一阈值,则确定所述第一设备发出分布式拒绝服务攻击。
[0160]
21段内的历史流量数据自适应地变化的,能够使第一阈值的大小符合当前的业务场景。通过这种基于历史流量数据来获取动态的第一阈值的方式,相对于人工设置固定的静态的阈值条件来说,可以有效检测局域网内发出的分布式拒绝服务攻击。
[0161]
图22是本技术一个实施例提供的一种分布式拒绝服务攻击的检测装置的结构框图,该装置包括:至少一个处理器2210、至少一个存储器2220和至少一个程序,该程序存储在存储器2220上并可在处理器2210上运行,以实现上述实施例中的一种分布式拒绝服务攻击的检测方法。
[0162]
其中处理器2210和存储器2220可以通过总线或者其他方式连接,图22中以通过总线连接为例。
[0163]
图23是申请一个实施例提供的一种计算机设备,该计算机设备包括上述实施例中的分布式拒绝服务攻击的检测装置。
[0164]
本技术的一个实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被图中的一个处理器2210执行,可使得上述处理器2210执行本技术实施例中的用户标识生成方法,例如,执行以上描述的图3中的方法步骤301至306、图5中的方法步骤501至502、图6中的方法步骤610、图8中的方法步骤810至830、图12中的方法步骤1210至1220、图14中的方法步骤1410至1440、图16中的方法步骤1610至1650。
[0165]
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0166]
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机
可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置,或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
[0167]
以上是对本技术的较佳实施进行了具体说明,但本技术并不局限于上述实施方式,熟悉本领域的技术人员在不违背本技术精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜