一种分布式拒绝服务攻击检测方法及装置与流程

文档序号:17985840发布日期:2019-06-22 00:24阅读:169来源:国知局
一种分布式拒绝服务攻击检测方法及装置与流程

本发明涉及互联网通信技术领域,尤其涉及一种分布式拒绝服务攻击检测方法及装置。



背景技术:

synflood(同步报文字段泛洪)攻击作为ddos(distributeddenialofservice,分布式拒绝服务)攻击的方式之一,它利用tcp(transmissioncontrolprotocol,传输控制协议)的漏洞,发送大量伪造的syn(同步报文字段)连接请求,从而使得被攻击方资源耗尽(cpu满负荷或内存不足)而拒绝提供服务。2000年,美国数个大型商业网站(有yahoo、ebay、cnn、amazon等)相继遭受synflood攻击,服务瘫痪长达数小时之久,造成了高达12亿美元的经济损失。2005年,国内大型商业网站8848同样遭到了synflood攻击,服务瘫痪时间长达27小时。synflood攻击看似简单,但防御起来相当困难,一方面,这种攻击利用的是tcp固有的漏洞,使用正常网络服务都不会禁止syn;另一方面,攻击者不需要得到目标主机的返回信息,所以可以伪造数据报文的源ip地址使目标主机无从追查。

目前对syn洪泛攻击的抵御往往是事后防御,而此时syn洪泛攻击已经对受害主机或目标网络造成了一定的伤害。因此,需要提供对syn洪泛攻击更准确有效的事前检测方案。



技术实现要素:

为了解决现有技术应用在对抵御syn洪泛攻击时检测时准确度低、易出现误告警等问题,本发明提供了一种分布式拒绝服务攻击检测方法及装置:

一方面,本发明提供了一种分布式拒绝服务攻击检测方法及装置,所述方法包括:

实时获取服务器接收的数据报文;

对第一预设时间段内每个所述数据报文进行解析、统计,得到不同维度的实时流量值;

根据同步报文字段维度的第一实时流量值和终止报文字段维度的第二实时流量值,计算所述第一实时流量值占所述第二实时流量值的比例,得到第一比值;

当所述第一比值大于第一阈值时,判定所述服务器存在同步报文字段泛洪攻击。

另一方面提供了一种分布式拒绝服务攻击检测装置,所述装置包括:

数据报文获取模块:用于实时获取服务器接收的数据报文;

第一统计模块:用于对第一预设时间段内每个所述数据报文进行解析、统计,得到不同维度的实时流量值;

第一计算模块:用于根据同步报文字段维度的第一实时流量值和终止报文字段维度的第二实时流量值,计算所述第一实时流量值占所述第二实时流量值的比例,得到第一比值;

攻击判定模块:用于当所述第一比值大于第一阈值时,判定所述服务器存在同步报文字段泛洪攻击。

另一方面提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述的分布式拒绝服务攻击检测方法。

另一方面提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的分布式拒绝服务攻击检测方法。

本发明提供的一种分布式拒绝服务攻击检测方法及装置,具有如下技术效果:

本发明有效且具有针对性的判定服务器是否存在分布式拒绝服务攻击中的同步报文字段泛洪攻击。实时流量值体现相关报文字段的动态变化,使得对同步报文字段泛洪攻击的判定更加灵活准确,能够适应现网复杂的业务流量形态,减少误告警的发生情形。

附图说明

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

图1是本发明实施例提供的一种应用环境的示意图;

图2是本发明实施例提供的一种分布式拒绝服务攻击检测方法的流程示意图;

图3是本发明实施例提供的实时流量值与流量值基线进行比较的一种的流程示意图;

图4是本发明实施例提供的对第一实时流量值和第二实时流量值的比值进行比较的一种流程示意图;

图5是本发明实施例提供的当所述第一比值大于第一阈值时,判定所述服务器存在同步报文字段泛洪攻击的一种流程示意图;

图6是本发明实施例提供的一种分布式拒绝服务攻击检测装置的组成框图;

图7也是本发明实施例提供的一种分布式拒绝服务攻击检测装置的组成框图;

图8是本发明实施例提供的模型训练和模型预测的一种示意图;

图9是本发明实施例提供的一种反射式同步报文字段泛洪攻击的示意图;

图10是本发明实施例提供的一种实时流量检测过程示意图;

图11是本发明实施例提供的一种syn泛洪攻击检测系统示意图;

图12是本发明实施例提供的一种服务器的组成框图。

具体实施方式

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

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

请参见图1,其示出了本发明实施例提供的应用环境,包括:服务请求发送方集群110、业务处理服务器120和流量检测服务器130,其中,所述服务请求发送方集群110包括若干用户终端设备,所述用户终端设备可以但不限于为手机、平板电脑、台式计算机等终端设备。所述业务处理服务器120用于接收并处理用户发送的业务服务请求;所述流量检测服务器130用于对流入的流量进行检测,判断是否存在synflood攻击,并且当检测到存在synflood攻击时,发出告警信息。需要说明的是,图1仅仅是一种示例。

在本发明实施例中,在流量进入核心交换机之前,将其镜像一份到流量分析系统,流量分析系统对流量进行进一步处理(分类、解析、统计、计算和差异比较等),进而根据处理结果得出服务器是否存在synflood攻击的判定。

在实际应用中,流量检测服务器可以部署在大中型网络骨干路由器上。

以下介绍本发明一种分布式拒绝服务攻击检测方法,图2是本发明实施例提供的一种分布式拒绝服务攻击检测方法的流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:

s201:实时获取服务器接收的数据报文;

在本发明实施例中,如图11所示,可通过分光器实时镜像所述数据报文,分光器在所述数据报文由运营商发送至核心交换机1110的路径中作镜像,这样便可以实时获取到由运营商经核心交换机1110发送至服务器1120的所述数据报文。所述数据报文经过分光交换机1130之后,按照二元组(源目的ip)进行作不同解包处理(通过解包模块1140)的分发。不再是事后防御的被动检测,而是在数据报文进入服务器前对镜像作检测,可以有效的对具有syn泛洪攻击的特征字段作及时的过滤(比如根据syn的长度过滤)和清洗,更好的保证服务器的功能实现。

s202:对第一预设时间段内每个所述数据报文进行解析、统计,得到不同维度的实时流量值;

在本发明实施例中,按照对应的协议栈规范对每个所述数据报文进行解析,输出对应的协议的报文字段。比如,可以按照udp(userdatagramprotocol,用户数据报协议)对udp数据报文进行解析,得到首部字段(包括伪首部、源端口、目的端口、长度和校验和)和数据字段。可以按照tcp(传输控制协议)对tcp数据报文进行解析,得到同步报文字段(syn)、终止报文字段(fin)、确认报文字段(ack)、复位报文字段(rst)等。当然基于对synflood攻击的检测,可以只采用tcp对第一预设时间段内每个所述数据报文进行解析,以得到作为检测参数的syn和fin的相关信息。如图11所示,可以通过实时检测模块1160中的流量统计模块1162实现。

在一个具体的实施例中,对于不同维度的实时流量值的统计可以按照下述步骤处理,首先,在不同维度下分别设置统计标识;然后,检测预设时间窗内所述统计标识对应的流量值。

对于源端口维度:

采用ip+源端口作为统计标识,基于ip和源端口来统计源端口维度的流量值,这样就可以在特定时间窗内检测某一个目的ip的某一个源端口的流量值。具体的,源端口可以取53,123,161,1900,19,135,0等。

对于目的端口维度:

采用ip+目的端口作为统计标识,基于ip和目的端口来统计目的端口维度的流量值,这样就可以在特定时间窗内检测某一个目的ip的某一个目的端口的流量值。

对于包长维度:

