CN109391600B - 分布式拒绝服务攻击防护方法、装置、系统、介质及设备 - Google Patents
分布式拒绝服务攻击防护方法、装置、系统、介质及设备 Download PDFInfo
- Publication number
- CN109391600B CN109391600B CN201710681283.4A CN201710681283A CN109391600B CN 109391600 B CN109391600 B CN 109391600B CN 201710681283 A CN201710681283 A CN 201710681283A CN 109391600 B CN109391600 B CN 109391600B
- Authority
- CN
- China
- Prior art keywords
- identity information
- resource request
- client
- file
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
本公开涉及一种分布式拒绝服务攻击防护方法、装置、系统、介质及设备,所述方法包括:对客户端发送的资源请求进行初步验证;若所述资源请求未通过所述初步验证,则根据所述资源请求生成校验文件;将所述校验文件发送给客户端,以由所述客户端执行所述校验文件;所述校验文件用于使所述客户端再次发送资源请求时,携带上指定的网络参数;根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求。通过上述技术方案,可以确定出由攻击脚本发起的资源请求,可以有效地阻止由攻击脚本(非真实的浏览器)发起的资源请求对服务器性能的影响,提高服务器的稳定性和健壮性,提升用户使用体验。
Description
技术领域
本公开涉及攻击防护领域,具体地,涉及一种分布式拒绝服务攻击防护方法、装置、系统、介质及设备。
背景技术
分布式拒绝服务(DDoS,Distributed Denial of Service)攻击,是指借助于客户端/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击。DDoS攻击一直是网络服务器所面临的最为严重的威胁之一。DDoS攻击发起方便、过滤困难,影响深远。
攻击者针对HTTP层的DDoS攻击,通常通过编写一些攻击脚本,模仿正常用户的网页请求行为,来达到攻击的目的。通过攻击脚本的运行,能够在短时间内发起大量的攻击请求,从而导致服务器的缓冲区满而无法接收新的请求(包括正常用户的网页请求)。
发明内容
本公开的目的是提供一种可以抵御攻击脚本发起的分布式拒绝服务攻击的分布式拒绝服务攻击防护方法、装置、系统、介质及设备。
为了实现上述目的,根据本公开的第一方面,提供一种分布式拒绝服务攻击防护方法,所述方法包括:对客户端发送的资源请求进行初步验证;若所述资源请求未通过所述初步验证,则根据所述资源请求生成校验文件;将所述校验文件发送给客户端,以由所述客户端执行所述校验文件;所述校验文件用于使所述客户端再次发送资源请求时,携带上指定的网络参数;根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求。
根据本公开的第二方面,提供一种分布式拒绝服务攻击防护装置,所述装置包括:初步验证模块,用于对客户端发送的资源请求进行初步验证;校验文件生成模块,用于在所述资源请求未通过所述初步验证模块的初步验证时,根据所述资源请求生成校验文件;发送模块,用于将所述校验文件发送给客户端,以由所述客户端执行所述校验文件;所述校验文件用于使所述客户端再次发送资源请求时,携带上指定的网络参数;确定模块,用于根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求。
根据本公开的第三方面,提供一种分布式拒绝服务攻击防护系统,所述系统包括:攻击防护模块,所述攻击防护模块被配置为执行上述第一方面所述的方法;客户端,所述客户端被配置为发送资源请求,接收并执行所述攻击防护模块发送的校验文件,所述校验文件用于使该客户端再次发送资源请求时,携带上指定的网络参数;服务器,用于接收通过所述攻击防护模块验证的、来自于所述客户端的用于请求获取目标资源的资源请求,并响应于所述资源请求,向所述客户端提供目标资源。
根据本公开的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面所述的方法的步骤。
根据本公开的第五方面,提供一种电子设备,包括:上述第四方面所述的计算机可读存储介质;以及一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
在上述技术方案中,在客户端与服务器之间增设了攻击防护模块,客户端发起的资源请求首先经过攻击防护模块进行验证,验证通过后再由服务器对该资源请求进行处理。当客户端发送的资源请求未通过攻击防护模块的初步验证时,攻击防护模块接下来将发起主动验证过程,即,基于客户端发送的资源请求生成校验文件,并将该校验文件发送至客户端以由该客户端执行,其中,该校验文件指示了攻击防护模块期望客户端执行的操作。之后,攻击防护模块会根据该客户端对校验文件的执行结果来确定该资源请求是否确实为攻击请求。如果资源请求是通过合法客户端(如真实的浏览器)发起的,则该客户端在接收到该校验文件后会执行该校验文件,并且按照该校验文件所指示的那样执行攻击防护模块所期望的操作,以便攻击防护模块知晓由其发起的资源请求是正常、合法的资源请求,此时可以由服务器对该资源请求进行处理。而一旦客户端并未按照校验文件所指示的进行操作,则攻击防护模块可以确定由该客户端发出的资源请求是通过攻击脚本发起的,属于攻击请求,此时将该资源请求不会由服务器进行处理。通过上述攻击防护模块对未通过初步验证的资源请求的主动验证过程,可以在攻击请求进入服务器之前便准确识别出DDos攻击,从而有效阻止服务器对由攻击脚本(非真实的浏览器)发起的资源请求进行处理,进而有效避免攻击请求对服务器性能的影响。同时,只有在确定资源请求不为攻击请求时,服务器才对该资源请求进行处理,因此,可以有效降低服务器的工作负载,防止服务器瘫痪,提高服务器的响应速度,提升合法用户的使用体验。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开的一种实施方式提供的分布式拒绝服务攻击防护系统的示意图;
图2是根据本公开的一种实施方式提供的分布式拒绝服务攻击防护方法的流程图;
图3A是根据资源请求生成校验文件的一种示例实现方式的流程图;
图3B是通过脚本文件和压缩文件的方式进行验证的实施方式中,客户端和攻击防护模块之间的信令交互图;
图4是通过脚本文件方式进行验证的实施方式中,客户端和攻击防护模块之间的信令交互图;
图5是通过脚本文件和目标文件方式进行验证的实施方式中,客户端和攻击防护模块之间的信令交互图;
图6是根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求的一种示例实现方式的流程图;
图7是根据至少根据资源请求携带的身份信息、到期时间和第二身份信息,确定资源请求是否为攻击请求的一种示例实现方式的流程图;
图8是根据本公开的一种实施方式提供的分布式拒绝服务攻击防护方法的流程图;
图9是根据本公开的一种实施方式提供的分布式拒绝服务攻击防护装置的框图;
图10是根据本公开的另一种实施方式提供的分布式拒绝服务攻击防护装置中校验文件生成模块的框图;
图11是根据本公开的另一种实施方式提供的分布式拒绝服务攻击防护装置中确定模块的框图;
图12是根据本公开的一种实施方式提供的分布式拒绝服务攻击防护装置的框图;
图13是根据一示例性实施例示出的一种电子设备的框图;
图14是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
为了应对分布式拒绝服务攻击,本公开提供一种分布式拒绝服务攻击防护系统。图1所示,为根据本公开的一种实施方式提供的分布式拒绝服务攻击防护系统的示意图。如图1所示,该系统可以包括:
攻击防护模块11,所述攻击防护模块11用于对客户端12发送的资源请求进行验证,以确定该资源请求是否为攻击请求;
客户端12,所述客户端12用于发送资源请求,该资源请求用于请求获取目标资源,所述客户端12还用于接收并执行攻击防护模块11发送的校验文件;
服务器13,用于接收通过所述攻击防护模块11验证的、来自于所述客户端12的资源请求,并响应于所述资源请求,向所述客户端12提供目标资源。
其中,该攻击防护模块11可以集成在服务器12中,也可以独立存在,在本公开中不做限制。
本公开提供一种分布式拒绝服务攻击防护方法。图2所示,为根据本公开的一种实施方式提供的分布式拒绝服务攻击防护方法的流程图,该方法可以应用于图1所示系统中的攻击防护模块11。如图2所示,所述方法包括:
在S21中,对客户端发送的资源请求进行初步验证。
可选地,所述初步验证包括:若所述资源请求中不包含客户端的身份相关信息,或者所述资源请求中包含的客户端的身份相关信息不合法,则确定所述资源请求未通过所述初步验证。其中,客户端的身份相关信息可以包括客户端的身份信息和该身份信息的到期时间。
当资源请求中不包括客户端的身份信息和该身份信息的到期时间中的任一者时,可以确定该资源请求未通过初步验证。或者,当资源请求中包括客户端的身份信息和该身份信息的到期时间时,如果该到期时间早于当前时间,则表示资源请求中包括的客户端的身份信息已过期,此时可以确定该资源请求中包括的客户端的身份相关信息不合法,即,该资源请求未通过初步验证。或者,在接收到资源请求后,获取发送该资源请求的客户端的身份信息,此时将该身份信息记为第二身份信息,并将该第二身份信息与资源请求中包含的身份信息对比,若不一致,则可以确定该资源请求中包括的客户端的身份相关信息不合法,即,该资源请求未通过初步验证。只要当第二身份信息与资源请求中包含的身份信息相一致、且资源请求中包含的到期时间等于或晚于该当前时间时,确定该资源请求中包括的客户端的身份相关信息合法,即,该资源请求通过初步验证。
在上述技术方案中,攻击脚本发起的资源请求中可能在该资源请求中不带有客户端的身份相关信息,也可能在该资源请求中带有预先编写进攻击脚本中的客户端的身份相关信息,因此,通过判断资源请求中是否包含客户端的身份相关信息或者资源请求中包含的客户端的身份相关信息是否合法,可以确定该资源请求是否通过初步验证。通过上述技术方案,可以快速确定出未通过初步验证的资源请求,从而可以只针对未通过初步验证的资源请求进行下一步的验证,可以有效提高验证效率。
可选地,所述初步验证还可以包括以下至少一者:
(一)、在所述客户端的IP地址在IP地址白名单中时,确定所述资源请求为正常的访问请求。
其中,该IP地址白名单是用户预先设置的,当客户端的IP地址在IP地址白名单中时,可以排除来自于该IP地址的资源请求为通过攻击脚本发起的攻击请求的可能性,因此,来自于该IP地址的资源请求可以直接由服务器进行处理,而不需要进行其他的验证。IP地址白名单的更新方式可以是用户手动设置。
(二)、在所述客户端的IP地址在IP地址黑名单中时,确定所述资源请求为攻击请求。
其中,IP地址黑名单中的IP地址为已经确定为发起DDoS攻击的IP地址,因此,来自于该IP地址的资源请求都可以直接被确定为攻击请求,这样,可以直接拒绝来自于该IP地址的资源请求,以保护服务器不受DDoS攻击的影响。
在上述技术方案中,通过白名单验证,就可以直接确定出正常的访问请求;通过黑名单验证,就可以直接确定出攻击请求,这样,可以有效简化处理过程,提高验证效率,提升用户使用体验。
可选地,在所述客户端的资源请求满足预设条件时,将所述客户端的IP地址添加到所述IP地址黑名单。其中,所述预设条件可以包括以下一者:
(一)、来自所述客户端的资源请求被确定为攻击请求的次数达到第一阈值。
当来自客户端的资源请求被确定为攻击请求的次数达到第一阈值时,可以确定该客户端不是真实的浏览器,即来自于该客户端的资源请求是通过攻击脚本发起、而不是通过真实的浏览器发起的。此时,可以将该客户端的IP地址加入IP地址黑名单中,从而可以在之后接收到来自于该IP地址的资源请求时,将其直接确定为攻击请求,提高处理效率。
(二)、在预设时段内接收到的来自所述客户端的资源请求的总数达到第二阈值。
攻击请求除了可以通过攻击脚本发起,还可能通过控制真实的浏览器发起。通过控制真实的浏览器发起的攻击请求可以通过验证而被确定为正常的访问请求,从而对服务器性能造成影响。对于通过控制真实的浏览器发起的攻击请求,在一时段内会频繁地请求资源。该时段可以是用户预先设置的一个预设时段,也可以采取默认设置的方式。当某客户端在预设时段内发起资源请求的次数达到第二阈值时,可以确定该客户端的浏览器被控制而使得其发起的资源请求为攻击请求。此时,可以将该客户端的IP地址加入IP地址黑名单中,从而可以在之后接收到来自于该IP地址的资源请求时,将其直接确定为攻击请求,提高处理效率。
通过上述技术方案,不仅可以确定出攻击脚本对应的客户端IP地址,也可以确定出被控制浏览器的客户端IP地址,从而可以实现IP地址黑名单的更新,可以进一步提高攻击请求验证的可靠性,有效保护服务器的性能不受攻击请求的影响。
在S22中,若资源请求未通过初步验证,则根据资源请求生成校验文件。
在S23中,将校验文件发送给客户端,以由客户端执行校验文件;所述校验文件用于使所述客户端再次发送资源请求时,携带上指定的网络参数,其中,指定的网络参数即为客户端执行校验文件后从该校验文件中获取的参数,即下文中所描述的第一身份信息和该第一身份信息的到期时间。
可选地,根据资源请求生成校验文件,包括:
获取第一身份信息和该第一身份信息的到期时间,所述第一身份信息用于表示发送所述资源请求的客户端的身份;
根据所述第一身份信息和所述第一身份信息的到期时间,生成校验文件。
其中,所述第一身份信息和所述第一身份信息的到期时间可以以cookie的形式写入校验文件中。
相应的,将所述校验文件发送给客户端,以由所述客户端执行所述校验文件包括:
将所述校验文件发送给客户端,以由所述客户端通过执行所述校验文件来获取所述第一身份信息和所述第一身份信息的到期时间,并在所述客户端再次发送资源请求时,携带上获取的所述第一身份信息及所述第一身份信息的到期时间。
这一过程即为攻击防护模块主动进行二次验证的过程,其具体实现方式包括但不限于以下三种:方式一、通过脚本文件和压缩文件实现二次验证,方式二,通过脚本文件实现二次验证,方式三,通过脚本文件和目标文件实现二次验证。下面将详细描述这三种验证方式。
首先,针对方式一,如图3A所示,S22可以包括:
在S31中,生成带有第一身份信息的脚本文件。在资源请求未通过初步验证时,将发送该资源请求的客户端的IP地址和用户名进行加密,以获得第一身份信息,并将该第一身份信息写入脚本文件。将该第一身份信息写入脚本文件(如JS脚本),可以通过字符串替换实现,即将第一身份信息值替换脚本文件中相应字段的参数值。
其中,将客户端的IP地址和用户名进行加密以生成第一身份信息,该加密方式可以是通过md5加密,密钥由攻击防护模块的设置而确定,用户名是指当客户端发起资源请求时,在http请求中user-name字段的值。示例地,第一身份信息为字符串S。
在S32中,将第一身份信息的到期时间写入空白文件。其中,可以将当前时间和预设时长之和的时刻作为第一身份信息的到期时间。对于第一身份信息的到期时间而言,预设时长可以是用户设置的,例如,用户可以设置预设时长为5h,获取当前时间,例如为8:00,则第一身份信息的到期时间为时刻13:00,即将13:00写入空白文件。
在S33中,通过第一身份信息对空白文件进行压缩,获得压缩文件,以所述脚本文件和所述压缩文件共同作为所述校验文件。
攻击防护模块可以自动生成空白文件,并将第一身份信息的到期时间写入该空白文件,以第一身份信息为密码对该文件进行压缩,以获得压缩文件,并将该脚本文件和压缩文件发送至客户端。
在客户端接收到该脚本文件和压缩文件时,执行该脚本文件,从而可以从该脚本文件中获取第一身份信息,即字符串S。之后以该字符串S为密码对压缩文件进行解压缩,从而可以从该压缩文件中获取第一身份信息的到期时间,即时刻13:00。客户端在对压缩文件进行解压缩后,可以将该压缩文件删除,以便于及时释放客户端的内存,节约内存。之后,客户端再次发送的资源请求中会携带字符串S和时刻13:00,以由攻击防护模块对该资源请求进行验证。
图3B所示,为通过脚本文件和压缩文件方式进行验证的实施方式中,客户端和攻击防护模块之间的信令交互图。如图3B所示:客户端向攻击防护模块发送资源请求;攻击防护模块对该资源请求进行初步验证,并在该资源请求未通过初步验证时,根据该资源请求生成脚本文件和压缩文件,该脚本文件中带有第一身份信息,压缩文件中带有第一身份信息的到期时间;客户端接收到脚本文件和压缩文件,执行脚本文件,以获取第一身份信息,以第一身份信息为密码对压缩文件进行解压缩,以获取第一身份信息的到期时间,并在再次向攻击防护模块发送的资源请求中携带所述第一身份信息和所述第一身份信息的到期时间。
针对方式二,S22可以包括:
将所述第一身份信息和所述第一身份信息的到期时间写入脚本文件,以所述脚本文件作为所述校验文件。示例地,第一身份信息为字符串A,该第一身份信息的到期时间为时刻15:00。
其中,将第一身份信息和第一身份信息的到期时间写入脚本文件(如JS脚本)时,可以通过字符串替换实现,即将第一身份信息和第一身份信息的到期时间分别替换脚本文件中相应字段的参数值。
客户端在接收到所述脚本文件后,执行该脚本文件,从而可以从脚本文件中获取第一身份信息和第一身份信息的到期时间,即字符串A和时刻15:00。之后,客户端执行完该脚本文件后向攻击防护模块再次发送的资源请求中会携带字符串A和时刻15:00,以由攻击防护模块对该资源请求进行验证。
图4所示,为通过脚本文件方式进行验证的实施方式中,客户端和攻击防护模块之间的信令交互图。如图4所示:客户端向攻击防护模块发送资源请求;攻击防护模块对该资源请求进行初步验证,并在该资源请求未通过初步验证时,向客户端发送脚本文件,该脚本文件中带有该客户端的第一身份信息和第一身份信息的到期时间;客户端接收到脚本文件,执行该脚本文件,以从该脚本文件中获取第一身份信息和第一身份信息的到期时间,并在该客户端向攻击防护模块再次发送的资源请求中携带第一身份信息和第一身份信息的到期时间。
针对方式三,在基于所述第一身份信息和所述第一身份信息的到期时间,生成校验文件的S22之前,所述方法还包括:
生成带有目标文件的标识信息的脚本文件,示例地,所述目标文件的标识信息可以为该目标文件的路径信息,该目标文件可以是Flash播放器可以执行的Flash文件,如SWF文件等,该脚本文件可以例如为JS脚本。
向客户端发送脚本文件,以由所述客户端反馈带有所述标识信息的目标文件获取请求。
客户端在接收到该带有目标文件的标识信息的脚本文件后,执行该脚本文件,从而可以从脚本文件中获取目标文件的标识信息,例如,目标文件的路径信息。之后,客户端向攻击防护模块发送带有该标识信息的目标文件获取请求,以用于请求获取目标文件。
其中,当资源请求是通过客户端真实的浏览器发起时,该客户端可以正确执行该脚本文件,因此,该客户端可以发送带有该标识信息的目标文件获取请求;当资源请求不是通过客户端真实的浏览器、而是通过攻击脚本发起时,该客户端可能不会反馈该目标文件获取请求。
S22的一种示例实现方式如下:
当接收到所述客户端反馈的目标文件获取请求中带有所述标识信息时,将所述第一身份信息和所述第一身份信息的到期时间写入所述目标文件,以写入所述第一身份信息和所述第一身份信息的到期时间后的目标文件作为所述校验文件。
可选地,当接收到所述客户端在执行所述脚本文件后发送的所述目标文件获取请求、且该目标文件获取请求中不带有所述目标文件的标识信息时,确定该资源请求为攻击请求。
当客户端通过攻击脚本发起资源请求时,则在该客户端接收到脚本文件后,由于该资源请求不是由真实的浏览器发起,即该客户端没有完整的浏览器堆栈(browserstack),该客户端不能执行该脚本文件,从而不能从该脚本文件中获取目标文件的标识信息。因此,当自发送脚本文件起的一段时间内未接收到客户端发送的目标文件获取请求,或者所接收到的目标文件获取请求中不带有目标文件的标识信息时,可以直接确定该资源请求为攻击请求。
图5所示,为通过脚本文件和目标文件方式进行验证的实施方式中,客户端和攻击防护模块之间的信令交互图,如图5所示:客户端向攻击防护模块发送资源请求;攻击防护模块对该资源请求进行初步验证,并在该资源请求未通过初步验证时,向客户端发送脚本文件,该脚本文件中带有目标文件的标识信息;客户端接收到脚本文件,并执行该脚本文件,以获取该标识信息,并向攻击防护模块发送带有该标识信息的目标文件获取请求;攻击防护模块接收到目标文件获取请求时,将第一身份信息和所述第一身份信息的到期时间写入目标文件,并将写入了第一身份信息和该第一身份信息的到期时间的目标文件发送至客户端;客户端接收并执行该目标文件,以获取所述第一身份信息和所述第一身份信息的到期时间,客户端向攻击防护模块再次发送的资源请求中便会携带该第一身份信息和第一身份信息的到期时间。
在上述技术方案中,在客户端发送的资源请求未通过初步验证时,根据客户端发送的资源请求,获得第一身份信息和第一身份信息的到期时间等信息,并将其嵌入校验文件中,之后将校验文件发送至该客户端,以根据客户端对该校验文件的执行结果,确定该资源请求是否为攻击请求。通过攻击防护模块对客户端发送的资源请求主动进行二次验证,可以确定该资源请求是否为攻击请求,该验证方式准确、快捷且易于实现,提升用户使用体验。
需要进行说明的是,攻击防护模块主动进行二次验证的方式,是根据用户的设置确定的。在客户端开启分布式拒绝服务攻击防护功能时,用户可以自己选择攻击防护模块主动进行二次验证的方式。
转回图2,在S24中,根据客户端对校验文件的执行结果,确定资源请求是否为攻击请求。
其中,客户端对校验文件的执行结果可以包括:
(一)、成功执行该校验文件,此时,在客户端再次发送的资源请求中会携带该校验文件中的客户端的身份相关信息,即前文所述的指定的网络参数,即,上述的第一身份信息和该第一身份信息的到期时间。
(二)、未执行该校验文件,此时,在客户端再次发送的资源请求中不带有客户端的身份相关信息或是带有错误的客户端的身份相关信息。
图6所示,为在S24中,根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求的一种示例实现方式。如图6所示,该步骤包括:
在S61中,当接收到客户端再次发送的资源请求、且资源请求中同时携带客户端的身份信息和该身份信息的到期时间时,获取第二身份信息,所述第二身份信息用于表示再次发送资源请求的客户端的身份,其中,该第二身份信息的生成方式与第一身份信息的生成方式相同,在此不再赘述。
在S62中,至少根据资源请求携带的身份信息、到期时间和第二身份信息,确定资源请求是否为攻击请求。
图7所示,为在S62中,至少根据资源请求携带的身份信息、到期时间和第二身份信息,确定资源请求是否为攻击请求的一种示例实现方式,如图7所示,该S62可以包括:
在S71中,在所述资源请求携带的到期时间等于或晚于当前时间、且所述资源请求携带的所述身份信息与所述第二身份信息一致时,确定所述资源请求为正常的访问请求。
在S72中,在所述资源请求携带的到期时间早于当前时间、或所述资源请求携带的所述身份信息与所述第二身份信息不一致时,确定所述资源请求为攻击请求。
以下,以方式一所述的验证方式为例进行详细说明。示例地,所述客户端再次发送的资源请求中携带的身份信息为字符串S,该身份信息的到期时间为时刻13:00。判断第二身份信息是否与字符串S一致,且获取当前时间、并与该资源请求中携带的到期时间对比。示例地,若当前时间为11:00、且第二身份信息为字符串S,即表示资源请求携带的到期时间13:00晚于当前时间11:00、且资源请求携带的身份信息与第二身份信息一致,可以确定该资源请求为正常的访问请求。示例地,若当前时间为14:00、和/或第二身份信息为字符串C,即表示资源请求携带的到期时间13:00早于当前时间14:00、和/或资源请求携带的身份信息与第二身份信息不一致,可以确定该资源请求为攻击请求。针对方式二和方式三所述的验证方式相类似,在此不再赘述。
可选地,当接收到客户端再次发送的资源请求、且资源请求中不同时携带客户端的身份信息和该身份信息的到期时间时,确定资源请求为攻击请求。
攻击脚本发起的资源请求中可以不带有客户端的身份信息和该身份信息的到期时间,也可以带有错误的客户端的身份信息和该身份信息的到期时间,该错误的身份信息和该身份信息的到期时间为攻击脚本在发起资源请求时,在该资源请求中嵌入的、且根据攻击脚本的编写确定。
例如,当客户端通过攻击脚本发起的资源请求中不带有客户端的身份信息和该身份信息的到期时间时,则在该客户端接收到校验文件时,由于该资源请求不是由真实的浏览器发起,即该客户端没有完整的浏览器堆栈(browser stack),该客户端不能执行该校验文件。因此,该客户端再次发起的资源请求中不带有植入该校验文件中的客户端的身份信息和该身份信息的到期时间,此时,可以直接确定该资源请求为攻击请求。
在上述技术方案中,当资源请求是由攻击脚本发起时,当客户端接收到校验文件时,由于无法执行校验文件而使得客户端再次发送的资源请求中不包含植入该校验文件中的客户端的身份相关信息(要么不包含,要么包含错误的身份相关信息),从而可以确定出为攻击请求的资源请求。通过上述技术方案,可以有效地确定出由攻击脚本(非真实的浏览器)发起的资源请求。
可选地,所述方法还包括:存储所述第一身份信息。即,在将第一身份信息植入校验文件之前、之后或同时,将该第一身份信息进行存储。这样,在S62中,至少根据资源请求携带的身份信息、到期时间和第二身份信息,确定资源请求是否为攻击请求的另一种示例实现方式如下:
在所述资源请求携带的到期时间等于或晚于当前时间、且所述资源请求携带的所述身份信息与所述第二身份信息和所述第一身份信息均一致时,确定所述资源请求为正常的访问请求;
在所述资源请求携带的到期时间早于当前时间、或所述资源请求携带的所述身份信息与所述第二身份信息和所述第一身份信息中的任一者不一致时,确定所述资源请求为攻击请求。
当攻击脚本窃取真实客户端的身份信息、并根据该身份信息进行伪装时,该攻击脚本再次发起的资源请求中会带有其窃取的真实客户端的身份信息,且再次发起的资源请求中带有的身份信息与该攻击脚本伪装后的身份信息一致,即资源请求携带的身份信息与第二身份信息一致。此时,可以将第二身份信息与存储的第一身份信息对比,以判断发送该资源请求的客户端是否进行过身份信息伪装,当第二身份信息与存储的第一身份信息一致时,表示首次发送的资源请求和再次发送的资源请求来自同一个客户端,此时,若再次发送的资源请求携带的到期时间等于或晚于当前时间,可以确定该资源请求为正常的访问请求。当第二身份信息与存储的第一身份信息不一致时,表示首次发送的资源请求和再次发送的资源请求不是来自同一个客户端,即再次发送资源请求的客户端进行了身份信息伪装,此时,可以确定该资源请求为攻击请求。
在上述技术方案中,存储所述第一身份信息,在对客户端再次发送的资源请求进行验证时,该资源请求中的身份信息除了要和第二身份信息进行比较外,还需要和存储的第一身份信息进行比较,由此可以确定出进行过身份相关信息伪装的资源请求,可以更加准确地确定出攻击请求,从而保证服务器的处理性能,提高服务器对正常的访问请求的响应速度,提升用户使用体验。
综上所述,在客户端与服务器之间增设了攻击防护模块,客户端发起的资源请求首先经过攻击防护模块进行验证,验证通过后再由服务器对该资源请求进行处理。当客户端发送的资源请求未通过攻击防护模块的初步验证时,攻击防护模块接下来将发起主动验证过程,即,基于客户端发送的资源请求生成校验文件,并将该校验文件发送至客户端以由该客户端执行,其中,该校验文件指示了攻击防护模块期望客户端执行的操作。之后,攻击防护模块会根据该客户端对校验文件的执行结果来确定该资源请求是否确实为攻击请求。如果资源请求是通过合法客户端(如真实的浏览器)发起的,则该客户端在接收到该校验文件后会执行该校验文件,并且按照该校验文件所指示的那样执行攻击防护模块所期望的操作,以便攻击防护模块知晓由其发起的资源请求是正常、合法的资源请求,此时可以由服务器对该资源请求进行处理。而一旦客户端并未按照校验文件所指示的进行操作,则攻击防护模块可以确定由该客户端发出的资源请求是通过攻击脚本发起的,属于攻击请求,此时将该资源请求不会由服务器进行处理。通过上述攻击防护模块对未通过初步验证的资源请求的主动验证过程,可以在攻击请求进入服务器之前便准确识别出DDos攻击,从而有效阻止服务器对由攻击脚本(非真实的浏览器)发起的资源请求进行处理,进而有效避免攻击请求对服务器性能的影响。同时,只有在确定资源请求不为攻击请求时,服务器才对该资源请求进行处理,因此,可以有效降低服务器的工作负载,防止服务器瘫痪,提高服务器的响应速度,提升合法用户的使用体验。
可选地,所述方法还包括:
在确定所述资源请求为攻击请求时,拒绝所述资源请求;
在所述资源请求通过了初步验证时,由服务器对所述资源请求进行处理。
在确定资源请求为攻击请求时,可以直接拒绝该资源请求;在该资源请求通过初步验证时,可以确定该资源请求是正常用户发起的,可以直接由服务器对该资源请求进行处理。如此,既可以提高服务器对正常用户发起的资源请求的响应速度,又可以有效降低服务器的工作负载,避免服务器受到攻击请求的影响,提高服务器的处理效率。
以下,详细说明客户端所执行的方法。图8所示,为根据本公开的一种实施方式提供的分布式拒绝服务攻击防护方法的流程图,该方法可以应用于图1中所示的客户端12,所述方法包括:
在S81中,向攻击防护模块发送资源请求,所述资源请求用于请求从服务器获取目标资源。
在S82中,接收攻击防护模块发送的校验文件,其中,所述校验文件为在所述资源请求未通过攻击防护模块的初步验证时,所述攻击防护模块根据该资源请求生成的,所述校验文件用于使所述客户端再次发送资源请求时,携带上指定的网络参数。
在S83中,执行校验文件,以使所述攻击防护模块根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求。
在上述技术方案中,当客户端发起的资源请求未通过初步验证时,客户端会接收到攻击防护模块发送的校验文件,客户端执行该校验文件,从而攻击防护模块可以根据客户端对该校验文件的执行结果判断客户端发送的资源请求是否为攻击请求。该验证方式快捷、简单,用时时间短,既可以快速确定出攻击请求,又不会对正常用户的资源请求造成影响,提升正常用户的使用体验。
可选地,如上所述,客户端接收到的校验文件可以包括脚本文件和压缩文件,其中,脚本文件中植入了第一身份信息,压缩文件中植入了第一身份信息的到期时间。这样,客户端执行所述校验文件具体包括:执行所述脚本文件,以获取所述第一身份信息,根据所述第一身份信息对所述压缩文件进行解压缩,以获取所述第一身份信息的到期时间,并生成带有所述第一身份信息和所述第一身份信息的到期时间的资源请求,以及向所述攻击防护模块发送所述资源请求。
可选地,如上所述,客户端接收到的校验文件为脚本文件,其中,该脚本文件中植入了第一身份信息和第一身份信息的到期时间。这样,客户执行所述校验文件具体包括:执行所述脚本文件,以获取所述第一身份信息和所述第一身份信息的到期时间,并生成带有第一身份信息和所述第一身份信息的到期时间的资源请求,以及向所述攻击防护模块发送所述资源请求。
可选地,如上所述,客户端接收到的校验文件为植入了第一身份信息和第一身份信息的到期时间的目标文件,如Flash格式的文件。这样,在S82之前,所述方法还可以包括:接收所述攻击防护模块发送的脚本文件,所述脚本文件中带有目标文件的标识信息;执行所述脚本文件,以获取所述标识信息,并生成带有所述标识信息的目标文件获取请求,以及向所述攻击防护模块发送所述目标文件获取请求,其中,所述目标文件获取请求用于请求获取目标文件。
之后,在客户端接收到上述校验文件后执行该校验文件,具体包括:执行接收到的目标文件,以获取所述第一身份信息和所述第一身份信息的到期时间,并生成带有所述第一身份信息和所述第一身份信息的到期时间的资源请求,以及向所述攻击防护模块发送所述资源请求。
上述应用于客户端的方法的具体实现过程及原理已在上文应用于攻击防护模块的方法的部分中进行了详细描述,因此,此处便不再赘述。
本公开还提供一种分布式拒绝服务攻击防护装置。图9所示,为根据本公开的一种实施方式提供的分布式拒绝服务攻击防护装置的框图,该装置10可以应用于图1中所示的攻击防护模块11。如图9所示,所述装置10包括:
初步验证模块100,用于对客户端发送的资源请求进行初步验证;
校验文件生成模块200,用于在所述资源请求未通过所述初步验证模块100的初步验证时,根据所述资源请求生成校验文件;
发送模块300,用于将所述校验文件发送给客户端,以由所述客户端执行所述校验文件;所述校验文件用于使所述客户端再次发送资源请求时,携带上指定的网络参数;
确定模块400,用于根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求
可选地,所述初步验证模块100被配置为:
若所述资源请求中不包含客户端的身份相关信息,或者所述资源请求中包含的客户端的身份相关信息不合法,则确定所述资源请求未通过所述初步验证。
可选地,如图10所示,所述校验文件生成模块200包括:
第一获取子模块201,用于获取第一身份信息和该第一身份信息的到期时间,所述第一身份信息用于表示发送所述资源请求的客户端的身份;
生成子模块202,用于根据所述第一身份信息和所述第一身份信息的到期时间,生成校验文件;
相应的,所述发送模块300被配置为:
将所述校验文件发送给客户端,以由所述客户端通过执行所述校验文件来获取所述第一身份信息和所述第一身份信息的到期时间,并在所述客户端再次发送资源请求时,携带上获取的所述第一身份信息及所述第一身份信息的到期时间。
可选地,如图11所示,所述确定模块400包括:
第二获取子模块401,用于当接收到客户端再次发送的资源请求、且所述资源请求同时携带客户端的身份信息和该身份信息的到期时间时,获取第二身份信息,所述第二身份信息用于表示再次发送所述资源请求的客户端的身份;
确定子模块402,用于至少根据所述资源请求携带的所述身份信息、所述到期时间和所述第二身份信息,确定所述资源请求是否为攻击请求。
可选地,所述确定子模块402被配置为:
在所述资源请求携带的到期时间等于或晚于当前时间、且所述资源请求携带的所述身份信息与所述第二身份信息一致时,确定所述资源请求为正常的访问请求;
在所述资源请求携带的到期时间早于当前时间、或所述资源请求携带的所述身份信息与所述第二身份信息不一致时,确定所述资源请求为攻击请求。
可选地,所述装置还包括:
存储模块,用于存储所述第一身份信息;以及
所述确定子模块402被配置为:
在所述资源请求携带的到期时间等于或晚于当前时间、且所述资源请求携带的所述身份信息与所述第二身份信息和所述第一身份信息均一致时,确定所述资源请求为正常的访问请求;
在所述资源请求携带的到期时间早于当前时间、或所述资源请求携带的所述身份信息与所述第二身份信息和所述第一身份信息中的任一者不一致时,确定所述资源请求为攻击请求。
可选地,所述生成子模块202,包括:
第一文件生成子模块,用于生成带有所述第一身份信息的脚本文件;
第二文件生成子模块,用于将所述第一身份信息的到期时间写入空白文件;
文件压缩子模块,用于通过所述第一身份信息对所述空白文件进行压缩,获得压缩文件,以所述脚本文件和所述压缩文件共同作为所述校验文件。
可选地,所述生成子模块202被配置为:
将所述第一身份信息和所述第一身份信息的到期时间写入脚本文件,以所述脚本文件作为所述校验文件。
可选地,所述装置还包括:
脚本文件生成模块,用于生成带有目标文件的标识信息的脚本文件;
脚本文件发送模块,用于向所述客户端发送所述脚本文件,以由所述客户端反馈带有所述标识信息的目标文件获取请求;
所述生成子模块202被配置为:
当接收到所述客户端反馈的目标文件获取请求中带有所述标识信息时,将所述第一身份信息和所述第一身份信息的到期时间写入所述目标文件,以写入所述第一身份信息和所述第一身份信息的到期时间后的目标文件作为所述校验文件。
本公开还提供一种分布式拒绝服务攻击防护装置。图12所示,为根据本公开的一种实施方式提供的分布式拒绝服务攻击防护装置的框图。该装置90可以应用于图1中所示的客户端12,如图12所示,所述装置90可以包括:
资源请求发送模块500,用于向攻击防护模块发送资源请求,所述资源请求用于请求从服务器获取目标资源。
第一接收模块600,用于接收攻击防护模块发送的校验文件,其中,所述校验文件为在所述资源请求未通过攻击防护模块的初步验证时,所述攻击防护模块根据该资源请求生成的,所述校验文件用于使所述客户端再次发送资源请求时,携带上指定的网络参数。
第一执行模块700,用于执行校验文件,以使所述攻击防护模块根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求。
可选地,如上所述,客户端接收到的校验文件可以包括脚本文件和压缩文件,其中,脚本文件中植入了第一身份信息,压缩文件中植入了第一身份信息的到期时间。这样,所述第一执行模块700被配置为:
执行所述脚本文件,以获取所述第一身份信息,根据所述第一身份信息对所述压缩文件进行解压缩,以获取所述第一身份信息的到期时间,并生成带有所述第一身份信息和所述第一身份信息的到期时间的资源请求,以及向所述攻击防护模块发送所述资源请求。
可选地,如上所述,客户端接收到的校验文件为脚本文件,其中,该脚本文件中植入了第一身份信息和第一身份信息的到期时间。这样,所述第一执行模块700被配置为:
执行所述脚本文件,以获取所述第一身份信息和所述第一身份信息的到期时间,并生成带有第一身份信息和所述第一身份信息的到期时间的资源请求,以及向所述攻击防护模块发送所述资源请求。
可选地,如上所述,客户端接收到的校验文件为植入了第一身份信息和第一身份信息的到期时间的目标文件,如Flash格式的文件。这样,所述装置还包括:
第二接收模块,用于接收所述攻击防护模块发送的脚本文件,所述脚本文件中带有目标文件的标识信息;
第二执行模块,用于执行所述脚本文件,以获取所述标识信息,并生成带有所述标识信息的目标文件获取请求,以及向所述攻击防护模块发送所述目标文件获取请求,其中,所述目标文件获取请求用于请求获取目标文件;
所述第一执行模块700被配置为:
执行接收到的目标文件,以获取所述第一身份信息和所述第一身份信息的到期时间,并生成带有所述第一身份信息和所述第一身份信息的到期时间的资源请求,以及向所述攻击防护模块发送所述资源请求。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图13是根据一示例性实施例示出的一种电子设备1300的框图。如图13所示,该电子设备1300可以包括:处理器1301,存储器1302,多媒体组件1303,输入/输出(I/O)接口1304,以及通信组件1305。
其中,处理器1301用于控制该电子设备1300的整体操作,以完成上述分布式拒绝服务攻击防护方法中的全部或部分步骤。存储器1302用于存储各种类型的数据以支持在该电子设备1300的操作,这些数据例如可以包括用于在该电子设备1300上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1302可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1303可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1302或通过通信组件1305发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1304为处理器1301和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1305用于该电子设备1300与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件1305可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
在一示例性实施例中,电子设备1300可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述分布式拒绝服务攻击防护方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器1302,上述程序指令可由电子设备1300的处理器1301执行以完成上述分布式拒绝服务攻击防护方法。
图14是根据一示例性实施例示出的一种电子设备1400的框图。例如,电子设备1400可以被提供为一服务器。参照图14,电子设备1400包括处理器1422,其数量可以为一个或多个,以及存储器1432,用于存储可由处理器1422执行的计算机程序。存储器1432中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1422可以被配置为执行该计算机程序,以执行上述分布式拒绝服务攻击防护方法。
另外,电子设备1400还可以包括电源组件1426和通信组件1450,该电源组件1426可以被配置为执行电子设备1400的电源管理,该通信组件1450可以被配置为实现电子设备1400的通信,例如,有线或无线通信。此外,该电子设备1400还可以包括输入/输出(I/O)接口1458。电子设备1400可以操作基于存储在存储器1432的操作系统,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器1432,上述程序指令可由电子设备1400的处理器1422执行以完成上述分布式拒绝服务攻击防护方法。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (12)
1.一种分布式拒绝服务攻击防护方法,其特征在于,所述方法包括:
对客户端发送的资源请求进行初步验证;
若所述资源请求未通过所述初步验证,则根据所述资源请求生成校验文件;
将所述校验文件发送给客户端,以由所述客户端执行所述校验文件;所述校验文件用于使所述客户端再次发送资源请求时,携带上指定的网络参数;
根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求;
其中,根据所述资源请求生成校验文件包括:
获取第一身份信息和该第一身份信息的到期时间,所述第一身份信息用于表示发送所述资源请求的客户端的身份;
根据所述第一身份信息和所述第一身份信息的到期时间,生成校验文件;
相应的,将所述校验文件发送给客户端,以由所述客户端执行所述校验文件包括:
将所述校验文件发送给客户端,以由所述客户端通过执行所述校验文件来获取所述第一身份信息和所述第一身份信息的到期时间,并在所述客户端再次发送资源请求时,携带上获取的所述第一身份信息及所述第一身份信息的到期时间。
2.根据权利要求1所述的方法,其特征在于,对客户端发送的资源请求进行初步验证包括:
若所述资源请求中不包含客户端的身份相关信息,或者所述资源请求中包含的客户端的身份相关信息不合法,则确定所述资源请求未通过所述初步验证。
3.根据权利要求1所述的方法,其特征在于,根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求包括:
当接收到客户端再次发送的资源请求、且所述资源请求同时携带客户端的身份信息和该身份信息的到期时间时,获取第二身份信息,所述第二身份信息用于表示再次发送所述资源请求的客户端的身份;
至少根据所述资源请求携带的所述身份信息、所述到期时间和所述第二身份信息,确定所述资源请求是否为攻击请求。
4.根据权利要求3所述的方法,其特征在于,至少根据所述资源请求携带的所述身份信息、所述到期时间和所述第二身份信息,确定所述资源请求是否为攻击请求包括:
在所述资源请求携带的到期时间等于或晚于当前时间、且所述资源请求携带的所述身份信息与所述第二身份信息一致时,确定所述资源请求为正常的访问请求;
在所述资源请求携带的到期时间早于当前时间、或所述资源请求携带的所述身份信息与所述第二身份信息不一致时,确定所述资源请求为攻击请求。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:存储所述第一身份信息;以及
至少根据所述资源请求携带的所述身份信息、所述到期时间和所述第二身份信息,确定所述资源请求是否为攻击请求包括:
在所述资源请求携带的到期时间等于或晚于当前时间、且所述资源请求携带的所述身份信息与所述第二身份信息和所述第一身份信息均一致时,确定所述资源请求为正常的访问请求;
在所述资源请求携带的到期时间早于当前时间、或所述资源请求携带的所述身份信息与所述第二身份信息和所述第一身份信息中的任一者不一致时,确定所述资源请求为攻击请求。
6.根据权利要求1所述的方法,其特征在于,根据所述第一身份信息和所述第一身份信息的到期时间,生成校验文件包括:
生成带有所述第一身份信息的脚本文件;
将所述第一身份信息的到期时间写入空白文件;
通过所述第一身份信息对所述空白文件进行压缩,获得压缩文件,以所述脚本文件和所述压缩文件共同作为所述校验文件。
7.根据权利要求1所述的方法,其特征在于,根据所述第一身份信息和所述第一身份信息的到期时间,生成校验文件包括:
将所述第一身份信息和所述第一身份信息的到期时间写入脚本文件,以所述脚本文件作为所述校验文件。
8.根据权利要求1所述的方法,其特征在于,在根据所述第一身份信息和所述第一身份信息的到期时间,生成校验文件之前,所述方法还包括:
生成带有目标文件的标识信息的脚本文件;
向所述客户端发送所述脚本文件,以由所述客户端反馈带有所述标识信息的目标文件获取请求;
根据所述第一身份信息和所述第一身份信息的到期时间,生成校验文件包括:
当接收到所述客户端反馈的目标文件获取请求中带有所述标识信息时,将所述第一身份信息和所述第一身份信息的到期时间写入所述目标文件,以写入所述第一身份信息和所述第一身份信息的到期时间后的目标文件作为所述校验文件。
9.一种分布式拒绝服务攻击防护装置,其特征在于,所述装置包括:
初步验证模块,用于对客户端发送的资源请求进行初步验证;
校验文件生成模块,用于在所述资源请求未通过所述初步验证模块的初步验证时,根据所述资源请求生成校验文件;
发送模块,用于将所述校验文件发送给客户端,以由所述客户端执行所述校验文件;所述校验文件用于使所述客户端再次发送资源请求时,携带上指定的网络参数;
确定模块,用于根据所述客户端对所述校验文件的执行结果,确定所述资源请求是否为攻击请求;
其中,所述校验文件生成模块包括:
第一获取子模块,用于获取第一身份信息和该第一身份信息的到期时间,所述第一身份信息用于表示发送所述资源请求的客户端的身份;
生成子模块,用于根据所述第一身份信息和所述第一身份信息的到期时间,生成校验文件;
所述发送模块被配置为:
将所述校验文件发送给客户端,以由所述客户端通过执行所述校验文件来获取所述第一身份信息和所述第一身份信息的到期时间,并在所述客户端再次发送资源请求时,携带上获取的所述第一身份信息及所述第一身份信息的到期时间。
10.一种分布式拒绝服务攻击防护系统,其特征在于,所述系统包括:
攻击防护模块,所述攻击防护模块被配置为执行权利要求1-8中任一项所述的方法;
客户端,所述客户端被配置为发送资源请求,接收并执行所述攻击防护模块发送的校验文件,所述校验文件用于使该客户端再次发送资源请求时,携带上指定的网络参数;
服务器,用于接收通过所述攻击防护模块验证的、来自于所述客户端的资源请求,并响应于所述资源请求,向所述客户端提供目标资源。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
12.一种电子设备,其特征在于,包括:
权利要求11中所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710681283.4A CN109391600B (zh) | 2017-08-10 | 2017-08-10 | 分布式拒绝服务攻击防护方法、装置、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710681283.4A CN109391600B (zh) | 2017-08-10 | 2017-08-10 | 分布式拒绝服务攻击防护方法、装置、系统、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109391600A CN109391600A (zh) | 2019-02-26 |
CN109391600B true CN109391600B (zh) | 2021-08-13 |
Family
ID=65414428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710681283.4A Active CN109391600B (zh) | 2017-08-10 | 2017-08-10 | 分布式拒绝服务攻击防护方法、装置、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109391600B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111107075A (zh) * | 2019-12-13 | 2020-05-05 | 中国工商银行股份有限公司 | 请求响应方法、装置、电子设备和计算机可读存储介质 |
CN111078414B (zh) * | 2019-12-17 | 2024-03-01 | 北京思维造物信息科技股份有限公司 | 请求响应方法、装置、设备和存储介质 |
CN113810197A (zh) * | 2021-09-17 | 2021-12-17 | 上海市信产通信服务有限公司 | 基于OpenAPI的服务调用方法及其系统 |
CN114827161B (zh) * | 2022-04-20 | 2023-07-25 | 微位(深圳)网络科技有限公司 | 服务调用请求发送方法、装置、电子设备及可读存储介质 |
CN115086069B (zh) * | 2022-07-19 | 2024-01-26 | 光大科技有限公司 | 一种DDoS攻击识别方法及装置 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080127343A1 (en) * | 2006-11-28 | 2008-05-29 | Avaya Technology Llc | Self-Operating Security Platform |
CN101236496A (zh) * | 2007-01-29 | 2008-08-06 | 展讯通信(上海)有限公司 | 一种软件一致性检测方法和装置 |
CN101834866B (zh) * | 2010-05-05 | 2013-06-26 | 北京来安科技有限公司 | 一种cc攻击防护方法及其系统 |
US9473530B2 (en) * | 2010-12-30 | 2016-10-18 | Verisign, Inc. | Client-side active validation for mitigating DDOS attacks |
CN102143173A (zh) * | 2011-03-23 | 2011-08-03 | 深信服网络科技(深圳)有限公司 | 防御分布式拒绝服务攻击的方法、系统以及网关设备 |
CN102404345A (zh) * | 2011-12-26 | 2012-04-04 | 山石网科通信技术(北京)有限公司 | 分布式攻击阻止方法及装置 |
US8613089B1 (en) * | 2012-08-07 | 2013-12-17 | Cloudflare, Inc. | Identifying a denial-of-service attack in a cloud-based proxy service |
CN104519018B (zh) * | 2013-09-29 | 2018-09-18 | 阿里巴巴集团控股有限公司 | 一种防止针对服务器的恶意请求的方法、装置和系统 |
CN104811420A (zh) * | 2014-01-23 | 2015-07-29 | 腾讯数码(天津)有限公司 | 一种防止分布式拒绝服务攻击的方法和装置 |
CN104079557A (zh) * | 2014-05-22 | 2014-10-01 | 汉柏科技有限公司 | 一种cc攻击的防护方法及装置 |
CN105187356A (zh) * | 2014-05-28 | 2015-12-23 | 无锡韩光电器有限公司 | 一种网站使用者身份认证方法和系统 |
US20160173527A1 (en) * | 2014-12-10 | 2016-06-16 | NxLabs Limited | Method and system for protecting against mobile distributed denial of service attacks |
CN106302313B (zh) * | 2015-05-14 | 2019-10-08 | 阿里巴巴集团控股有限公司 | 基于调度系统的DDoS防御方法和DDoS防御系统 |
CN105939315A (zh) * | 2015-10-20 | 2016-09-14 | 杭州迪普科技有限公司 | 一种http攻击防护方法及装置 |
CN105610856A (zh) * | 2016-01-26 | 2016-05-25 | 深圳一卡易网络科技有限公司 | 一种基于多重特征识别的应用层DDoS攻击防御系统 |
CN106022135A (zh) * | 2016-02-23 | 2016-10-12 | 北京工业大学 | 一种可动态判断xss漏洞的自动化检测系统 |
CN105939347B (zh) * | 2016-05-05 | 2019-08-06 | 杭州迪普科技股份有限公司 | 防御域名攻击的方法及装置 |
CN107018084B (zh) * | 2017-04-12 | 2020-10-27 | 南京工程学院 | 基于sdn架构的ddos攻击防御网络安全方法 |
-
2017
- 2017-08-10 CN CN201710681283.4A patent/CN109391600B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109391600A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391600B (zh) | 分布式拒绝服务攻击防护方法、装置、系统、介质及设备 | |
CN109218260B (zh) | 一种基于可信任环境的认证保护系统及方法 | |
US8839397B2 (en) | End point context and trust level determination | |
CN108989263B (zh) | 短信验证码攻击防护方法、服务器和计算机可读存储介质 | |
US10419431B2 (en) | Preventing cross-site request forgery using environment fingerprints of a client device | |
US11310232B2 (en) | Network identity authentication method and system, and user agent device used thereby | |
US10250605B2 (en) | Combining a set of risk factors to produce a total risk score within a risk engine | |
CN112866297B (zh) | 访问数据处理方法、装置及系统 | |
CN109218389B (zh) | 处理业务请求的方法、装置和存储介质以及电子设备 | |
CN110069909B (zh) | 一种免密登录第三方系统的方法及装置 | |
US11277380B2 (en) | Adaptive malicious network traffic response | |
CN112559993A (zh) | 身份认证方法、装置、系统及电子设备 | |
CN114745431B (zh) | 基于边车技术的无侵入式权限认证方法、系统、介质和设备 | |
CN105577619B (zh) | 一种客户端登录方法、客户端以及系统 | |
CN105279404B (zh) | 操作系统操作控制方法及装置 | |
CN112966242A (zh) | 一种用户名口令认证方法、装置、设备及可读存储介质 | |
CN112437046A (zh) | 防止重放攻击的通信方法、系统、电子设备及存储介质 | |
CN116647345A (zh) | 权限令牌的生成方法以及装置、存储介质、计算机设备 | |
US10715535B1 (en) | Distributed denial of service attack mitigation | |
CN110392083B (zh) | 文件秒传的控制方法、装置及终端设备 | |
CN108512824B (zh) | 一种家庭云端文件的管理方法及移动终端 | |
CN105100030B (zh) | 访问控制方法、系统和装置 | |
GB2513494A (en) | Data verification | |
CN113225348B (zh) | 请求防重放校验方法和装置 | |
CN112422292B (zh) | 一种网络安全防护方法、系统、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |