针对WEB服务的DDoS攻击的保护方法、装置和设备与流程

文档序号:30451745发布日期:2022-06-18 02:07阅读:125来源:国知局
针对WEB服务的DDoS攻击的保护方法、装置和设备与流程
针对web服务的ddos攻击的保护方法、装置和设备
技术领域
1.本发明属于web应用保护技术领域,具体涉及一种针对web服务的ddos攻击的保护方法、装置和设备。


背景技术:

2.针对web服务的ddos(distributed denial of service,分布式拒绝服务)攻击是一种网络常见攻击行为,攻击者控制大量主机,向主机注入脚本,通过脚本向指定的web服务提交访问请求。web服务响应大量的虚假请求,导致性能耗尽,无法再响应合法访问者的请求。
3.由于发起ddos攻击的主机源地址很多,保护者无法准确辨别合法访问者和攻击者。相关技术中,通常采用的保护措施为限制到达web服务请求的频率,避免web服务出现性能瓶颈的问题。但是,该方法虽然能够避免web服务的性能被耗尽,但合法访问者的请求和攻击者的请求同时被限制,误伤率过大,仍然会出现合法访问者无法得到服务的情况。
4.因此,如何避免合法访问者的请求和攻击者的请求同时被限制,保持合法访问者能够得到正常服务,成为现有技术中亟待解决的技术问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种针对web服务的ddos攻击的保护方法、装置和设备,以克服目前合法访问者的请求和攻击者的请求同时被限制,误伤率过大,出现合法访问者无法得到服务的情况的问题。
6.为实现以上目的,本发明采用如下技术方案:
7.一方面,一种针对web服务的ddos攻击的保护方法,包括:
8.在web服务需要进行ddos攻击的保护时,向访问者的浏览器发送包含验证信息的验证链接,以使所述访问者填写与所述验证信息相适应的验证码;
9.接收所述验证码,并根据所述验证信息判断所述验证码是否正确;
10.若所述验证码正确,则生成访问令牌,向所述访问者的浏览器发送所述web服务的重定向应答,并将所述访问令牌设置在所述重定向应答的web服务访问请求中,以使所述访问者的浏览器发送web服务访问请求;
11.接收web服务访问请求,根据所述web服务访问请求,判断web服务是否需要进行ddos攻击的保护。
12.可选的,所述判断web服务是否需要进行ddos攻击的保护的方法,包括:
13.判断web服务访问请求是否携带访问令牌;
14.若所述web服务访问请求未携带访问令牌,则判断所述web服务访问请求的频率是否超过预设频率阈值;
15.若所述web服务访问请求的频率超过预设频率阈值,则确定所述web服务存在ddos攻击,需要进行ddos攻击的保护。
16.可选的,还包括:
17.若所述web服务访问请求携带所述访问令牌,则判断所述web服务访问请求中携带的所述访问令牌是否有效,若所述访问令牌有效,则确定ddos攻击校验通过,无需进行ddos攻击的保护。
18.可选的,所述确定ddos攻击校验通过之后,还包括:
19.向所述web服务发送服务请求;
20.接收所述web服务发送的响应信息,并将所述响应信息发送至所述访问者的浏览器。
21.可选的,还包括:
22.若所述访问令牌无效,则判断所述web服务访问请求的频率是否超过预设频率阈值;
23.若所述web服务访问请求的频率超过预设频率阈值,则确定所述web服务存在ddos攻击,需要进行ddos攻击的保护。
24.又一方面,一种针对web服务的ddos攻击的保护装置,包括:
25.第一发送模块,用于在web服务需要进行ddos攻击的保护时,向访问者的浏览器发送包含验证信息的验证链接,以使所述访问者填写与所述验证信息相适应的验证码;
26.第一判断模块,用于在接收模块接收所述验证码后,根据所述验证信息判断所述验证码是否正确;
27.生成模块,用于在所述验证码正确时,则生成访问令牌;
28.第二发送模块,用于向所述访问者的浏览器发送所述web服务的重定向应答,并将所述访问令牌设置在所述重定向应答的web服务访问请求中,以使所述访问者的浏览器发送web服务访问请求;
29.第二判断模块,用于在接收模块接收web服务访问请求后,根据所述web服务访问请求,判断web服务是否需要进行ddos攻击的保护。
30.可选的,所述第二判断模块,具体用于判断web服务访问请求是否携带访问令牌;若所述web服务访问请求未携带访问令牌,则判断所述web服务访问请求的频率是否超过预设频率阈值;若所述web服务访问请求的频率超过预设频率阈值,则确定所述web服务存在ddos攻击,需要进行ddos攻击的保护。
31.又一方面,一种针对web服务的ddos攻击的保护设备,包括处理器和存储器,所述处理器与存储器相连:
32.其中,所述处理器,用于调用并执行所述存储器中存储的程序;
33.所述存储器,用于存储所述程序,所述程序至少用于执行上述任一项所述的针对web服务的ddos攻击的保护方法。
34.本发明提供的针对web服务的ddos攻击的保护方法、装置和设备,在web服务需要进行ddos攻击的保护时,向访问者的浏览器发送包含验证信息的验证链接,在校验到访问者填写验证码正确后,生成访问令牌,向访问者的浏览器发送web服务的重定向应答,并将访问令牌设置在重定向应答的web服务访问请求中,访问者的浏览器收到重定向应答后,可以自动重新发送web服务访问请求;再次收到web服务访问请求后,判断web服务是否需要进行ddos攻击的保护。由于将访问令牌设置在了访问请求中,因此,在需要进行ddos攻击的保
护时可以通过是否包含访问令牌来区分攻击者和合法访问者,避免了合法访问者的请求和攻击者的请求同时被限制,保持合法访问者能够得到正常服务。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1是本发明一实施例提供的一种针对web服务的ddos攻击的保护方法的流程示意图;
37.图2是本发明一实施例提供的一种针对web服务的ddos攻击的保护装置的结构示意图;
38.图3是本发明一实施例提供的一种针对web服务的ddos攻击的保护设备的结构示意图。
具体实施方式
39.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
40.针对web服务的ddos(distributed denial of service,分布式拒绝服务)攻击是一种网络常见攻击行为,攻击者控制大量主机,向主机注入脚本,通过脚本向指定的web服务提交访问请求。web服务响应大量的虚假请求,导致性能耗尽,无法再响应合法访问者的请求。
41.由于发起ddos攻击的主机源地址很多,保护者无法准确辨别合法访问者和攻击者。相关技术中,通常采用的保护措施为限制到达web服务请求的频率,避免web服务出现性能瓶颈的问题。但是,该方法虽然能够避免web服务的性能被耗尽,但合法访问者的请求和攻击者的请求同时被限制,误伤率过大,仍然会出现合法访问者无法得到服务的情况。
42.因此,如何避免合法访问者的请求和攻击者的请求同时被限制,保持合法访问者能够得到正常服务,成为现有技术中亟待解决的技术问题。
43.基于此,本发明示例性提供一种针对web服务的ddos攻击的保护方法、装置及设备。
44.示例性方法:
45.图1是本发明一实施例提供的一种针对web服务的ddos攻击的保护方法的流程示意图,本发明实施例提供方法的执行主体可以为集成的web保护程序,web保护程序执行本技术实施例提供的针对web服务的ddos攻击的保护方法的各个步骤,参阅图1,本实施例可以包括以下步骤:
46.s1、在web服务需要进行ddos攻击的保护时,向访问者的浏览器发送包含验证信息的验证链接,以使访问者填写与验证信息相适应的验证码。
47.其中,访问者为web服务的请求发起者,可能是合法访问者,也可能是ddos攻击发起者。所有web服务访问请求,均通过本技术实施例提供的针对web服务的ddos攻击的保护方法进行ddos攻击保护后,再进行处理。
48.例如,web服务可以为www.my-service.com,也可以为其他,本技术中不做具体限定,本实施例中以www.my-service.com为例,进行说明。
49.访问者通过浏览器发起web服务访问请求,在接收到web服务访问请求后,可以判断web服务访问请求是否携带访问令牌;若web服务访问请求未携带访问令牌,则判断web服务访问请求的频率是否超过预设频率阈值;若web服务访问请求的频率超过预设频率阈值,则确定web服务存在ddos攻击,需要进行ddos攻击的保护,则执行下述发送验证链接的验证步骤。
50.在一个具体的实现方式中,访问令牌可以为accesstoken,在接收到www.my-service.com的访问请求后,可以判断访问请求的cookie是否携带accesstoken,若未携带accesstoken,在可以判断访问请求的频率是否超过了预设频率阈值,在访问请求的频率超过了预设频率阈值时,确定存在ddos攻击,需要进行ddos攻击的保护。
51.在未发生ddos攻击时,访问者发出的请求的cookie(储存在用户本地终端上的数据)不会携带accesstoken,且所有请求频率不会超过系统限制,web保护程序的ddos检查通过。
52.出现ddos攻击后,合法访问者发出的请求不会携带accesstoken,且所有请求频率超过了系统限制。
53.在确定到web服务需要进行ddos攻击的保护时,可以向访问者的浏览器推送一个携带了验证信息的验证链接,其中,验证链接可以为一个页面,也可以为一个网址。
54.例如,验证信息可以为在图片中包含验证码,还可以为计算题等,本技术中不做具体限定。当访问者收到验证信息后,合法访问者则可以根据验证信息输入验证码进行回应;而攻击者的脚本无法识别验证信息,也无法进行回应,则停留在此阶段。实施ddos攻击的主机发出的www.my-service.com的请求,无法抵达web服务程序,不会对web服务造成任何消耗。
55.s2、接收验证码,并根据验证信息判断验证码是否正确。
56.在收到访问者发送的验证码后,根据验证信息校验验证码是否正确。例如,验证信息为图片中包含了458,则校验验证码是否为458;若验证信息为3+2=?,则校验验证码是否为5,本技术中不做具体限定。
57.s3、若验证码正确,则生成访问令牌,向访问者的浏览器发送web服务的重定向应答,并将访问令牌设置在重定向应答的web服务访问请求中,以使访问者的浏览器发送web服务访问请求。
58.例如,在验证码正确时,生成随机的accesstoken,向访问者推送一个重定向应答,重定向目标是www.my-service.com,并将accesstoken设置到cookie中。合法访问者的浏览器收到重定向应答后,浏览器可以自动再次向www.my-service.com发出请求,请求的cookie中携带了accesstoken。
59.s4、接收web服务访问请求,根据web服务访问请求,判断web服务是否需要进行ddos攻击的保护。
60.在接收到到web服务访问请求后,可以根据web服务访问请求来判断web服务是否需要进行ddos攻击的保护,若需要进行ddos攻击的保护时,则再次向访问者的浏览器发送包含验证信息的验证链接,进行验证。
61.本发明提供的针对web服务的ddos攻击的保护方法,在web服务需要进行ddos攻击的保护时,向访问者的浏览器发送包含验证信息的验证链接,在校验到访问者填写验证码正确后,生成访问令牌,向访问者的浏览器发送web服务的重定向应答,并将访问令牌设置在重定向应答的web服务访问请求中,访问者的浏览器收到重定向应答后,可以自动重新发送web服务访问请求;再次收到web服务访问请求后,判断web服务是否需要进行ddos攻击的保护。由于将访问令牌设置在了访问请求中,因此,可以通过是否包含访问令牌来区分攻击者和合法访问者,避免了合法访问者的请求和攻击者的请求同时被限制,保持合法访问者能够得到正常服务。
62.一些实施例中,判断web服务是否需要进行ddos攻击的保护的方法,包括:判断web服务访问请求是否携带访问令牌;若web服务访问请求未携带访问令牌,则判断web服务访问请求的频率是否超过预设频率阈值;若web服务访问请求的频率超过预设频率阈值,则确定web服务存在ddos攻击,需要进行ddos攻击的保护。
63.一些实施例中,还包括:若web服务访问请求携带访问令牌,则判断web服务访问请求中携带的访问令牌是否有效,若访问令牌有效,则确定ddos攻击校验通过,无需进行ddos攻击的保护。
64.例如,在接收到web服务访问请求后,可以判断web服务访问请求是否携带访问令牌;若web服务访问请求未携带访问令牌,则判断web服务访问请求的频率是否超过预设频率阈值;当访问请求频率超过预设频率阈值时,确定到web服务存在ddos攻击,需要进行攻击保护,则执行上述发送验证链接的验证步骤。
65.当判断到web服务访问请求携带访问令牌时,则可以判断访问令牌是否有效,若访问令牌有效,则可以确定ddos攻击校验通过,无需再次进行ddos攻击的保护,即,无需再次发送验证链接。这样的设置,可以使得在判定到ddos检测通过后,在有效期内不会再要求合法访问者输入验证码,保证了合法访问者的友好体验。例如,有效期可以为浏览器的cookie有效期。
66.一些实施例中,还包括:若访问令牌无效,则判断web服务访问请求的频率是否超过预设频率阈值;若web服务访问请求的频率超过预设频率阈值,则确定web服务存在ddos攻击,需要进行ddos攻击的保护。
67.例如,在访问令牌无效的时候,可以通过服务访问请求的频率是否超过预设频率阈值的方法,来确定是否存在ddos攻击,当访问请求频率超过预设频率阈值时,确定到web服务存在ddos攻击,需要进行攻击保护,则执行上述发送验证链接的验证步骤。
68.一些实施例中,确定ddos攻击校验通过之后,还包括:向web服务发送服务请求;接收web服务发送的响应信息,并将响应信息发送至访问者的浏览器。
69.例如,在确定到ddos攻击校验通过之后,则向www.my-service.com发送服务请求,www.my-service.com服务返回响应信息,在接收到响应信息后,将响应信息发送至访问者的浏览器。
70.本发明提供的针对web服务的ddos攻击的保护方法,可以辨别攻击嫌疑者和合法
访问者,合法访问者不受请求频率的限制,正常响应;攻击嫌疑者的请求不进行响应,避免了合法访问者的请求和攻击者的请求同时被限制,保持合法访问者能够得到正常服务。
71.示例性装置:
72.本发明还提供了一种针对web服务的ddos攻击的保护装置,用于实现上述方法实施例。图2是本发明一实施例提供的一种针对web服务的ddos攻击的保护装置的结构示意图,参阅图2,本技术提供的装置,可以包括:
73.第一发送模块21,用于在web服务需要进行ddos攻击的保护时,向访问者的浏览器发送包含验证信息的验证链接,以使访问者填写与验证信息相适应的验证码;
74.第一判断模块22,用于在接收模块26接收验证码后,根据验证信息判断验证码是否正确;
75.生成模块23,用于在验证码正确时,则生成访问令牌;
76.第二发送模块24,用于向访问者的浏览器发送web服务的重定向应答,并将访问令牌设置在重定向应答的web服务访问请求中,以使访问者的浏览器发送web服务访问请求;
77.第二判断模块25,用于在接收模块26接收web服务访问请求后,根据web服务访问请求,判断web服务是否需要进行ddos攻击的保护。
78.一些实施例中,第二判断模块,具体用于判断web服务访问请求是否携带访问令牌;若web服务访问请求未携带访问令牌,则判断web服务访问请求的频率是否超过预设频率阈值;若web服务访问请求的频率超过预设频率阈值,则确定web服务存在ddos攻击,需要进行ddos攻击的保护。
79.一些实施例中,第二判断模块,还具体用于若web服务访问请求携带访问令牌,则判断web服务访问请求中携带的访问令牌是否有效,若访问令牌有效,则确定ddos攻击校验通过,无需进行ddos攻击的保护。
80.一些实施例中,第二判断模块,还具体用于向web服务发送服务请求;接收web服务发送的响应信息,并将响应信息发送至访问者的浏览器。
81.一些实施例中,第二判断模块,还具体用于在访问令牌无效时,则判断web服务访问请求的频率是否超过预设频率阈值;若web服务访问请求的频率超过预设频率阈值,则确定web服务存在ddos攻击,需要进行ddos攻击的保护。
82.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
83.本发明实施例提供的针对web服务的ddos攻击的保护装置,在web服务需要进行ddos攻击的保护时,向访问者的浏览器发送包含验证信息的验证链接,在校验到访问者填写验证码正确后,生成访问令牌,向访问者的浏览器发送web服务的重定向应答,并将访问令牌设置在重定向应答的web服务访问请求中,访问者的浏览器收到重定向应答后,可以自动重新发送web服务访问请求;再次收到web服务访问请求后,判断web服务是否需要进行ddos攻击的保护。由于将访问令牌设置在了访问请求中,因此,在需要进行ddos攻击的保护时可以通过是否包含访问令牌来区分攻击者和合法访问者,避免了合法访问者的请求和攻击者的请求同时被限制,保持合法访问者能够得到正常服务。
84.示例性设备:
85.本发明还提供了一种针对web服务的ddos攻击的保护设备,用于实现上述方法实
施例。图3是本发明一实施例提供的一种针对web服务的ddos攻击的保护设备的结构示意图,参阅图3,本发明实施例提供的针对web服务的ddos攻击的保护设备,包括:处理器31和存储器32,处理器31与存储器32相连。其中,处理器31用于调用并执行存储器32中存储的程序;存储器32用于存储程序,程序至少用于执行以上实施例中的针对web服务的ddos攻击的保护方法。
86.本技术实施例提供的针对web服务的ddos攻击的保护设备的具体实施方案可以参考以上任意实施例的针对web服务的ddos攻击的保护方法的实施方式,此处不再赘述。
87.可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
88.需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是指至少两个。
89.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
90.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
91.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
92.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
93.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
94.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
95.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述
实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1