假设最大包长为1500,用最大包长除以100,得到15,那么用任一采集到的包长除以100得到分段值m,分段值m会落在0~15之间的某一段中。采用ip+m作为统计标识,基于ip+m来统计包长维度的流量值,这样就可以在特定时间窗内检测某一个目的ip的某个包长段的流量值。

对于ttl(生存时间值,timetolive)维度:

和包长维度类似,将采集到的ttl值除以一个预设值,比如16,可以得到分段值n。采用ip+n来统计ttl维度的流量值,这样就可以在特定时间窗内检测某一个目的ip的某个ttl分段的流量值。

对于tcp数据报文维度,可以设置tcp标识位,tcp标识位指向tcp数据报文的特征(比如tcp数据报文的格式)在特定时间窗内检测tcp标识位的流量值。

对于同步报文字段维度,可以设置同步报文字段标识位,同步报文字段标识位指向syn的特征(比如syn设置为1,表示这是一个连接请求或连接接收数据报文)在特定时间窗内检测同步报文字段标识位的流量值。

对于终止报文字段维度,可以设置终止报文字段标识位,终止报文字段标识位指向fin的特征(比如fin设置为1,表示此报文字段的发送端的数据已发送完毕,并要求释放传输连接)在特定时间窗内检测终止报文字段标识位的流量值。

对于复位报文字段维度,可以设置复位报文字段标识位,复位报文字段标识位指向rst的特征(比如rst设置为1,表示tcp连接中出现严重差错,必须释放连接,然后再重新建立传输连接)在特定时间窗内检测复位报文字段标识位的流量值。

如图3所示,所述对第一预设时间内每个所述数据报文进行解析、统计,得到基于不同维度的实时流量值的步骤之后,还包括:

s301:将每个维度的所述实时流量值与对应的流量值基线进行差异比较;

在一个具体的实施例中,每个维度的所述流量值基线是预先对第二预设时间段内采集的数据报文进行离线计算得到的。第二预设时间段是指当前时间段(也就是第一预设时间段)之前的一段时间。比如可以取最近7天,即从今天0点之前开始向前推7天,这一段时间为第二预设时间段。这里的离线计算其实是对每个目的ip进行流量画像,得到每个目的ip的流量特征信息。每个维度的所述流量值基线的得到过程:首先,对预先存储的所述第二预设时间段内的数据报文作降噪处理。降噪处理可以过滤掉非公司ip流量、过滤网络混杂流量以及过滤syn泛洪攻击流量等。对于过滤syn泛洪攻击流量的操作,由于这里的数据报文均为历史数据,所以当时已经通过检测得知是否存在syn泛洪攻击流量;将以上可能影响攻击判断的数据报文过滤掉,才能得到实际的正常数据报文,即未受到ddos攻击的数据报文。然后,对经过降噪处理之后的所述数据报文进行数据平滑处理。数据平滑处理可以包括去掉毛刺点,以及将缺失的部分用最近一段时间的流量值补齐,比如,可以是用最近20分钟内的最大值来补齐。接着,根据数据处理结果,得出每个维度的流量值基线。可以在经过上述的数据降噪处理和数据平滑处理之后,根据处理之后的数据拟合出流量曲线,得出每个维度的流量值基线。这里的流量值基线可以是在预设一段时间内的正常流量值。具体的,对于每一个维度的每一个具体时刻点,均会有一个流量值基线与其对应。即根据对最近7天的数据报文进行处理分析,最终得出了对于每一个目的ip,一天之内各个维度在每个时刻点的标准参考流量值。同时还可以计算得到这些数据报文的统计值,统计值包括最大最小值、均值、方差及多倍均方差等。流量值基线与统计值都可以存储于数据库中以供实时检测关联调用。如图11所示,可以通过离线计算模块1150(包括流量采集模块1152、第二存储模块1154、数据处理模块1156和第一存储模块1158)来执行上述过程以得到每个维度的流量值基线。

在实际应用中,对某一个目的ip,可以通过源端口、目的端口、包长、生存时间值、同步报文字段的流量值/终止报文字段的流量值以及同步报文字段的流量值/tcp数据报文的流量值等来描述这个目的ip的流量。对应的,所述流量值基线包括源端口流量值基线、目的端口流量值基线、包长流量值基线、生存时间值流量值基线、同步报文字段/终止报文字段流量值基线(syn/fi流量值基线)和同步报文字段/tcp数据报文流量值基线(syn/tcp流量值基线)。根据前述的采集7天之内的数据报文,对于每一天而言,最近7天之内的数据报文是不相同的,因而根据这7天之内的数据报文得到的流量值基线也是不同的,即对于每个目的ip的每个维度的流量值基线是动态变化的。当然,对于某一个目的ip,离线计算获得的对应维度的流量值基线可以是根据该目的ip而具体设置的。比如通过源端口流量值基线、目的端口流量值基线、包长流量值基线、生存时间值流量值基线与对应维度的实时流量值进行差异比较便能获得预设准确率的攻击检测,那么也可以不对syn/fi流量值基线和syn/tcp流量值基线作离线计算,在保证检测准确性的同时减少运算负担。

s302:当所述差异比较的结果不满足预设条件时,判定所述服务器存在异常;

根据最近7天的数据报文得到了每一个目的ip,一天之内各个维度在每个时间点的流量值,将某个维度在某个时间点的实时流量值与对应时间点的流量值基线进行差异比较。可以为每个维度的流量值判断分别设置相应的阈值。如图11所示,可以通过实时检测模块1160的差异比较模块1164来执行对应维度下实时流量值与流量值基线得差异比较,基于差异比较的结果由告警模块1170发出服务器存在异常的告警。

在一个具体的实施例中,以源端口维度为例,假设预设时间窗为10s,每两个时间点之间的间隔为2s,这样一个时间窗内有5个时间点,采集目的ip+53端口的流量,将5个时间点的流量值x=(x1,x2,x3,x4,x5)与目的ip+53端口对应时刻的5个点的基线值y=(y1,y2,y3,y4,y5)进行差异比较。这里具体可以采用欧氏距离和余弦相似度两种方法计算实时流量值与源端口流量值基线的偏差,当偏差超过设定的阈值时,则将目的ip+53端口这个维度的标志位置设置为1。由于是分别采用两种方法进行偏差的计算,可以取两者计算的较大的偏差值作为最终的偏差值。当然也可以通过动态时间规整(dynamictimewrapping)算法对上述偏差进行计算。

在另一个具体的实施例中,以tcp数据报文维度为例,可通过cusum算法来统计最近5个突变点的累积量。将每个时间点的流量值与对应时间点的流量值基线进行比较,如果某个点的流量增加超过流量值基线,则累加差值,否则不累加。最后将5个点的累加和跟统计值做比较,这里的统计值可以是多倍均方差或其他统计值,当累加和超过对应的统计值时,将tcp数据报文维度的标志位置设置为1。

如图10所示,在对各自维度的实时流量值与对应的流量值基线进行差异比较判断后,可继续基于此差异比较后的结果进行差异关联处理,以得到服务器是否存在异常的告警输出。

利用离线计算对每个目的ip进行流量画像,在对synflood攻击的检测上更具有针对性,能够更加灵活的、更具有适应性的检测不同目的ip的syn泛洪攻击。同时,离线计算基于的流量信息也是动态变化的,这样即使对于同一个目的ip的syn泛洪攻击检测也更加准确和有效。

s203:根据同步报文字段维度的第一实时流量值和终止报文字段维度的第二实时流量值,计算所述第一实时流量值占所述第二实时流量值的比例,得到第一比值;

对于第一实时流量值和第二实时流量值的统计可参见上述,这里不作赘述。这里得到第一比值=第一实时流量值/第二实时流量值。

如图4所示,所述根据同步报文字段维度的第一实时流量值和终止报文字段维度的第二实时流量值,计算所述第一实时流量值占所述第二实时流量值的比例,得到第一比值的步骤之前,还包括:

