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

慢速攻击的防御方法、装置、电子设备及存储介质与流程

2022-10-26 18:05:34 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种慢速攻击的防御方法、装置、电子设备及存储介质。


背景技术:

2.随着网络的高速发展,网络安全问题也日渐增多。ddos(distributed denial of service,分布式拒绝服务)攻击是目前最强大、最难防御的攻击之一,其主要目的是让指定目标无法提供正常服务。
3.http(hypertext transfer protocol,超文本传输协议)慢速攻击,是dos攻击中的一种。由于http请求底层使用tcp(transmission control protocol,传输控制协议)网络连接进行会话,因此如果web(world wide web,全球广域网)服务对连接会话管理无特殊防护措施,并且http在发送请求的时候采用慢速发送http请求,就会导致占用一个http连接会话。如果发送大量慢速的http包就会导致拒绝服务攻击dos。
4.现有技术中,可以通过限制每一互联网协议地址(internet protocol address,ip地址)的连接数量、限制请求数据的长度以及限制连接超时的时间等方式防御http慢速攻击。但是,上述现有的http慢速攻击防御方法在进行http慢速攻击防御的过程中,对正常业务的影响较大。因此,如何在不影响正常业务的基础上防御http慢速攻击,是本领域亟待解决的技术问题。


技术实现要素:

5.本发明提供一种慢速攻击的防御方法、装置、电子设备及存储介质,用以解决现有技术中在进行http慢速攻击防御的过程中,对正常业务的影响较大的缺陷,实现在不影响正常业务的基础上防御http慢速攻击。
6.本发明提供一种慢速攻击的防御方法,包括:接收当前请求,在确定所述当前请求满足预设条件的情况下,确定所述当前请求是否为慢速攻击;在确定所述当前请求不为慢速攻击的情况下,建立所述当前请求对应的目标会话,并获取所述目标会话内的数据传输速率;基于所述数据传输速率,更新第一目标时长,并在所述目标会话的持续时长超过所述第一目标时长的情况下,关闭所述目标会话;其中,所述预设条件包括所述当前请求的互联网协议ip地址不在请求罚时链表中,或者,所述ip地址在所述请求罚时链表中,但当前时刻不在所述ip地址对应的罚时时段内。
7.根据本发明提供的一种慢速攻击的防御方法,所述基于所述数据传输速率,更新第一目标时长,包括:在所述数据传输速率低于第一目标速率阈值的情况下,减少所述第一目标时长;
其中,所述第一目标速率阈值基于所述当前请求的统一资源定位器url类型确定。
8.根据本发明提供的一种慢速攻击的防御方法,所述确定所述当前请求是否为慢速攻击,包括:在接收所述当前请求的头部数据的时长超过第二目标时长的情况下,将所述当前请求确定为慢速攻击,或者,在未完整接收到所述当前请求的头部数据的情况下,若接收到的所述头部数据的数据量超过数据容量阈值,则将所述当前请求确定为慢速攻击。
9.根据本发明提供的一种慢速攻击的防御方法,所述获取所述目标会话内的数据传输速率之后,还包括;在所述数据传输速率高于第二目标速率阈值的情况下,增加所述第二目标时长;其中,所述第二目标速率阈值基于所述第一目标速率阈值确定。
10.根据本发明提供的一种慢速攻击的防御方法,所述接收当前请求之后,还包括:在确定所述ip地址在所述请求罚时链表中,但当前时刻不在所述ip地址对应的罚时时段内的情况下,从所述请求罚时链表中删除所述ip地址。
11.根据本发明提供的一种慢速攻击的防御方法,所述预设条件,还包括:当前时刻并发连接的会话数量小于数量阈值,和/或,所述ip地址的请求频率不大于频率阈值。
12.根据本发明提供的一种慢速攻击的防御方法,所述接收当前请求之后,还包括:在所述ip地址的请求频率大于频率阈值的情况下,将所述ip地址及所述ip地址对应的罚时时段添加至所述请求罚时链表中。
13.本发明还提供一种慢速攻击的防御装置,包括:攻击确定模块,用于接收当前请求,在确定所述当前请求满足预设条件的情况下,确定所述当前请求是否为慢速攻击;时长更新模块,用于在确定所述当前请求不为慢速攻击的情况下,建立所述当前请求对应的目标会话,并获取所述目标会话内的数据传输速率;会话监控模块,用于基于所述数据传输速率,更新第一目标时长,并在所述目标会话的持续时长超过所述第一目标时长的情况下,关闭所述目标会话;其中,所述预设条件包括所述当前请求的互联网协议地址ip地址不在请求罚时链表中,或者,所述ip地址在所述请求罚时链表中,但当前时刻不在所述ip地址对应的罚时时段内。
14.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述慢速攻击的防御方法。
15.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述慢速攻击的防御方法。
16.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述慢速攻击的防御方法。
17.本发明提供的慢速攻击的防御方法、装置、电子设备及存储介质,通过在确定当前请求满足预设条件的情况下,确定当前请求是否为慢速攻击,在确定当前请求不为慢速攻
击的情况下,建立当前请求对应的目标会话,并基于目标会话内的数据传输速率更新第一目标时长,在目标会话的持续时长超过第一目标时长的情况下,关闭目标会话,能基于数据传输速率对目标会话的持续时长进行动态处置,能以较小的计算开销进行有针对性的慢速攻击防御,能在防御慢速攻击的同时,最大限度的保证正常请求的响应。
附图说明
18.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是本发明提供的慢速攻击的防御方法的流程示意图之一;图2是本发明提供的慢速攻击的防御方法的流程示意图之二;图3是本发明提供的慢速攻击的防御装置的结构示意图;图4是本发明提供的电子设备的结构示意图。
具体实施方式
20.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.在发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
22.需要说明的是,http慢速攻击也叫slow http attack。利用web服务器存在的安全漏洞,采用http慢速攻击的方式,可导致web服务资源消耗,从而引发拒绝服务的问题。
23.http慢速攻击主要的攻击方式包括slow headers方式、slow body方式和slow read方式。
24.slow headers方式中,web应用在处理http请求之前都要先接收完所有的http头部。若web服务器未接收到2个连续的“\r\n”,则web服务器认为攻击客户端并未发送完所有的http头部,会持续等待攻击客户端发送数据,从而造成服务器的连接资源以及内存资源的消耗。
25.slow body方式中,攻击客户端向web服务器发送一个http post请求,该请求的content-length头部值很大,使得web服务器认为攻击客户端将发送很大的数据。web服务器会保持连接准备接收数据,但攻击客户端每次只发送很少量的数据,使该连接一直保持存活,从而消耗web服务器的连接资源和内存资源。
26.slow read方式中,攻击客户端与web服务器建立连接之后,攻击客户端发送完整的http请求给web服务器,然后一直保持这个连接,以很低的速度读取response,例如在较
长的一段时间内,攻击客户端不读取任何数据,并通过发送zero window到web服务器,让web服务器误认为攻击客户端处于忙碌状态,直到连接接近超时前才读取一个字节,从而消耗web服务器的连接资源和内存资源。
27.表1 传统的http慢速攻击防御方法通常情况下,不同类型的web服务器所采用的传统的http慢速攻击防御方法如表1所示。
28.基于表1可知,传统的http慢速攻击防御方法通常通过限制每一ip地址的连接数量、限制请求数据的长度以及限制连接超时的时间等方式防御http慢速攻击,其中,限制连接超时的时间的方式还可以包括静态超时时间阈值设置的方式(例如:weblogic/iis/nginx),以及流量速率阈值限制超时时间的方式(例如:apache/his)。
29.但是,传统的http慢速攻击防御方法存在以下缺点,一方面,上述传统的http慢速攻击防御方法虽然保证了web服务器本身的稳定性,但会导致出现web服务器无法响应正常请求的问题。例如,在单纯限制连接数目及连接频率的情况下,若攻击会话已被web服务所响应,且没有超时机制,则正常的请求会由于连接数目的限制以及连接频率的限制而得不到响应;另一方面,单纯通过全局静态阈值限制与每连接所处理的业务类型无适配,对于具有复杂业务的服务系统的不同请求处理难以做到一个可权衡的通用配置,例如数据下载传输类业务、认证保活类业务,在连接内速率及传输频率存在不同,且差异较大。通用限制条件的设置难以结合不同业务的特点进行调整,若设置不合理会影响正常业务的请求处理。
30.对此,本发明提供一种慢速攻击的防御方法、装置、电子设备及存储介质,通过结
合静态阈值与动态超时,引入请求罚时机制,并结合请求的业务特点自定义用于速率阈值,可以以较小的计算开销进行有针对性的慢速攻击防御,可以基于数据传输速率进行访问罚时处置,使得攻击产生的同时,有效的保证正常请求的处理,可以在发生慢速攻击的情况下,最大限度的保证正常请求的响应,可以结合业务系统不同特点,自定义控制会话连接传输的检测阈值,从而实现在防护攻击的同时,满足不同类型业务请求的实际需求。
31.图1是本发明提供的慢速攻击的防御方法的流程示意图。下面结合图1描述本发明的慢速攻击的防御方法。如图1所示,该方法包括:步骤101、接收当前请求,在确定当前请求满足预设条件的情况下,确定当前请求是否为慢速攻击。
32.其中,预设条件包括当前请求的互联网协议地址ip地址不在请求罚时链表中,或者,ip地址在请求罚时链表中,但当前时刻不在ip地址对应的罚时时段内。
33.需要说明的是,本发明实施例的执行主体为慢速攻击的防御装置。上述慢速攻击的防御装置可以为web服务器。
34.具体地,当前请求可以为web服务器当前时刻接收到的请求。
35.web服务器接收到当前请求之后,可以通过判断上述当前请求是否满足预设条件,对当前请求是否慢速攻击进行初步判断。
36.需要说明的是,预设条件可以是基于先验知识和/或实际需求预先确定的。本发明实施例中的预设条件,至少包括当前请求的ip地址不在请求罚时链表中,或者,当前请求的ip地址在上述请求罚时链表中,但当前时刻不在当前请求的ip地址对应的罚时时段内。其中,上述请求罚时链表可以是预先生成的,还可以是web服务器在运行过程中动态产生的。
37.在当前请求不满足预设条件的情况下,可以将当前请求确定为慢速攻击,并可以拒绝当前请求。
38.在当前请求满足预设条件的情况下,可以进一步确定当前请求是否为慢速攻击。
39.需要说明的是,本发明实施例中可以通过多种方式确定当前请求是否为慢速攻击,例如:可以基于接收并解析当前请求的头部数据的情况,确定当前请求是否为慢速攻击。本发明实施例中对确定当前请求是否为慢速攻击的方式不作限定。
40.步骤102、在确定当前请求不为慢速攻击的情况下,建立当前请求对应的目标会话,并获取目标会话内的数据传输速率。
41.具体地,在确定当前为慢速攻击的情况下,可以关闭与当前请求之间的连接,释放会话资源。
42.在确定当前请求不为慢速攻击的情况下,可以建立当前请求对应的目标会话,并可以获取上述目标会话内的数据传输速率。
43.可以理解的是,上述目标会话内的数据传输速率是动态变化的。
44.可选地,可以每隔固定周期,获取目标会话内的数据传输速率。
45.步骤103、基于数据传输速率,更新第一目标时长,并在目标会话的持续时长超过第一目标时长的情况下,关闭目标会话。
46.具体地,基于第一目标时长可以确定是否关闭目标会话。
47.基于目标会话内的数据传输速率,可以对第一目标时长进行动态更新,从而可以结合当前请求具体的业务特点,自定义当前请求对应的目标会话的持续时长,实现在防护攻击的同时,满足不同类型的业务请求的实际使用场景。
48.需要说明的是,第一目标时长的初始值可以是根据实际情况和/或先验知识预先确定的。本发明实施例中对第一目标时长的初始值不作具体限定。
49.可选地,第一目标时长的初始值可以在7分钟至9分钟之间,例如,第一目标时长的初始值可以为7分钟、8分钟或9分钟。
50.优选地,第一目标时长的初始值可以为8分钟。
51.若当前请求对应的目标会话的持续时长超过第一目标时长,则可以关闭上述目标会话。
52.本发明实施例通过在确定当前请求满足预设条件的情况下,确定当前请求是否为慢速攻击,在确定当前请求不为慢速攻击的情况下,建立当前请求对应的目标会话,并基于目标会话内的数据传输速率更新第一目标时长,在目标会话的持续时长超过第一目标时长的情况下,关闭目标会话,能基于数据传输速率对目标会话的持续时长进行动态处置,能以较小的计算开销进行有针对性的慢速攻击防御,能在防御慢速攻击的同时,最大限度的保证正常请求的响应。
53.基于上述各实施例的内容,基于数据传输速率,更新第一目标时长,包括:在数据传输速率低于第一目标速率阈值的情况下,减少第一目标时长。
54.其中,第一目标速率阈值基于当前请求的统一资源定位器url类型确定。
55.具体地,基于当前请求的url类型,根据url类型与不同速率阈值之间的对应关系,可以确定当前请求对应的第一目标速率阈值。
56.需要说明的是,url类型与不同速率阈值之间的对应关系可以是基于先验知识和/或实际情况预先获取的。上述对应关系实现区分处理不同url类型的请求对应的速率阈值,从而可以实现根据不同请求的处理特点来区分处理会话的监测机制。例如:相对于认证保活类的请求,可以为数据传输类的请求配置更高的速率阈值,对于特定的低流量会话请求,也能保持正常的请求响应。
57.可选地,当前请求对应的第一目标速率阈值可以为200bytes/s。
58.在当前请求对应的目标会话内的数据传输速率低于上述第一目标速率阈值的情况下,可以减少上述第一目标时长。
59.可选地,在当前请求对应的目标会话内的数据传输速率低于上述第一目标速率阈值的情况下,可以将上述第一目标时长减半。
60.例如:在当前请求对应的目标会话内的数据传输速率第一次低于上述第一目标速率阈值的情况下,可以将上述第一目标时长的初始值减半,即上述第一目标时长由8分钟减半为4分钟;在当前请求对应的目标会话内的数据传输速率第二次低于上述第一目标速率阈值的情况下,可以再次将上述第一目标时长的初始值减半,即上述第一目标时长由4分钟减半为2分钟。
61.本发明实施例通过基于当前请求的url类型确定当前请求对应的第一目标速率阈值,并在当前请求对应的目标会话内的数据传输速率低于上述第一目标速率阈值的情况下,减小第一目标时长,能结合请求的不同业务特点,自定义控制检测阈值,能实现在防护攻击的同时,满足不同类型业务请求的实际需求。
62.基于上述各实施例的内容,确定当前请求是否为慢速攻击,包括:在接收当前请求的头部数据的时长超过第二目标时长的情况下,将当前请求确定为慢速攻击,或者,在当前
请求的头部数据未接收完成的情况下,若接收到的头部数据的数据量超过数据容量阈值,则将当前请求确定为慢速攻击。
63.具体地,本发明实施例中,若当前请求满足以下任一种情况,则可以确定当前请求为慢速攻击。
64.上述情况包括:接收当前请求的头部数据的时长超过第二目标时长,以及在未完整接收到当前请求的头部数据的情况下,接收到的上述头部数据的数据量超过数据容量阈值。
65.需要说明的是,第二目标时长可以是基于先验知识和/或实际情况预先确定的;第二目标时长还可以基于当前请求对应的目标会话内的数据传输速率确定。本发明实施例中对第二目标时长不作具体限定。
66.需要说明的是,数据容量阈值可以是基于先验知识和/或实际情况预先确定的。本发明实施例中对数据容量阈值不作具体限定。
67.可选地,数据容量阈值的取值范围可以在3k至5k之间,例如:数据容量阈值可以为3k、4k或5k。
68.优选地,数据容量阈值可以为4k。
69.本发明实施例通过在接收当前请求的头部数据的时长超过第二目标时长的情况下,将当前请求确定为慢速攻击,或者,在当前请求的头部数据未接收完成的情况下,若接收到的头部数据的数据量超过数据容量阈值,则将当前请求确定为慢速攻击,能更准确、更高效的确定当前请求是否为慢速攻击。
70.基于上述各实施例的内容,获取目标会话内的数据传输速率之后,还包括:在数据传输速率高于第二目标速率阈值的情况下,增加第二目标时长。
71.其中,第二目标速率阈值基于第一目标速率阈值确定。
72.需要说明的是,第二目标时长的初始值可以是根据实际情况和/或先验知识预先确定的。本发明实施例中对第二目标时长的初始值不作具体限定。
73.可选地,第二目标时长的初始值可以在15秒至25秒之间,例如,第二目标时长的初始值可以为15秒、20秒或25秒。
74.优选地,第二目标时长的初始值可以为20秒。
75.具体地,在当前请求对应的目标会话内的数据传输速率高于上述第二目标速率阈值的情况下,可以增加上述第二目标时长。
76.需要说明的是,第二目标速率阈值可以是基于第一目标速率阈值确定的。
77.可选地,第二目标速率阈值,可以为第一目标速率阈值与预设倍数的乘积,上述预设倍数的取值范围可以在4至6之间,例如:第二目标速率阈值可以为第一目标速率阈值的4倍、5倍或6倍。
78.优选地,第二目标速率阈值,可以为第一目标速率阈值的5倍。
79.可选地,在当前请求对应的目标会话内的数据传输速率高于上述第二目标速率阈值的情况下,可以为上述第二目标时长增加目标增量。其中,上述目标增量可以基于先验知识和/或实际情况确定。上述目标增量的取值范围可以在8秒至12秒之间。本发明实施例中对目标增量的具体取值不作限定。
80.例如,在当前请求对应的目标会话内的数据传输速率第一次高于上述第二目标速
率阈值的情况下,可以为上述第二目标时长的初始值增加10秒,即上述第二目标时长由20秒增加至30秒分钟;在当前请求对应的目标会话内的数据传输速率第二次高于上述第二目标速率阈值的情况下,可以再次为上述第二目标时长的初始值增加10秒,即上述第二目标时长由30秒增加至40秒。
81.本发明实施例通过在当前请求对应的目标会话内的数据传输速率高于第二目标速率阈值的情况下,增加第二目标时长,从而能基于第二目标时长确定当前请求是否为慢速攻击,能进一步提高确定当前请求是否为慢速攻击的准确率。
82.基于上述各实施例的内容,预设条件,还包括:当前时刻并发连接的会话数量小于数量阈值,和/或,ip地址的请求频率不大于频率阈值。
83.需要说明的是,上述数量阈值可以基于先验知识和/或实际情况预先确定。本发明实施例中对上述数量阈值不作具体限定。
84.需要说明的是,上述频率阈值可以基于先验知识和/或实际情况预先确定。本发明实施例中对上述频率阈值不作具体限定。
85.本发明实施例通过进一步判断当前时刻并发连接的会话数量是否小于数量阈值,和/或当前请求的ip地址的请求频率是否大于频率阈值,能进一步提高确定当前请求是否为慢速攻击的准确率。
86.基于上述各实施例的内容,接收当前请求之后,还包括:在ip地址的请求频率大于频率阈值的情况下,将ip地址及ip地址对应的罚时时段添加至请求罚时链表中。
87.具体地,在确定当前请求的ip地址的请求频率大于频率阈值的情况下,可以根据预设的罚时规则,确定当前请求的ip地址对应的罚时时段,从而可以将上述ip地址及上述ip地址对应的罚时时段添加至上述请求罚时链表中。
88.需要说明的是,上述罚时规则可以是根据实际情况和/或先验知识预先确定的。
89.可选地,在对上述请求罚时链表进行更新的过程中,若达到上述请求罚时链表的限制,则可以老化上述请求罚时链表中添加时间最早的记录项,上述记录项包括某一ip地址及上述ip地址对应的罚时时段。
90.本发明实施例通过结合静态阈值与动态超时,引入请求罚时机制,能以较小的计算开销进行有针对性的慢速攻击防御。
91.基于上述各实施例的内容,接收当前请求之后,还包括:在确定ip地址在请求罚时链表中,但当前时刻不在ip地址对应的罚时时段内的情况下,从请求罚时链表中删除ip地址。
92.具体地,在确定当前请求的ip地址在请求罚时链表中,但当前时刻不在当前请求的ip地址对应的罚时时段内的情况下,可以从上述请求罚时链表中删除当前请求的ip地址。
93.本发明实施例中基于当前请求是否满足预设条件,对请求罚时链表进行更新,能进一步提高确定当前请求是否为慢速攻击的准确率。
94.为了便于对本发明提供的慢速攻击的防御方法的理解,以下通过一个实例说明本发明提供的慢速攻击的防御方法。图2是本发明提供的慢速攻击的防御方法的流程示意图之二。如图2所示,web服务器接收到当前请求之后,可以判断当前请求是否满足预设条件。
95.上述预设条件包括web服务器当前时刻并发连接的会话数量小于数量阈值。若web
服务器当前时刻并发连接的会话数量不小于数量阈值,则拒绝当前请求。
96.上述预设条件还包括当前请求的ip地址不在请求罚时链表中,或者,当前请求的ip地址在请求罚时链表中,但当前时刻不在上述ip地址对应的罚时时段内。若当前请求的ip地址在请求罚时链表中,且当前时刻在上述ip地址对应的罚时时段内,则拒绝当前请求。若当前请求的ip地址在请求罚时链表中,但当前时刻不在上述ip地址对应的罚时时段内,则从请求罚时链表中删除上述ip地址。
97.上述预设条件还包括当前请求的ip地址每秒内的请求频率不大于频率阈值。若当前请求的ip地址每秒内的请求频率大于频率阈值,则拒绝当前请求,并将当前请求的ip地址以及上述ip地址对应的罚时时段添加至上述请求罚时链表中。
98.在当前请求满足预设条件的情况下,当前服务被web服务器接收,web服务器可以对当前请求进行响应处理,并在响应处理的过程中,进一步确定当前请求是否为慢速攻击。
99.web服务器可以基于接收并解析当前请求的头部数据的情况,确定当前请求是否为慢速攻击。
100.在接收当前请求的头部数据的时长超过第二目标时长的情况下,可以将当前请求确定为慢速攻击;或者,在当前请求的头部数据未接收完成的情况下,若接收到的头部数据的数据量超过数据容量阈值,则也可以将当前请求确定为慢速攻击。
101.其中,第二目标时长的初始值为20秒;数据容量阈值为4k。
102.在确定当前请求不为慢速攻击的情况下,可以建立当前请求对应的目标会话,并对上述目标会话内的数据传输进行监控,周期性(每隔10s)的获取目标会话内的数据传输速率。
103.若目标会话内的数据传输速率低于第一目标速率阈值(200bytes/s),则将第一目标时长减半;若目标会话内的数据传输速率高于第二目标速率阈值(200bytes/s的五倍),则为第二目标时长增加10秒。其中,第一目标时长的初始值为8分钟;第一目标速率阈值基于当前请求的url类型确定。
104.在目标会话的持续时长超过上述第一目标时长的情况下,关闭目标会话,释放会话资源。
105.图3是本发明提供的慢速攻击的防御装置的结构示意图。下面结合图3对本发明提供的慢速攻击的防御装置进行描述,下文描述的慢速攻击的防御装置与上文描述的本发明提供的慢速攻击的防御方法可相互对应参照。如图3所示,该装置包括:攻击确定模块301、时长更新模块302和会话监控模块303。
106.攻击确定模块301,用于接收当前请求,在确定当前请求满足预设条件的情况下,确定当前请求是否为慢速攻击;时长更新模块302,用于在确定当前请求不为慢速攻击的情况下,建立当前请求对应的目标会话,并获取目标会话内的数据传输速率;会话监控模块303,用于基于数据传输速率,更新第一目标时长,并在目标会话的持续时长超过第一目标时长的情况下,关闭目标会话;其中,预设条件包括当前请求的互联网协议ip地址不在请求罚时链表中,或者,ip地址在请求罚时链表中,但当前时刻不在ip地址对应的罚时时段内。
107.需要说明的是,本发明实施例中的慢速攻击的防御装置,可以为web服务器。
108.具体地,攻击确定模块301、时长更新模块302和会话监控模块303电连接。
109.攻击确定模块301可以用于接收到当前请求之后,可以通过判断上述当前请求是否满足预设条件,对当前请求是否慢速攻击进行初步确定。
110.攻击确定模块301还可以用于在确定当前请求满足预设条件的情况下,可以进一步确定当前请求是否为慢速攻击。
111.时长更新模块302可以用于在确定当前请求不为慢速攻击的情况下,可以建立当前请求对应的目标会话,并可以获取上述目标会话内的数据传输速率。
112.会话监控模块303可以用于基于目标会话内的数据传输速率,对第一目标时长进行动态更新,从而可以结合当前请求具体的业务特点,自定义当前请求对应的目标会话的持续时长,实现在防护攻击的同时,满足不同类型的业务请求的实际使用场景。
113.可选地,时长更新模块302还可以用于在数据传输速率低于第一目标速率阈值的情况下,减少第一目标时长;其中,第一目标速率阈值基于当前请求的统一资源定位器url类型确定。
114.可选地,攻击确定模块301可以具体用于在接收当前请求的头部数据的时长超过第二目标时长的情况下,将当前请求确定为慢速攻击,或者,在未完整接收到当前请求的头部数据的情况下,若接收到的头部数据的数据量超过数据容量阈值,则将当前请求确定为慢速攻击。
115.可选地,时长更新模块302还可以用于在数据传输速率高于第二目标速率阈值的情况下,增加第二目标时长;其中,第二目标速率阈值基于第一目标速率阈值确定。
116.可选地,慢速攻击的防御装置还包括列表更新模块。
117.列表更新模块可以用于在确定ip地址在请求罚时链表中,但当前时刻不在ip地址对应的罚时时段内的情况下,从请求罚时链表中删除ip地址。
118.列表更新模块还可以用于在ip地址的请求频率大于频率阈值的情况下,将ip地址及ip地址对应的罚时时段添加至请求罚时链表中。
119.本发明实施例中的慢速攻击的防御装置,通过在确定当前请求满足预设条件的情况下,确定当前请求是否为慢速攻击,在确定当前请求不为慢速攻击的情况下,建立当前请求对应的目标会话,并基于目标会话内的数据传输速率更新第一目标时长,在目标会话的持续时长超过第一目标时长的情况下,关闭目标会话,能基于数据传输速率对目标会话的持续时长进行动态处置,能以较小的计算开销进行有针对性的慢速攻击防御,能在防御慢速攻击的同时,最大限度的保证正常请求的响应。
120.图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(communications interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行慢速攻击的防御方法,该方法包括:接收当前请求,在确定当前请求满足预设条件的情况下,确定当前请求是否为慢速攻击;在确定当前请求不为慢速攻击的情况下,建立当前请求对应的目标会话,并获取目标会话内的数据传输速率;基于数据传输速率,更新第一目标时长,并在目标会话的持续时长超过第一目标时长的情况下,关闭目标会话;其中,预设条件包括当前请求的互联网协议地址ip地址不在请求罚时链表中,或者,ip地址在请求罚时链表中,但当前时刻不在ip地址对应
的罚时时段内。
121.此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
122.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的慢速攻击的防御方法,该方法包括:接收当前请求,在确定当前请求满足预设条件的情况下,确定当前请求是否为慢速攻击;在确定当前请求不为慢速攻击的情况下,建立当前请求对应的目标会话,并获取目标会话内的数据传输速率;基于数据传输速率,更新第一目标时长,并在目标会话的持续时长超过第一目标时长的情况下,关闭目标会话;其中,预设条件包括当前请求的互联网协议地址ip地址不在请求罚时链表中,或者,ip地址在请求罚时链表中,但当前时刻不在ip地址对应的罚时时段内。
123.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的慢速攻击的防御方法,该方法包括:接收当前请求,在确定当前请求满足预设条件的情况下,确定当前请求是否为慢速攻击;在确定当前请求不为慢速攻击的情况下,建立当前请求对应的目标会话,并获取目标会话内的数据传输速率;基于数据传输速率,更新第一目标时长,并在目标会话的持续时长超过第一目标时长的情况下,关闭目标会话;其中,预设条件包括当前请求的互联网协议地址ip地址不在请求罚时链表中,或者,ip地址在请求罚时链表中,但当前时刻不在ip地址对应的罚时时段内。
124.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
125.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
126.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献