CN108810019B - 拒绝服务攻击防御方法、装置、设备和存储介质 - Google Patents

拒绝服务攻击防御方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN108810019B
CN108810019B CN201810768091.1A CN201810768091A CN108810019B CN 108810019 B CN108810019 B CN 108810019B CN 201810768091 A CN201810768091 A CN 201810768091A CN 108810019 B CN108810019 B CN 108810019B
Authority
CN
China
Prior art keywords
client
http
server
http request
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
Application number
CN201810768091.1A
Other languages
English (en)
Other versions
CN108810019A (zh
Inventor
金帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810768091.1A priority Critical patent/CN108810019B/zh
Publication of CN108810019A publication Critical patent/CN108810019A/zh
Application granted granted Critical
Publication of CN108810019B publication Critical patent/CN108810019B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种拒绝服务攻击防御方法、装置、设备和存储介质,属于网络安全技术领域。该方法包括:向防护设备发送封装后的HTTP请求,接收防护设备发送的用于指示HTTP请求不合法的第一HTTP回应报文,第一HTTP回应报文携带有人机识别程序,向客户端发送携带有人机识别程序的第一HTTP响应,第一HTTP响应用于指示客户端根据人机识别程序发送重请求。本发明通过当防护设备检测出HTTP请求不合法时通过向客户端发送人机识别程序,客户端根据人机识别程序发送重请求,进而使得后续服务器和防护设备可以对重请求进行进一步的信任检查,避免了相关技术中在对拒绝服务攻击进行防御的过程中正常客户端发送的HTTP请求容易被误杀的情况。

Description

拒绝服务攻击防御方法、装置、设备和存储介质
技术领域
本发明实施例涉及网络安全技术领域,特别涉及一种拒绝服务攻击防御方法、装置、设备和存储介质。
背景技术
分布式拒绝服务(Distributed Denial of Service,DDoS)攻击是一种较为严重的网络攻击行为,它利用大量的傀儡机对某个服务器或系统同时发起攻击,使得受攻击的该系统因带宽拥塞或服务器资源耗尽等原因而无法支持正常的业务访问。
相关技术中,基于超文本传输(HyperText Transfer Protocol,HTTP)协议的服务器上部署有防护模块,拒绝服务攻击防御方法通常包括:服务器接收客户端发送的HTTP请求,对HTTP请求进行安全认证,若安全认证成功则服务器向客户端发送用于指示正常访问的HTTP响应;若安全认证失败则服务器丢弃该HTTP请求。
在上述方法中,若服务器对HTTP请求的认证结果为安全认证失败,则服务器会直接丢弃该HTTP请求,容易造成正常客户端发送的HTTP请求被误杀的情况。
发明内容
本发明实施例提供了一种拒绝服务攻击防御方法、装置、设备和存储介质,可以解决相关技术中在对拒绝服务攻击进行防御的过程中正常客户端发送的HTTP请求容易被误杀的问题。所述技术方案如下:
一方面,提供了一种拒绝服务攻击防御方法,用于与防护设备相连的服务器中,所述方法,包括:
接收客户端发送的HTTP请求;
对所述HTTP请求进行封装得到封装后的HTTP请求;
向所述防护设备发送所述封装后的HTTP请求,所述封装后的HTTP请求用于指示所述防护设备检测所述HTTP请求是否合法;
接收所述防护设备发送的第一HTTP回应报文,所述第一HTTP回应报文用于指示所述HTTP请求不合法,所述第一HTTP回应报文携带有人机识别程序,所述人机识别程序用于检测所述客户端是否为傀儡机的客户端;
向所述客户端发送携带有所述人机识别程序的第一HTTP响应,所述第一HTTP响应用于指示所述客户端根据所述人机识别程序发送重请求。
另一方面,提供了一种拒绝服务攻击防御方法,用于与服务器相连的防护设备中,所述方法,包括:
接收所述服务器发送的封装后的超文本传输协议HTTP请求,所述封装后的HTTP请求是对客户端发送的HTTP请求进行封装得到的请求;
根据所述封装后的HTTP请求,检测所述HTTP请求的合法性;
当检测出所述HTTP请求不合法时生成第一HTTP回应报文,所述第一HTTP回应报文携带有人机识别程序,所述人机识别程序用于检测所述客户端是否为傀儡机的客户端;
将所述第一HTTP回应报文发送至所述服务器。
另一方面,提供了一种拒绝服务攻击防御装置,用于与防护设备相连的服务器中,所述装置包括:
转发模块,用于接收客户端发送的超文本传输协议HTTP请求;
处理模块,用于对所述HTTP请求进行封装得到封装后的HTTP请求;
所述转发模块,还用于向所述防护设备发送所述封装后的HTTP请求,所述封装后的HTTP请求用于指示所述防护设备检测所述HTTP请求是否合法;
所述转发模块,还用于接收所述防护设备发送的第一HTTP回应报文,所述第一HTTP回应报文用于指示所述HTTP请求不合法,所述第一HTTP回应报文携带有人机识别程序,所述人机识别程序用于检测所述客户端是否为傀儡机的客户端;
所述转发模块,还用于向所述客户端发送携带有所述人机识别程序的第一HTTP响应,所述第一HTTP响应用于指示所述客户端根据所述人机识别程序发送重请求。
另一方面,提供了一种拒绝服务攻击防御装置,用于与服务器相连的防护设备中,所述装置,包括:
接收模块,用于接收所述服务器发送的封装后的超文本传输协议HTTP请求,所述封装后的HTTP请求是对客户端发送的HTTP请求进行封装得到的请求;
检测模块,用于根据所述封装后的HTTP请求,检测所述HTTP请求的合法性;
生成模块,用于当检测出所述HTTP请求不合法时生成第一HTTP回应报文,所述第一HTTP回应报文携带有人机识别程序,所述人机识别程序用于检测所述客户端是否为傀儡机的客户端;
发送模块,用于将所述第一HTTP回应报文发送至所述服务器。
另一方面,提供了一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述第一方面所述的拒绝服务攻击防御方法。
另一方面,提供了一种防护设备,其特征在于,所述防护设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述第二方面所述的拒绝服务攻击防御方法。
另一方面,提供了一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述第一方面或者第二方面所述的拒绝服务攻击防御方法。
本发明实施例提供的技术方案带来的有益效果至少包括:
通过服务器接收客户端发送的HTTP请求,对HTTP请求进行封装得到封装后的HTTP请求,向防护设备发送封装后的HTTP请求,对应的,防护设备检测接收到的HTTP请求是否合法,当HTTP请求不合法检测出HTTP请求不合法时向服务器发送携带有人机识别程序的第一HTTP回应报文;当服务器接收到第一HTTP回应报文时向客户端发送携带有人机识别程序的第一HTTP响应,第一HTTP响应用于指示客户端根据人机识别程序发送重请求;使得当防护设备检测出HTTP请求不合法时通过向客户端发送人机识别程序,进而使得客户端根据人机识别程序发送重请求,从而使得后续服务器和防护设备可以对重请求进行进一步的信任检查,避免了相关技术中在对拒绝服务攻击进行防御的过程中正常客户端发送的HTTP请求容易被误杀的情况。
附图说明
图1是本发明实施例提供的拒绝服务攻击防御方法所涉及的实施环境的结构示意图;
图2是本发明一个实施例提供的拒绝服务攻击防御方法的流程图;
图3是本发明另一个实施例提供的拒绝服务攻击防御方法的流程图;
图4是本发明一个实施例提供的拒绝服务攻击防御方法的原理示意图;
图5是本发明一个实施例提供的拒绝服务攻击防御方法的原理示意图;
图6是本发明另一个实施例提供的拒绝服务攻击防御方法的流程图;
图7是本发明一个实施例提供的拒绝服务攻击防御装置的结构示意图;
图8是本发明另一个实施例提供的拒绝服务攻击防御装置的结构示意图;
图9是本发明一个示例性实施例提供的终端的结构框图;
图10是本发明一个实施例提供的服务器的结构框架图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
下面,对本发明实施例涉及的一些名词进行介绍:
挑战黑洞(Challenge Collapsar,CC)攻击:是DDoS攻击的一种,也称为Fatboy攻击,是一种常见的网站攻击方法。攻击者通过代理服务器或者肉鸡向受害主机不停地发大量数据包,造成受害主机资源耗尽,一直到宕机崩溃。在本申请实施例中,拒绝服务攻击包括DDoS攻击。
安全套接字层超文本传输(Hyper Text Transfer Protocol over SecureSocket Layer,HTTPS)协议:也称HTTP的安全版,即HTTPS协议是在HTTP协议的基础上加入了安全套接层(Secure Sockets Layer,SSL)协议,SSL协议是依靠证书来验证服务器的身份,并为客户端和服务器之间的通信加密的安全协议。
相关技术中,用于基于HTTP协议的服务器中的拒绝服务攻击防御方法,需要经过解密、安全检测、加密等步骤,导致服务器的大量开销。并且,由于防护模块通常需要快速迭代以应对现网拒绝服务攻击手法的不断变换,服务器的稳定性较低,若没有及时更新服务器中的防护模块,则会导致拒绝服务攻击防御的防御效果较差的问题。目前尚未提供一种可靠而有效的拒绝服务攻击防御方法。
本发明实施例提供了一种拒绝服务攻击防御方法、装置、设备和存储介质。通过将相关技术中服务器的业务功能和安全防护功能进行充分解耦,采用与服务器相连的防护设备对HTTP请求的合法性进行检测,在降低了服务器的负载压力的同时,最大限度地提升了拒绝服务攻击的防御效果。
该拒绝服务攻击防御方法主要应用在基于HTTP协议或者HTTPS协议的拒绝服务攻击防御场景。该拒绝服务攻击防御方法适用于将产品部署在网站(World Wide Web,Web)服务器、反向代理服务器等可以接收到HTTPS请求的节点。
需要说明的是,下面实施例中仅以该拒绝服务攻击防御方法应用在基于为HTTPS协议的CC攻击防御场景为例进行说明。
请参考图1,其示出了本发明实施例提供的拒绝服务攻击防御方法所涉及的实施环境的结构示意图。该实施环境包括:终端120、服务器140和防护设备160。
终端120可以是手机、平板电脑、电子书阅读器、MP3播放器(Moving PictureExperts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(MovingPicture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携.计算机和台式计算机等等。终端是由用户所使用的电子设备。
终端120上运行有客户端122。该客户端122可以是具有发送HTTP请求功能的客户端。
终端120与服务器140之间可以通过无线网络或者有线网络进行通信。
服务器140可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。
在一种可能的实现方式中,服务器直接与客户端122相连。在另一种可能的实现方式中,服务器通过代理设备(图1中未示出)与客户端122相连。
服务器140可以包括Web服务器。服务器140也可以包括反向代理服务器和业务服务器。其中,业务服务器也称为真实服务器。
服务器140用于接收客户端122发送的HTTP请求,并根据接收到的HTTP请求向客户端122反馈HTTP响应。
在本发明实施例中,服务器140是具有对HTTP请求的业务处理功能,而不具有对HTTP请求的拒绝服务攻击防御功能的服务器。
服务器140还用于对终端120发送的HTTP请求进行封装,得到封装后的HTTP请求,将封装后的HTTP请求发送至防护设备160,并在预设时间段内接收防护设备160反馈的安全防护结果。
可选的,服务器140内置有转发模块142,服务器140通过该转发模块142采用异步方式工作,发送封装后的HTTP请求和接收防护设备160反馈的安全防护结果。
在一个示意性的例子中,1、服务器140接收客户端122发送的HTTP请求;2、服务器140对HTTP请求进行封装得到封装后的HTTP请求;3、服务器140通过该转发模块142向防护设备160发送封装后的HTTP请求;4、服务器140通过转发设备142接收防护设备160反馈的安全防护结果。5、服务器140根据安全防护结果向客户端122发送HTTP响应。
服务器140与防护设备160之间可以通过无线网络或者有线网络通信。
防护设备160可以是一台设备,也可以是由若干台设备组成的设备集群。本实施例对此不加以限定。
防护设备160用于对服务器140发送的封装后的HTTP请求进行安全防护检测,得到安全防护结果,并将安全防护结果反馈至服务区140。安全防护结果用于指示服务器140接收到的HTTP请求是否合法。
防护设备160具有对服务器140接收到的HTTP请求进行拒绝服务攻击防御的功能。
可选的,防护设备160也称CC防护系统,用于对服务器140接收到的HTTP请求进行CC攻击防御。
请参考图2,其示出了本发明一个实施例提供的拒绝服务攻击防御方法的流程图。本实施例以该拒绝服务攻击防御方法应用于图1所示出的实施环境来举例说明。该拒绝服务攻击防御方法包括:
步骤201,服务器接收客户端发送的HTTP请求。
可选的,客户端与服务器建立HTTP连接后,客户端向服务器发送HTTP请求,对应的,服务器接收客户端发送的HTTP请求。
可选的,客户端与服务器建立HTTP连接之前,客户端会向服务器发送握手请求信息。对应的,服务器接收到该握手请求信息,根据握手请求信息向客户端发送用于指示握手完成的确认信息,此时客户端与服务器建立HTTP连接。
该HTTP请求可以是基于HTTP协议的请求,即以明文形式传输的HTTP请求。该HTTP请求也可以称为HTTPS请求,是基于HTTPS协议的请求,即以加密形式传输的HTTP请求。
当服务器通过代理设备与客户端相连时,服务器通过代理设备接收客户端发送的HTTP请求,该HTTP请求携带有客户端的源网络之间互连的协议(Internet Protocol,IP)地址。
当服务器直接与客户端相连时,服务器接收客户端发送的HTTP请求,该HTTP请求不携带客户端的源IP地址。
步骤202,服务器对HTTP请求进行封装得到封装后的HTTP请求。
服务器对HTTP请求进行封装得到封装后的HTTP请求,该封装后的HTTP请求包括客户端的源IP地址。
可选的,服务器获取客户端的源IP地址,将客户端的源IP地址封装至HTTP请求,得到封装后的HTTP请求。
当HTTP请求为基于HTTP协议的请求时,服务器获取客户端的源IP地址,将客户端的源IP地址封装至HTTP请求中,得到封装后的HTTP请求。
当HTTP请求为基于HTTPS协议的请求时,服务器对HTTP请求进行解密得到解密后的HTTP请求,服务器获取客户端的源IP地址,将客户端的源IP地址封装至解密后的HTTP请求中得到封装后的HTTP请求。下面实施例中仅以HTTP请求为HTTPS请求为例进行说明。
步骤203,服务器向防护设备发送封装后的HTTP请求,封装后的HTTP请求用于指示防护设备检测HTTP请求是否合法。
服务器向防护设备发送封装后的HTTP请求,封装后的HTTP请求用于指示防护设备检测HTTP请求是否合法。
服务器通过内置的转发模块向防护设备发送封装后的HTTP请求。
步骤204,防护设备接收服务器发送的封装后的HTTP请求。
其中,封装后的HTTP请求是对客户端发送的HTTP请求进行封装得到的请求。
防护设备接收服务器通过转发模块发送的封装后的HTTP请求。
步骤205,防护设备根据封装后的HTTP请求,检测HTTP请求的合法性。
可选的,HTTP请求携带有客户端的源IP地址和第一校验信息。防护设备从封装后的HTTP请求中获取客户端的源IP地址和第一校验信息,根据客户端的源IP地址和第一校验信息,检测HTTP请求的合法性。
可选的,第一校验信息是客户端随机生成的校验信息,或者是客户端根据上一次HTTP请求时服务器返回的HTTP响应,通过执行该HTTP响应中的人机识别程序生成的校验信息。
需要说明的是,防护设备检测HTTP请求的合法性的过程可参考下面实施例中的相关细节,在此先不介绍。
步骤206,当检测出HTTP请求不合法时防护设备生成第一HTTP回应报文,第一HTTP回应报文携带有人机识别程序。
当防护设备检测出HTTP请求不合法时,生成第一HTTP回应报文,该第一HTTP回应报文用于指示HTTP请求不合法;当防护设备检测出HTTP请求合法时,生成第二HTTP回应报文,该第二HTTP回应报文用于指示HTTP请求合法。
第一HTTP回应报文携带有人机识别程序,人机识别程序为用于实现人机交互的计算机程序。示意性的,人机识别程序为JavaScript程序。在本发明实施例中,人机识别程序也称为HTTPS算法页面。
人机识别程序用于检测客户端是否为傀儡机的客户端。即当客户端不是正常客户端而是傀儡机的客户端时,无法执行人机识别程序。
步骤207,防护设备将第一HTTP回应报文发送至服务器。
防护设备将携带有人机识别程序的第一HTTP回应报文发送至服务器。
步骤208,服务器接收防护设备发送的第一HTTP回应报文。
其中,第一HTTP回应报文用于指示HTTP请求不合法,第一HTTP回应报文携带有人机识别程序,人机识别程序用于检测客户端是否为傀儡机的客户端。
步骤209,服务器向客户端发送携带有人机识别程序的第一HTTP响应,第一HTTP响应用于指示客户端根据人机识别程序发送重请求。
服务器获取第一HTTP回应报文中的人机识别程序,生成携带有人机识别程序的第一HTTP响应,向客户端发送该第一HTTP响应。
对应的,客户端接收到服务器发送的第一HTTP响应,根据第一HTTP响应生成重请求,该重请求为重新发送的HTTP请求。客户端向服务器发送重请求,参考上述步骤201至步骤209,服务器和防护设备继续对该重请求进行拒绝服务攻击防御的步骤。
综上所述,本发明实施例通过服务器接收客户端发送的HTTP请求,对HTTP请求进行封装得到封装后的HTTP请求,向防护设备发送封装后的HTTP请求,对应的,防护设备检测接收到的HTTP请求是否合法,当HTTP请求不合法检测出HTTP请求不合法时向服务器发送携带有人机识别程序的第一HTTP回应报文;当服务器接收到第一HTTP回应报文时向客户端发送携带有人机识别程序的第一HTTP响应,第一HTTP响应用于指示客户端根据人机识别程序发送重请求;一方面,使得将相关技术中服务器的业务功能和安全防护功能进行充分解耦,采用与服务器相连的防护设备对HTTP请求的合法性进行检测,在降低了服务器的负载压力的同时,最大限度地提升了拒绝服务攻击的防御效果;另一方面,通过当防护设备检测出HTTP请求不合法时通过向客户端发送人机识别程序,使得客户端根据人机识别程序发送重请求,进而使得后续服务器和防护设备可以对重请求进行进一步的信任检查,避免了相关技术中在对拒绝服务攻击进行防御的过程中正常客户端发送的HTTP请求容易被误杀的情况。
此外,本发明实施例提供的拒绝服务攻击防御方法可复用,防护设备易于更新扩容,减少了运维成本和迭代成本。而且该拒绝服务攻击防御方法不仅适用于基于HTTPS协议的Web服务器或反向代理服务器,还能兼容基于HTTP协议的Web服务器或反向代理服务器。
请参考图3,其示出了本发明另一个实施例提供的拒绝服务攻击防御方法的流程图。本实施例以该拒绝服务攻击防御方法应用于图1所示出的实施环境来举例说明。该拒绝服务攻击防御方法包括:
步骤301,客户端向服务器发送HTTP请求。
客户端生成HTTP请求,使用指定加密密钥对HTTP请求进行加密,并向服务器发送已加密的HTTP请求。
可选的,客户端中存储有与该服务器对应的密钥对。该密钥对包括指定加密密钥和指定解密密钥。示意性的,指定加密密钥和指定解密密钥可以是相同的密钥,也可以是不同的密钥。本发明实施例对此不加以限定。
步骤302,服务器接收客户端发送的HTTP请求。
服务器接收客户端发送的已加密的HTTP请求。
步骤303,服务器对HTTP请求进行解密得到解密后的HTTP请求。
服务器采用指定解密密钥对HTTP请求进行解密,得到HTTP请求头和HTTP请求体。
可选的,服务器中存储有与该客户端对应的密钥对。该密钥对包括指定加密密钥和指定解密密钥。示意性的,指定加密密钥和指定解密密钥可以是相同的密钥,也可以是不同的密钥。本发明实施例对此不加以限定。
步骤304,服务器获取客户端的IP地址。
服务器获取客户端的源IP地址,包括但不限于以下两种可能的实现方式:
在一种可能的实现方式中,当服务器通过代理设备与客户端相连时,从HTTP请求中获取客户端的源IP地址。
当服务器通过代理设备与客户端相连时,服务器通过代理设备接收客户端发送的HTTP请求,该HTTP请求携带有客户端的源IP地址。服务器从HTTP请求中获取客户端的源IP地址。
在另一种可能的实现方式中,当服务器直接与客户端相连时,获取与服务器相连的客户端的源IP地址。
当服务器直接与客户端相连时,即服务器与客户端之间没有其他代理设备,服务器可以直接获取到与之相连的客户端的源IP地址。
步骤305,服务器将客户端的源IP地址封装至解密后的HTTP请求中,得到封装后的HTTP请求。
可选的,服务器将源IP地址与HTTP请求头进行封装,得到封装后的HTTP请求。
可选的,服务器将源IP地址、HTTP请求头和HTTP请求体进行封装,得到封装后的HTTP请求。
步骤306,服务器向防护设备发送封装后的HTTP请求。
可选的,为了保证数据的可靠性,当封装后的HTTP请求小于容量阈值时,服务器采用用户数据报协议(User Datagram Protocol,UDP)通信向防护设备发送封装后的HTTP请求。当封装后的HTTP请求大于或者等于容量阈值时,服务器采用传输控制协议TCP(Transmission Control Protocol,TCP)通信向防护设备发送封装后的HTTP请求。
其中,容量阈值是服务器默认设置的阈值。示意性的,容量阈值为60KB。本实施例对容量阈值的大小不加以限定。
可选的,为了保证业务稳定,服务器记录向防护设备发送封装后的HTTP请求的发送时刻,当在发送时刻之后的最大请求反馈时间段内未接收到防护设备反馈的信息时,为了优先保证业务不被误杀,默认该HTTP请求是合法的,透传该封装后的HTTP请求。
其中,最大请求反馈时间段是服务器默认设置的阈值。示意性的,最大请求反馈时间段为20ms。本实施例对最大请求反馈时间段的大小不加以限定。
可选的,服务器通过内置的转发模块向防护设备发送封装后的HTTP请求。
步骤307,防护设备接收服务器发送的封装后的HTTP请求。
防护设备接收服务器通过内置的转发模块发送的封装后的HTTP请求。
步骤308,防护设备根据封装后的HTTP请求,检测HTTP请求是否合法。
当防护设备检测出HTTP请求合法时,执行步骤309;当防护设备检测出HTTP请求不合法时,执行步骤312。
步骤309,当防护设备检测出HTTP请求合法时,向服务器发送第二HTTP回应报文。
当满足第一预设条件时防护设备检测出HTTP请求合法,向服务器发送第二HTTP回应报文,该第二HTTP回应报文用于指示HTTP请求合法。
第一预设条件包括客户端的源IP地址命中信任名单或者第一校验信息与第二校验信息一致。第一校验信息是封装后的HTTP请求中携带的校验信息,第二校验信息是防护设备根据源IP地址采用不可逆算法计算得到的校验信息。
需要说明的是,当满足第一预设条件时防护设备检测出HTTP请求合法的过程可参考下面实施例中的相关细节,在此先不介绍。
步骤310,服务器接收防护设备发送的第二HTTP回应报文。
步骤311,服务器向客户端发送第二HTTP响应,第二HTTP响应携带有用于指示正常访问的返回码。
当服务器接收到防护设备发送的第二HTTP回应报文时向客户端发送第二HTTP响应。即当服务器接收到防护设备发送的第二HTTP回应报文时,生成第二HTTP响应,向客户端发送该第二HTTP响应。
可选的,服务器根据预存的用于指示正常访问的返回码生成第二HTTP响应,对第二HTTP响应进行加密得到加密后的第二HTTP响应,向客户端发送加密后的第二HTTP响应。
可选的,服务器生成第二HTTP响应,包括:获取第二HTTP回应报文对应的客户端的源IP地址,根据预设对应关系获取与源IP地址对应的返回码,预设对应关系包括源IP地址与返回码之间的对应关系。该返回码用于指示该源IP地址对应的客户端可以正常访问该服务器。
在一种可能的实现方式中,当服务器包括反向代理服务器和业务服务器时,反向代理服务器将解密后的HTTP请求发送至业务服务器,解密后的HTTP请求用于指示业务服务器生成并反馈第二HTTP响应。对应的,业务服务器接收解密后的HTTP请求,生成携带有用于指示正常访问的返回码的第二HTTP响应,将该第二HTTP响应发送至反向代理服务器。反向代理服务器接收业务服务器发送的第二HTTP响应,对第二HTTP响应进行加密得到加密后的第二HTTP响应,反向代理服务器向客户端发送加密后的第二HTTP响应。
步骤312,当防护设备检测出HTTP请求不合法时,向服务器发送第一HTTP回应报文,第一HTTP回应报文携带有人机识别程序。
当防护设备检测出HTTP请求不合法时,生成用于指示HTTP请求不合法的第一HTTP回应报文,向服务器发送第一HTTP回应报文。其中,第一HTTP回应报文用于指示HTTP请求不合法。
可选的,当满足第二预设条件时防护设备检测出HTTP请求不合法,第二预设条件包括客户端的源IP地址不命中信任名单、第一校验信息与第二校验信息不一致和封装后的HTTP请求中未携带校验信息中的一种。
第一校验信息是封装后的HTTP请求中携带的校验信息,第二校验信息是防护设备根据源IP地址采用不可逆算法计算得到的校验信息。
第一HTTP回应报文携带有人机识别程序,人机识别程序中封装有与第一校验信息不一致的第二校验信息。使得当客户端是傀儡机的客户端时,无法执行人机识别程序,也就无法根据人机识别程序生成正确的校验信息。
需要说明的是,当满足第二预设条件时防护设备检测出HTTP请求不合法的过程可参考下面实施例中的相关细节,在此先不介绍。
步骤313,服务器从第一HTTP回应报文中获取人机识别程序,人机识别程序中封装有与第一校验信息不一致的第二校验信息。
服务器接收防护设备发送的第一HTTP回应报文,从第一HTTP回应报文中获取人机识别程序。
其中,人机识别程序中封装有与第一校验信息不一致的第二校验信息,第二校验信息是防护设备根据源IP地址采用不可逆算法计算得到的校验信息。
步骤314,服务器生成携带有人机识别程序的第一HTTP响应,向客户端发送第一HTTP响应。
可选的,当服务器接收到防护设备发送的第一HTTP回应报文时,从第一HTTP回应报文中获取人机识别程序,生成携带有人机识别程序的第一HTTP响应,对第一HTTP响应进行加密得到加密后的第一HTTP响应,向客户端发送加密后的第一HTTP响应。
步骤315,客户端接收第一HTTP响应,根据第一HTTP响应中携带的人机识别程序发送重请求。
可选的,当客户端接收到第一HTTP响应时,执行第一HTTP响应中的人机识别程序,生成人机识别程序对应的校验信息,根据校验信息生成重请求,向服务器发送该重请求,继续执行上述拒绝服务攻击防御方法的步骤。
客户端生成人机识别程序对应的校验信息,包括但不限于以下两种可能的实现方式:
在一种可能的实现方式中,该人机识别程序中携带有校验信息,客户端从人机识别程序中提取校验信息。
在另一种可能的实现方式中,客户端获取人机识别程序中的校验相关内容,向验证服务器发送校验相关内容。对应的,验证服务器根据接收到的校验相关内容采用指定算法计算得到校验信息,向客户端反馈该校验信息。对应的,客户端接收到验证服务器反馈的校验信息。其中,验证服务器是第三方服务器,用于对验证相关内容进行计算的服务器。
可选的,若客户端为傀儡机的客户端即被黑客远程控制的客户端,则无法响应第一HTTP响应中的人机识别程序,也就无法生成人机识别程序对应的正确的校验信息,通常会继续发起用于拒绝服务攻击的重请求。
在一个示意性的例子中,如图4所示,以服务器为Web服务器或反向代理服务器,防护设备为CC防护设备,HTTP请求为HTTPS请求为例进行说明。Web客户端和服务器完成SSL握手之后,1、Web客户端发起HTTPS请求2、服务器对HTTPS请求进行解密。3、服务器将解密后的HTTP请求发送给CC防护设备,解密后的HTTP请求封装有Web客户端的源IP地址。4、CC防护设备对解密后的HTTP请求进行检测和防护。5、当源IP地址未命中信任名单时CC防护设备根据源IP地址采用CRC算法计算得到校验信息A,当解密后的HTTP请求中携带的校验信息B与校验信息A不一致时,CC防护设备将校验信息封装到一段人机识别程序中得到人机识别算法页面,向服务器返回人机识别算法页面。6、服务器对人机识别算法页面进行加密,向Web客户端反弹加密后的人机识别算法页面。
基于图4提供的例子,如图5所示,若Web客户端为正常客户端,则当Web客户端接收到服务器反弹的加密后的人机识别算法页面时,执行人机识别算法页面生成校验信息A。1、正常客户端根据校验信息A重新发起HTTPS重请求。2、服务器对HTTPS重请求解密后,得到解密后的HTTPS重请求。3、将源IP地址封装到解密后的HTTPS重请求中,并将封装后的HTTPS重请求发送给CC防护设备。4、CC防护设备从封装后的HTTPS重请求中解析出源IP地址,同时解析出封装后的HTTPS重请求中携带的校验信息A。当源IP地址未命中信任名单时,CC防护设备根据源IP地址采用CRC算法计算得到校验信息C,当校验信息A和校验信息C一致时,CC防护设备将源IP地址添加至信任名单。5、CC防护设备向服务器发送用于指示HTTP请求合法的回应报文。6、若服务器为反向代理服务器则反向代理服务器将解密后的HTTP请求发送至业务服务器即真实服务器。7、真实服务器反馈正常HTTP响应。8、不论是反向代理服务器还是Web服务器,在获取到对正常HTTP响应后均对正常HTTP响应进行加密,得到加密后的HTTP响应。9、服务器向Web客户端发送加密后的HTTP响应。
可选的,上述步骤308包括但不限于以下几个步骤,如图6所示:
步骤601,防护设备判断客户端的源IP地址是否命中信任名单。
防护设备从封装后的HTTP请求中获取客户端的源IP地址,判断客户端的源IP地址命中信任名单,即客户端的源IP地址是否在信任名单中。若客户端的源IP地址命中信任名单,则执行步骤309;若客户端的源IP地址未命中信任名单,则执行步骤602。
可选的,防护设备预先存储有信任名单,该信任名单中存储有n个可信任的客户端的IP地址。
步骤602,当客户端的源IP地址未命中信任名单时,防护设备根据源IP地址采用不可逆算法计算得到第二校验信息。
当客户端的源IP地址未命中信任名单时,防护设备根据源IP地址采用不可逆算法计算得到哈希值,将哈希值确定为第二校验信息。
其中,不可逆算法也称不可逆加密算法。不可逆算法可以是信息-摘要算法5(Message-Digest Algorithm 5,MD5)算法,也可以是循环冗余校验码(Cyclic RedundancyCheck,CRC)算法。
可选的,不可逆算法是防护设备预先设置的算法,客户端侧和服务器侧无法获取防护设备中用于计算第二校验信息的不可逆算法。
可选的,防护设备根据源IP地址采用CRC算法计算得一个32位的哈希值,将32位的哈希值确定为第二校验信息。
步骤603,防护设备判断第一校验信息与第二校验信息是否一致。
防护设备获取封装后的HTTP请求中携带的第一校验信息,判断第一校验信息与计算得到的第二校验信息是否一致。若一致,则执行步骤604;若不一致,则执行步骤605。
步骤604,当第一校验信息与第二校验信息一致时,防护设备将源IP地址添加至信任名单中。
当第一校验信息与第二校验信息一致时,防护设备确定HTTP请求合法,防护设备将源IP地址添加至信任名单中,执行步骤309。
需要说明的是,防护设备将源IP地址添加至信任名单中的步骤和步骤309即防护设备向服务器发送第二HTTP回应报文的步骤可以并列执行,也可以不分先后顺序的执行。本实施例对此不加以限定。
步骤605,当第一校验信息与第二校验信息不一致时,防护设备将第二校验信息封装到人机识别程序中。
可选的,当第一校验信息与第二校验信息不一致时,防护设备确定HTTP请求不合法,当检测出HTTP请求不合法时,防护设备将第二校验信息封装到人机识别程序中。
人机识别程序为用于实现人机交互的计算机程序。示意性的,人机识别程序为JavaScript程序。
步骤606,防护设备生成携带有人机识别程序的第一HTTP回应报文。
防护设备在将第二校验信息封装到人机识别程序中后,根据人机识别程序生成第一HTTP回应报文。该第一HTTP回应报文携带有人机识别程序。
防护设备生成携带有人机识别程序的第一HTTP回应报文之后,执行步骤312。
综上所述,本发明实施例还通过服务器接收防护设备发送的第一HTTP回应报文,第一HTTP回应报文携带有人机识别程序,服务器根据人机识别程序生成第一HTTP响应,对第一HTTP响应进行加密得到加密后的第一HTTP响应,向客户端发送加密后的第一HTTP响应;若客户端为傀儡机的客户端则不会执行人机识别程序,通常仍会继续发起用于拒绝服务攻击的重请求,相应的由防护设备继续反弹携带有人机识别程序的第一HTTP回应报文,有效地防御了傀儡机对服务器的拒绝服务攻击。
本发明实施例还通过客户端获取人机识别程序中的校验相关内容,向验证服务器发送校验相关内容。对应的,验证服务器根据接收到的校验相关内容采用指定算法计算得到校验信息,向客户端反馈该校验信息;使得通过客户端和验证码服务器交互得到校验信息,提升了人机识别准确性。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图7,其示出了本发明一个实施例提供的拒绝服务攻击防御装置的结构示意图。该拒绝服务攻击防御装置可以通过专用硬件电路,或者,软硬件的结合实现成为图1中的服务器的全部或一部分,该拒绝服务攻击防御装置包括:转发模块710和处理模块720。
转发模块710,用于实现上述步骤201和/或步骤302。
处理模块720,用于实现上述步骤202。
转发模块710,还用于实现上述步骤203和/或步骤306。
转发模块710,还用于实现上述步骤208。
转发模块710,还用于实现上述步骤209。
可选的,封装后的HTTP请求中携带有客户端的源IP地址和第一校验信息;转发模块710,还用于实现上述步骤313和步骤314。
可选的,HTTP请求为基于HTTPS协议的HTTP请求,转发模块710,还用于对第一HTTP响应进行加密得到加密后的第一HTTP响应;向客户端发送加密后的第一HTTP响应,加密后的第一HTTP响应用于指示客户端执行人机识别程序得到第二校验信息,根据第二校验信息发送重请求。
可选的,HTTP请求为基于HTTPS协议的HTTP请求,转发模块710,还用于实现上述步骤303至步骤305。
可选的,服务器包括网站服务器或者反向代理服务器,防护设备为用于防御CC攻击的CC防护设备。
相关细节可结合参考图2至图6所示的方法实施例。其中,转发模块710还用于实现上述方法实施例中其他任意隐含或公开的与转发步骤相关的功能;处理模块720,用于实现上述方法实施例中其他任意隐含或公开的与处理步骤相关的功能。
请参考图8,其示出了本发明另一个实施例提供的拒绝服务攻击防御装置的结构示意图。该拒绝服务攻击防御装置可以通过专用硬件电路,或者,软硬件的结合实现成为图1中的终端的全部或一部分,该拒绝服务攻击防御装置包括:接收模块810、检测模块820、生成模块830和发送模块840。
接收模块810,用于实现上述步骤204和/或步骤307。
检测模块820,用于实现上述步骤205和/或步骤308。
生成模块830,用于实现上述步骤206。
发送模块840,用于实现上述步骤207和/或步骤312。
可选的,封装后的HTTP请求携带有客户端的源IP地址和第一校验信息;检测模块820,还用于当客户端的源IP地址未命中信任名单时,根据源IP地址采用不可逆算法计算得到第二校验信息;当第一校验信息与第二校验信息不一致时,确定HTTP请求不合法;生成模块830,还用于当检测出HTTP请求不合法时,将第二校验信息封装到人机识别程序中;生成携带有人机识别程序的第一HTTP回应报文。
可选的,发送模块840,还用于当第一校验信息与第二校验信息一致时,将源IP地址添加至信任名单中;向服务器发送第二HTTP回应报文,第二HTTP回应报文用于指示HTTP请求合法。
可选的,服务器包括网站服务器或者反向代理服务器,防护设备为用于防御CC攻击的CC防护设备。
相关细节可结合参考图2至图6所示的方法实施例。其中,接收模块810还用于实现上述方法实施例中其他任意隐含或公开的与接收步骤相关的功能;检测模块820,用于实现上述方法实施例中其他任意隐含或公开的与检测步骤相关的功能;生成模块830还用于实现上述方法实施例中其他任意隐含或公开的与生成步骤相关的功能;发送模块840,用于实现上述方法实施例中其他任意隐含或公开的与发送步骤相关的功能。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述各个方法实施例提供的拒绝服务攻击防御方法。
本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的拒绝服务攻击防御方法。
本申请还提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例中由终端执行的拒绝服务攻击防御方法。
图9示出了本发明一个示例性实施例提供的终端900的结构框图。该终端900可以是:智能手机、平板电脑、MP3播放器、MP4播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:处理器901和存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器901所执行以实现本申请中方法实施例提供的拒绝服务攻击防御方法。
在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、触摸显示屏905、摄像头906、音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制触摸显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或触摸显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在触摸显示屏905的下层时,由处理器901根据用户对触摸显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制触摸显示屏905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏905的显示亮度;当环境光强度较低时,调低触摸显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制触摸显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制触摸显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请还提供了一种服务器,该服务器包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的拒绝服务攻击防御方法。
请参考图10,其示出了本发明一个实施例提供的服务器的结构框架图。所述服务器1000包括中央处理单元(CPU)1001、包括随机存取存储器(RAM)1002和只读存储器(ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。所述服务器1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
所述基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为服务器1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者CD-ROI驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1001执行,一个或多个程序包含用于实现上述拒绝服务攻击防御方法的指令,中央处理单元1001执行该一个或多个程序实现上述各个方法实施例提供的拒绝服务攻击防御方法。
根据本发明的各种实施例,所述服务器1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1000可以通过连接在所述系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的拒绝服务攻击防御方法中由服务器1000所执行的步骤。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的拒绝服务攻击防御方法中全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种拒绝服务攻击防御方法,其特征在于,用于与防护设备相连的服务器中,所述方法,包括:
接收客户端发送的超文本传输协议HTTP请求;
对所述HTTP请求进行封装得到封装后的HTTP请求;
向所述防护设备发送所述封装后的HTTP请求,所述封装后的HTTP请求用于指示所述防护设备检测所述HTTP请求是否合法;
接收所述防护设备发送的第一HTTP回应报文,所述第一HTTP回应报文用于指示所述HTTP请求不合法,所述第一HTTP回应报文携带有人机识别程序,所述人机识别程序用于检测所述客户端是否为傀儡机的客户端;
向所述客户端发送携带有所述人机识别程序的第一HTTP响应,所述第一HTTP响应用于指示所述客户端根据所述人机识别程序发送重请求,其中,所述客户端获取所述人机识别程序中的校验相关内容并发送给验证服务器,根据所述验证服务器反馈的校验信息生成所述重请求,所述验证服务器反馈的校验信息由所述验证服务器根据所述校验相关内容采用指定算法计算得到。
2.根据权利要求1所述的方法,其特征在于,所述封装后的HTTP请求中携带有所述客户端的源IP地址和第一校验信息;
所述向所述客户端发送携带有所述人机识别程序的第一HTTP响应,包括:
从所述第一HTTP回应报文中获取所述人机识别程序,所述人机识别程序中封装有与所述第一校验信息不一致的第二校验信息,所述第二校验信息是所述防护设备根据所述源IP地址采用不可逆算法计算得到的校验信息;
生成携带有所述人机识别程序的所述第一HTTP响应;
向所述客户端发送所述第一HTTP响应。
3.根据权利要求2所述的方法,其特征在于,所述HTTP请求为基于安全套接字层超文本传输HTTPS协议的HTTP请求,所述向所述客户端发送所述第一HTTP响应,包括:
对所述第一HTTP响应进行加密得到加密后的第一HTTP响应;
向所述客户端发送所述加密后的第一HTTP响应,所述加密后的第一HTTP响应用于指示所述客户端执行所述人机识别程序得到所述第二校验信息,根据所述第二校验信息发送重请求。
4.根据权利要求1所述的方法,其特征在于,所述HTTP请求为基于安全套接字层超文本传输HTTPS协议的HTTP请求,所述对所述HTTP请求进行封装得到封装后的HTTP请求,包括:
对所述HTTP请求进行解密得到解密后的HTTP请求;
获取所述客户端的源IP地址;
将所述客户端的所述源IP地址封装至所述解密后的HTTP请求中,得到所述封装后的HTTP请求。
5.根据权利要求1至3任一所述的方法,其特征在于,所述服务器包括网站服务器或者反向代理服务器,所述防护设备为用于防御挑战黑洞CC攻击的CC防护设备。
6.一种拒绝服务攻击防御方法,其特征在于,用于与服务器相连的防护设备中,所述方法,包括:
接收所述服务器发送的封装后的超文本传输协议HTTP请求,所述封装后的HTTP请求是对客户端发送的HTTP请求进行封装得到的请求;
根据所述封装后的HTTP请求,检测所述HTTP请求的合法性;
当检测出所述HTTP请求不合法时生成第一HTTP回应报文,所述第一HTTP回应报文携带有人机识别程序,所述人机识别程序用于检测所述客户端是否为傀儡机的客户端;
将所述第一HTTP回应报文发送至所述服务器,由所述服务器向所述客户端发送携带有所述人机识别程序的第一HTTP响应,所述第一HTTP响应用于指示所述客户端根据所述人机识别程序发送重请求,其中,所述客户端获取所述人机识别程序中的校验相关内容并发送给验证服务器,根据所述验证服务器反馈的校验信息生成所述重请求,所述验证服务器反馈的校验信息由所述验证服务器根据所述校验相关内容采用指定算法计算得到。
7.根据权利要求6所述的方法,其特征在于,所述封装后的HTTP请求携带有所述客户端的源IP地址和第一校验信息;
所述根据所述封装后的HTTP请求,检测所述HTTP请求的合法性,包括:
当所述客户端的所述源IP地址未命中信任名单时,根据所述源IP地址采用不可逆算法计算得到第二校验信息;
当所述第一校验信息与所述第二校验信息不一致时,确定所述HTTP请求不合法;
所述当检测出所述HTTP请求不合法时生成所述第一HTTP回应报文,包括:
当检测出所述HTTP请求不合法时,将所述第二校验信息封装到所述人机识别程序中;
生成携带有所述人机识别程序的所述第一HTTP回应报文。
8.根据权利要求7所述的方法,其特征在于,所述方法,还包括:
当所述第一校验信息与所述第二校验信息一致时,将所述源IP地址添加至所述信任名单中;
向所述服务器发送第二HTTP回应报文,所述第二HTTP回应报文用于指示所述HTTP请求合法。
9.根据权利要求6至8任一所述的方法,其特征在于,所述服务器包括网站服务器或者反向代理服务器,所述防护设备为用于防御挑战黑洞CC攻击的CC防护设备。
10.一种拒绝服务攻击防御装置,其特征在于,用于与防护设备相连的服务器中,所述装置包括:
转发模块,用于接收客户端发送的超文本传输协议HTTP请求;
处理模块,用于对所述HTTP请求进行封装得到封装后的HTTP请求;
所述转发模块,还用于向所述防护设备发送所述封装后的HTTP请求,所述封装后的HTTP请求用于指示所述防护设备检测所述HTTP请求是否合法;
所述转发模块,还用于接收所述防护设备发送的第一HTTP回应报文,所述第一HTTP回应报文用于指示所述HTTP请求不合法,所述第一HTTP回应报文携带有人机识别程序,所述人机识别程序用于检测所述客户端是否为傀儡机的客户端;
所述转发模块,还用于向所述客户端发送携带有所述人机识别程序的第一HTTP响应,所述第一HTTP响应用于指示所述客户端根据所述人机识别程序发送重请求,其中,所述客户端获取所述人机识别程序中的校验相关内容并发送给验证服务器,根据所述验证服务器反馈的校验信息生成所述重请求,所述验证服务器反馈的校验信息由所述验证服务器根据所述校验相关内容采用指定算法计算得到。
11.一种拒绝服务攻击防御装置,其特征在于,用于与服务器相连的防护设备中,所述装置,包括:
接收模块,用于接收所述服务器发送的封装后的超文本传输协议HTTP请求,所述封装后的HTTP请求是对客户端发送的HTTP请求进行封装得到的请求;
检测模块,用于根据所述封装后的HTTP请求,检测所述HTTP请求的合法性;
生成模块,用于当检测出所述HTTP请求不合法时生成第一HTTP回应报文,所述第一HTTP回应报文携带有人机识别程序,所述人机识别程序用于检测所述客户端是否为傀儡机的客户端;
发送模块,用于将所述第一HTTP回应报文发送至所述服务器,由所述服务器向所述客户端发送携带有所述人机识别程序的第一HTTP响应,所述第一HTTP响应用于指示所述客户端根据所述人机识别程序发送重请求,其中,所述客户端获取所述人机识别程序中的校验相关内容并发送给验证服务器,根据所述验证服务器反馈的校验信息生成所述重请求,所述验证服务器反馈的校验信息由所述验证服务器根据所述校验相关内容采用指定算法计算得到。
12.一种服务器,其特征在于,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至5任一所述的拒绝服务攻击防御方法。
13.一种防护设备,其特征在于,所述防护设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求6至9任一所述的拒绝服务攻击防御方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至9任一所述的拒绝服务攻击防御方法。
CN201810768091.1A 2018-07-13 2018-07-13 拒绝服务攻击防御方法、装置、设备和存储介质 Active CN108810019B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810768091.1A CN108810019B (zh) 2018-07-13 2018-07-13 拒绝服务攻击防御方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810768091.1A CN108810019B (zh) 2018-07-13 2018-07-13 拒绝服务攻击防御方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
CN108810019A CN108810019A (zh) 2018-11-13
CN108810019B true CN108810019B (zh) 2020-12-01

Family

ID=64076449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810768091.1A Active CN108810019B (zh) 2018-07-13 2018-07-13 拒绝服务攻击防御方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN108810019B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385270A (zh) * 2018-12-29 2020-07-07 北京奇虎科技有限公司 基于waf的网络攻击检测方法及装置
CN111385271A (zh) * 2018-12-29 2020-07-07 北京奇虎科技有限公司 网络攻击的检测方法、装置及系统
CN110798451A (zh) * 2019-09-29 2020-02-14 新华三信息安全技术有限公司 一种安全认证的方法及装置
CN111083704A (zh) * 2019-11-02 2020-04-28 上海六联智能科技有限公司 一种5g网络安全防御系统
CN113872976B (zh) * 2021-09-29 2023-06-02 绿盟科技集团股份有限公司 一种基于http2攻击的防护方法、装置及电子设备
CN113992749B (zh) * 2021-10-08 2024-05-14 浪潮云信息技术股份公司 一种基于go语言的http反向代理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989268A (zh) * 2015-03-02 2016-10-05 苏宁云商集团股份有限公司 一种人机识别的安全访问方法和系统
CN106101191A (zh) * 2016-05-31 2016-11-09 乐视控股(北京)有限公司 一种网页访问方法、客户端及服务端
CN106446020A (zh) * 2016-08-29 2017-02-22 携程计算机技术(上海)有限公司 基于浏览器内置爬虫系统的指纹识别实现方法
CN106487747A (zh) * 2015-08-26 2017-03-08 阿里巴巴集团控股有限公司 用户识别方法、系统、装置及处理方法、装置
CN108055241A (zh) * 2017-11-15 2018-05-18 滨州市工商行政管理局 一种cc攻击的防御方法及系统

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9137229B2 (en) * 2011-02-01 2015-09-15 Nokia Technologies Oy Method and apparatus for a multi-party CAPTCHA
US9104854B2 (en) * 2011-08-17 2015-08-11 Qualcomm Incorporated Method and apparatus using a CAPTCHA having visual information related to the CAPTCHA's source
CN102957682A (zh) * 2011-08-30 2013-03-06 北京百度网讯科技有限公司 一种用于基于验证安全等级提供图片验证码的方法与设备
JP6181558B2 (ja) * 2012-01-06 2017-08-16 キャピーインク キャプチャ提供方法及びプログラム
CN103634284B (zh) * 2012-08-24 2017-08-25 阿里巴巴集团控股有限公司 一种网络flood攻击的侦测方法及装置
CN103888490B (zh) * 2012-12-20 2018-03-13 上海天泰网络技术有限公司 一种全自动的web客户端人机识别的方法
CN103986690B (zh) * 2014-04-03 2017-08-04 北京京东尚科信息技术有限公司 一种处理客户端请求的方法和装置
US10489563B2 (en) * 2014-05-05 2019-11-26 Swipe Ads Holdings Pty. Ltd. Method and system for incorporating marketing in user authentication
US9749305B1 (en) * 2014-08-28 2017-08-29 Amazon Technologies, Inc. Malicious client detection based on usage of negotiable protocols
US9710637B2 (en) * 2015-08-28 2017-07-18 Salesforce.Com, Inc. Unicode-based image generation and testing
CN106612277B (zh) * 2016-12-09 2020-05-12 武汉斗鱼网络科技有限公司 一种利用密码盘实现验证码验证的方法及系统
CN107241306B (zh) * 2017-01-06 2020-11-06 深圳市九州安域科技有限公司 一种人机识别方法、服务端、客户端及人机识别系统
CN107295022A (zh) * 2017-08-23 2017-10-24 四川长虹电器股份有限公司 一种基于人机识别的客户端认证方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989268A (zh) * 2015-03-02 2016-10-05 苏宁云商集团股份有限公司 一种人机识别的安全访问方法和系统
CN106487747A (zh) * 2015-08-26 2017-03-08 阿里巴巴集团控股有限公司 用户识别方法、系统、装置及处理方法、装置
CN106101191A (zh) * 2016-05-31 2016-11-09 乐视控股(北京)有限公司 一种网页访问方法、客户端及服务端
CN106446020A (zh) * 2016-08-29 2017-02-22 携程计算机技术(上海)有限公司 基于浏览器内置爬虫系统的指纹识别实现方法
CN108055241A (zh) * 2017-11-15 2018-05-18 滨州市工商行政管理局 一种cc攻击的防御方法及系统

Also Published As

Publication number Publication date
CN108810019A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
CN108810019B (zh) 拒绝服务攻击防御方法、装置、设备和存储介质
JP7338044B2 (ja) 顔画像送信方法、値転送方法、装置および電子機器
US20210336780A1 (en) Key updating method, apparatus, and system
CN109600223B (zh) 验证方法、激活方法、装置、设备及存储介质
RU2697645C1 (ru) Способ защиты сообщений и соответствующее устройство и система
CN108833607B (zh) 物理地址获取方法、装置及可读介质
CN107968783B (zh) 流量管理方法、装置、终端及计算机可读存储介质
CN112003879B (zh) 用于虚拟场景的数据传输方法、计算机设备及存储介质
KR102435780B1 (ko) 분산 시스템에서 노드에 대한 제어 방법 및 관련 장치
CN112073421B (zh) 通信处理方法、装置、终端及存储介质
CN108769992B (zh) 用户认证方法、装置、终端及存储介质
CN107959727B (zh) 网页与客户端之间进行通讯的方法及装置
CN110417710B (zh) 攻击数据捕获方法、装置及存储介质
US10454905B2 (en) Method and apparatus for encrypting and decrypting picture, and device
CN111404991A (zh) 获取云服务的方法、装置、电子设备及介质
CN108616835B (zh) 基于浏览器的网络资源获取方法、装置、系统及存储介质
CN107302526B (zh) 系统接口调用方法、设备和计算机可读存储介质
CN113821821B (zh) 安全架构系统、安全架构系统的密码运算方法和计算设备
CN109995704B (zh) 广告拦截方法、装置、设备及计算机可读存储介质
CN111062725A (zh) 人脸支付方法、装置及系统、计算机可读存储介质
CN113726521A (zh) 通信方法、装置、电子设备及可读存储介质
CN108737341B (zh) 业务处理方法、终端及服务器
CN115329309A (zh) 验证方法、装置、电子设备及存储介质
CN111447132B (zh) 数据传输方法、装置、系统以及计算机存储介质
WO2017000237A1 (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