s401:根据所述数据报文,统计得到实时总流量值;

对于tcp数据报文的实时总流量值统计可参见上述,这里不作赘述。

s402:计算所述第一实时流量值占所述实时总流量值的比例,得到第三比值;

这里得到第三比值=第一实时流量值/实时总流量值。

s403:当所述第三比值大于第四阈值时,计算得到所述第一比值并将所述第一比值与所述第一阈值进行比较;

在实际应用中,设置第四阈值为0.15-1。这里可以取第四阈值为0.10,也就是第三比值为0.2时,对synflood攻击的检测需要继续计算得到所述第一比值并将所述第一比值与所述第一阈值进行比较。当然,对于第一实时流量值、第二实时流量值以及实时总流量值的统计得到可以时同步的,对第三比值与第四阈值的比较判断以及对第一比值与第一阈值的比较判断也可以是同步的。

通过对第三比值与第四阈值的比较判断,反映出同步报文字段的流量值与tcp数据报文的流量值间相对关系。第四阈值可以是根据对syn泛洪攻击检测的长期统计经验得出,第三比值大于第四阈值在一定程度上说明了同步报文字段的流量值高于正常值。这样帮助与其他检测参数及阈值一起更综合、更准确的检测syn泛洪攻击。

s204:当所述第一比值大于第一阈值时,判定所述服务器存在同步报文字段泛洪攻击。

在实际应用中,第一阈值大于第四阈值。可以设置第一阈值为50-300。这里可以取第一阈值为80,也就是第一比值为100时,判定所述服务器存在同步报文字段泛洪攻击。当服务器处于正常状态时,第一实时流量值和第二实时流量值应该相差不多。比如设置为1的同步报文字段数目与设置为1的终止报文字段数目相差不多甚至可以相等。第一比值大于第一阈值反映了同步报文字段的实时流量值存在异常,第一比值越大(比如远大于200)越能说明服务器存在syn泛洪攻击的可能性。

如图5所示,所述当所述第一比值大于第一阈值时,判定所述服务器存在同步报文字段泛洪攻击的步骤,包括:

s501:根据复位报文字段维度的第三实时流量值和所述第二实时流量值,计算所述第三实时流量值占所述第二实时流量值的比例,得到第二比值;

对于第二实时流量值和第三实时流量值的统计可参见上述,这里不作赘述。这里得到第二比值=第三实时流量值/第二实时流量值。

s502:当所述第二比值小于第二阈值时,判定所述服务器存在直接式同步报文字段泛洪攻击;

直接式syn洪泛攻击中,攻击者直接向被攻击主机发送大量伪造源ip地址的syn或者操纵大量傀儡机向被攻击主机发送大量伪造源ip地址的syn,由于攻击者或傀儡机发出的syn中源ip地址为虚假的ip地址,被攻击主机为该连接始终保留已分配的资源,直至最终放弃,方释放上述资源。在直接式syn洪泛攻击状态下,被攻击主机网络中会充斥着大量无用的syn。相对fin的流量值,syn的流量值急剧增加,rst的流量值变化并不明显。

在实际应用中,所述第二阈值小于所述第一阈值。可以设置第二阈值为0-0.1。这里可以取第二阈值为0,也就是第二比值趋于0时,判定所述服务器存在直接式同步报文字段泛洪攻击。可以将流量作迁移处理,迁移至对应直接式syn洪泛攻击的防护设备,进而作流量清洗,主要针对直接式syn洪泛攻击的特征作清洗。

s503:当所述第二比值大于第三阈值时,判定所述服务器存在反射式同步报文字段泛洪攻击;

其中,所述第三阈值大于所述第一阈值。

如图9所示,反射式syn洪泛攻击中,攻击者使用ip欺骗技术假冒被攻击主机的ip地址伪造tcp连接请求,发往给大量随机选择的反射主机(反射机)。根据tcp三次握手规则,这些反射主机将会给被攻击主机(受害者)返回大量的syn+ack或rst来响应此请求。其结果是原来用于攻击的洪水数据流被大量反射主机所分散后,最终在被攻击主机或网络处汇集为洪水,使得被攻击主机所在网络拥塞或被攻击主机疲于处理异常连接而无暇理睬其他用户的正常请求,从而达到了攻击目的。与此同时被攻击主机也使用rst来拒绝此类非法报文段。因此,在反射式syn洪泛攻击状态下,被攻击主机网络不仅充斥着大量的syn,同时还充斥着大量的rst。

在实际应用中,所述第三阈值大于所述第一阈值。可以设置第三阈值为500-+∞。这里可以取第三阈值为1000000,也就是第二比值趋于+∞时,判定所述服务器存在反射式同步报文字段泛洪攻击。可以将流量作迁移处理,迁移至对应反射式syn洪泛攻击的防护设备,进而作流量清洗,主要针对反射式syn洪泛攻击的特征作清洗。

进一步的,对于具有不同业务特征的服务器,其对于syn泛洪攻击检测的阈值也是不同的。比如承载高流量业务(微博、微信、淘宝等热门产品的业务)的服务器、承载起伏流量业务(某教育网站在报名期间流量突增、某出行网站春运期间流量突增)的服务器以及承载低流量业务的服务器,它们的流量值基线是不同的,对于具体阈值的设置也是不同的。对于承载高流量业务的服务器,有时流量突增(比如热搜、双十一),可以基于历史的类似时间点或情形进行阈值设定。承载低流量业务的服务器面对的流量变动(流量波峰与流量波谷)相对不明显,而承载高流量业务的服务器面对的流量变动会相对明显些,这样对于两类服务器设置的变动点的检测也可以按照不同的规则。

如图8所示,可以采用机器学习模型训练得到syn泛洪攻击检测模型,将当前时间段前的某一预设时间段采集到的数据报文作为一个样本数据(可根据是否存在syn泛洪攻击,对样本数据作标注:正例样本数据和负例样本数据),将多个样本数据作为训练数据输入预设的机器学习模型(比如深度神经网络模型、回归机器学习模型、决策树机器学习模型等),通过对应的机器学习算法实现上述对流量值基线的离线计算(可以在对数据报文作降噪处理时不对syn泛洪攻击流量进行过滤)以及对实时流量值的实时检测与差异比较。在训练过程中不断调整模型的阈值,上述中第一阈值、第二阈值、第三阈值以及第四阈值的取值可以作为模型对应的阈值初始值。将当前时间段采集到的数据报文作为测试数据输入模型,模型输出对服务器是否存在syn泛洪攻击的预测。当检测到syn泛洪攻击时,会发出告警。对于发出的误告警,可以将对应的测试数据作标注后作为样本数据在模型中进行训练。

具体的,以逻辑回归模型训练训练数据得到syn泛洪攻击检测模型为例,可以包括:将已标注样本数据(正例样本数据和负例样本数据)输入到逻辑回归模型,逻辑回归模型的输出为已标注样本数据为正例样本数据的概率p(p为0-1之间的数字),而正例样本数据和负例样本数据的标签分别为y是1和0,将样本标签y与概率p的损失定义为(y-p)^2,相应的,训练过程中根据(y-p)^2可以得到误差error;使用梯度下降法,更新每个阈值,再次训练逻辑回归模型。修改完的阈值会使得下一次模型输出的概率p和样本标签y之间的误差变得更小,当该误差小于一定值时,可以将当前的逻辑回归模型作行为syn泛洪攻击检测模型

这样利用机器学习模型训练得到具有高泛化能力的syn泛洪攻击检测模型,在利用syn泛洪攻击检测模型进行syn泛洪攻击检测时可以提高对具有不同业务特征的服务器的识别适应能力,进而可以大大提高syn泛洪攻击检测的可靠性和有效性。

由以上本说明书实施例提供的技术方案可见,本说明书实施例中通过对第一预设时间段内同步报文字段维度的第一实时流量值和终止报文字段维度的第二实时流量值的比值计算,根据所得比值与第一阈值的比较,将具体特征与流量相结合作检测判定,有效且具有针对性的判定服务器是否存在分布式拒绝服务攻击中的同步报文字段泛洪攻击。实时流量值体现相关报文字段的动态变化,使得对同步报文字段泛洪攻击的判定更加灵活准确,能够适应现网复杂的业务流量形态,减少误告警的发生情形。

本发明实施例还提供了一种分布式拒绝服务攻击检测装置,如图6所示,所述装置包括:

数据报文获取模块61:用于实时获取服务器接收的数据报文;

第一统计模块62:用于对第一预设时间段内每个所述数据报文进行解析、统计,得到不同维度的实时流量值;

第一计算模块63:用于根据同步报文字段维度的第一实时流量值和终止报文字段维度的第二实时流量值,计算所述第一实时流量值占所述第二实时流量值的比例,得到第一比值;

攻击判定模块64:用于当所述第一比值大于第一阈值时,判定所述服务器存在同步报文字段泛洪攻击。如图7所示,所述攻击判定模块64包括:计算单元641:用于在判定所述服务器存在同步报文字段泛洪攻击的之后,根据复位报文字段维度的第三实时流量值和所述第二实时流量值,计算所述第三实时流量值占所述第二实时流量值的比例,得到第二比值;直接式攻击判定单元642:用于当所述第二比值小于第二阈值时,判定所述服务器存在直接式同步报文字段泛洪攻击;反射式攻击判定单元643:用于当所述第二比值大于第三阈值时,判定所述服务器存在反射式同步报文字段泛洪攻击;其中,所述第二阈值小于所述第一阈值,所述第三阈值大于所述第一阈值。

所述装置还包括:

第二统计模块:用于在计算得到所述第一比值之前,根据所述数据报文,统计得到实时总流量值;

第三计算模块:用于计算所述第一实时流量值占所述实时总流量值的比例,得到第三比值;

触发比较模块:用于当所述第三比值大于第四阈值时,计算得到所述第一比值并将所述第一比值与所述第一阈值进行比较;

其中,所述第四阈值小于所述第一阈值。

所述装置还包括:

比较模块:用于得到基于不同维度的所述实时流量值之后,将每个维度的所述实时流量值与对应的流量值基线进行差异比较;

异常判定模块:用于当所述差异比较的结果不满足预设条件时,判定所述服务器存在异常;

其中,每个维度的所述流量值基线是预先对第二预设时间段内采集的数据报文进行离线计算得到的。所述流量值基线包括源端口流量值基线、目的端口流量值基线、包长流量值基线、生存时间值流量值基线、同步报文字段/终止报文字段流量值基线(syn/fi流量值基线)和同步报文字段/tcp数据报文流量值基线(syn/tcp流量值基线)。

需要说明的,所述装置实施例中的装置与方法实施例基于同样的发明构思。

本发明实施例提供了一种服务器,该服务器包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的分布式拒绝服务攻击检测方法。

存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。

本发明实施例还提供了一种服务器的结构示意图,请参阅图12,该服务器1200用于实施上述实施例中提供的分布式拒绝服务攻击检测方法,具体来讲,所述服务器结构可以包括上述分布式拒绝服务攻击检测装置。该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1210(例如,一个或一个以上处理器)和存储器1230,一个或一个以上存储应用程序1223或数据1222的存储介质1220(例如一个或一个以上海量存储设备)。其中,存储器1230和存储介质1220可以是短暂存储或持久存储。存储在存储介质1220的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1210可以设置为与存储介质1220通信,在服务器1200上执行存储介质1220中的一系列指令操作。服务器1200还可以包括一个或一个以上电源1260,一个或一个以上有线或无线网络接口1250,一个或一个以上输入输出接口1240,和/或,一个或一个以上操作系统1221,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

本发明的实施例还提供了一种存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种分布式拒绝服务攻击检测方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的分布式拒绝服务攻击检测方法。

可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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