CN109995760A - Http洪水攻击的防御方法与系统 - Google Patents
Http洪水攻击的防御方法与系统 Download PDFInfo
- Publication number
- CN109995760A CN109995760A CN201910165864.1A CN201910165864A CN109995760A CN 109995760 A CN109995760 A CN 109995760A CN 201910165864 A CN201910165864 A CN 201910165864A CN 109995760 A CN109995760 A CN 109995760A
- Authority
- CN
- China
- Prior art keywords
- client
- identifying code
- message
- http
- flood attack
- 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.)
- Pending
Links
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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/101—Access control lists [ACL]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
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)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明旨在提出一种HTTP洪水攻击的防御方法与系统,利用HTTP协议302重定向原理,通过验证客户端的返回报文的合法性识别出攻击与正常请求,正常用户能够接收并返回正确的验证码给防御设备进行验证,而攻击工具不具备回应重定向报文或返回正确验证码的功能,从而能够对混合流量中的HTTP Flood流量进行完全过滤,而且不会妨碍正常用户的使用。
Description
技术领域
本发明属于计算机网络安全技术领域, 具体是防御HTTP类型的分布式拒绝服务攻击的方法与系统。
背景技术
互联网的发展带来各行各业信息化进程的加速,也给人们的生活带来翻天覆地的变化,但是伴随而来的,是各类网络攻击导致的安全问题。分布式拒绝服务攻击(DDos:Distributed Deny of Service)就是一种常见的具有较强破坏性且难以防止和追查的攻击方式,简单来讲,攻击者在短时间内通过大量计算机产生大规模的非法请求或垃圾数据,意图淹没目标服务器或网络。
HTTP服务(超文本传输协议,Hyper Text Transfer Protocol,简称“HTTP”)是最基本也是最主要的服务类型之一,对HTTP 服务进行攻击,会造成用户无法成功进行访问。
面向Web服务器的HTTP Flood攻击(也称HTTP洪水攻击),攻击目标多是Web服务器的某些昂贵操作,例如,攻击者用大量的HTTP请求促使服务器运行复杂的程序,诸如复杂的数据处理、密码计算与验证等,从而影响正常用户的请求响应。这种攻击的特点是,不具备明显特征、伪装性强、攻击代价低,而且传统技术难以防御。
目前,防御HTTP Flood攻击的方法主要是基于重定向,具体地讲,在客户端与服务器之间设置防御设备,客户端与服务器建立TCP连接后,为访问URL而开始向服务器发送HTTP请求消息,防御设备获取到所述HTTP请求信息后,对所述HTTP请求信息进行重定向以生成重定向HTTP请求消息,并将所述重定向HTTP请求信息发送至客户端,这里需要说明的是,根据HTTP的相关规定,客户端获取到防御设备发出的重定向HTTP请求信息后,会根据重定向HTTP请求信息再次发送另一HTTP请求信息,在没有HTTP Flood攻击的前提下,当防御设备所获取的来自客户端的另一HTTP请求信息是防御设备发给客户端的重定向HTTP请求信息时,认为重定向成功返回;若否,说明客户端进行了HTTP Flood攻击,由防御设备发送TCP断开信息至服务器,由服务器断开先前建立的客户端与服务器的TCP连接,以此来防御客户端对服务器的HTTP Flood攻击。该方案的问题在于,当黑客利用浏览器进行HTTPFlood攻击时, 浏览器会执行HTTP的相关规定,能发送具有攻击意图的HTTP请求信息,并且能返回具有攻击意图的重定向HTTP请求信息,从而防御设备无法识别。
发明内容
为了克服上述的现有防御方法无法有效防御HTTP类型的洪水攻击的问题,本发明旨在提出一种HTTP洪水攻击的防御方法与系统,通过验证客户端的返回报文的合法性识别出攻击与正常请求,具体技术方案如下。
首先,一种HTTP洪水攻击的防御方法,包括A至D四个步骤:
步骤A、获取客户端的第一次HTTP请求,并保存该请求报文的原URL;提取保存原URL后丢弃该第一次HTTP请求报文。
步骤B、获取并修改客户端的重传报文,生成带第一验证码的第一重定向报文并发送至客户端,所述第一验证码为随机生成。
步骤C、若客户端返回报文,则提取返回报文中的第二验证码,如第二验证码正确,则验证通过,向客户端发送第二重定向报文,第二重定向报文指向步骤A中的原URL;
优选的,若验证通过,将该客户端加入动态白名单,所述动态白名单包括客户端IP、服务器IP及服务端口,对于已被加入动态白名单的客户端的后续请求报文,不再验证;
进一步的,已被加入动态白名单的客户端,距离前一次请求的间隔时长超限后,需要重新验证;动态白名单超过有效时长后将清空。
步骤D、若客户端未返回报文或返回报文中不包括第二验证码或第二验证码不正确,则验证不通过并中断客户端的请求;
优选的,若第二验证码不正确,中断客户端的请求前先重复步骤B;进一步的,所述重复步骤B,至少进行三轮,若最后一轮重复步骤B后,仍验证不通过,则中断客户端的请求。
对于步骤C 与步骤D,第二验证码正确,是指与第一验证码一致或与第一验证码的关系符合预设规则,否则为不正确。
所述客户端包括Web浏览器,用于显示第一验证码并提交第二验证码,当客户端收到第一验证码时,Web浏览器可以显示,根据显示输入并提交第二验证码。
本发明还提供一种HTTP洪水攻击的防御系统,包括客户端与防御端。
客户端,用于发送第一次HTTP请求报文、重传报文,接收第一重定向报文,提交返回报文及第二验证码至防御端,接收第二重定向报文;优选的,所述客户端包括Web浏览器,用于显示收到的第一验证码,并提交第二验证码。
防御端,用于获取第一次HTTP请求报文、重传报文,从第一次HTTP请求报文中提取并保存原URL,修改重传报文、生成带第一验证码的第一重定向报文并发送至客户端,第一验证码为随机生成;获取客户端的返回报文及第二验证码,如第二验证码正确,则将客户端加入动态白名单,并向客户端发送指向原URL的第二重定向报文;如第二验证码不正确,则中断客户端的请求;对于已被加入动态白名单的客户端后续请求报文,不再验证。
采用以上技术方案的本发明,利用HTTP协议302重定向原理,通过验证码的方式进行防御,正常用户能够接收并返回正确的验证码给防御设备进行验证,而攻击工具不具备回应重定向报文或返回正确验证码的功能,从而能够对混合流量中的HTTP Flood流量进行完全过滤,而且不会妨碍正常用户的使用。
附图说明
图1为本发明的HTTP洪水攻击的防御方法,具体实施流程示意图;
图2为本发明的HTTP洪水攻击的防御系统的实施例一,对正常用户的请求的处理流程示意图;
图3为本发明的HTTP洪水攻击的防御系统的实施例二,对攻击者的请求的处理流程示意图;
图4为本发明的HTTP洪水攻击的防御方法与系统中,防御设备发送至客户端的带验证码的第一重定向报文的信令图300;
图5为本发明的HTTP洪水攻击的防御方法与系统中,客户端通过验证后,防御设备发送至客户端的重定向至原URL的第二重定向报文的信令图400。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进行详细说明。
首先结合图1说明HTTP洪水攻击的防御方法。
步骤100,HTTP服务属于TCP(传输控制协议,Transfer Control Protocol,简称“TCP”)连接类型,客户端(设备)向服务器发起请求报文,称为同步序列编号报文(Synchronize Sequence Numbers,简称“SYN”),然后服务器回复同步应答报文(Synchronize Sequence Numbers Acknowledgment,简称“SYN ACK”),客户端再次发送应答报文(ACK),此时客户端与服务器认为连接已经建立,开始在这个会话中进行数据传输,此过程称为TCP的三次握手。在此过程中,服务器会为每一个客户端分配Socket等资源,并且服务器的资源总量受其自身的限制,是存在上限的。超过这个上限之后,服务器将不能为新的客户端分配资源,也即不能为新的客户端提供服务了,因此就需要防御攻击者长期占用该连接资源。
在客户端与服务器之间设置防御设备。
步骤210,TCP的三次握手完成后,客户端会向服务器发起第一次HTTP请求,该请求报文被防御设备截获,提取并保存报文中的原URL后丢弃该报文。
步骤220,按照TCP协议,正常客户端会重新向服务器发送请求,称为重传报文,同样被防御设备截获,这一次对该重传报文进行改造,添加随机验证码后生成HTTP回应报文,称为第一重定向报文;防御设备将该第一重定向报文发送至客户端;所述的随机验证码可以是当前时间戳或其他随机字符。
步骤230,客户端收到第一重定向报文后会进行解析,解析后可以得到第一验证码,按照预设规则对第一验证码进行运算可得第二验证码并提交返回报文至防御设备进行步骤250;
所述预设规则可以从防御设备的规则库中随机抽取,每个规则的运算结果应为唯一,规则随第一重定向报文同时发送至客户端,客户端应按照规则对第一验证码进行处理得到唯一正确结果;
如果第一重定向报文带有验证码界面,假设预设规则为“保持一致”,客户端包括Web浏览器,则浏览器可以看到客户端接收并解析得到的第一验证码,按照预设规则,应提交与第一验证码的内容完全一致的第二验证码。
在步骤230中,如果客户端没有返回报文,则进行步骤240,即防御设备通知服务器中断客户端的连接请求,以节约服务器有限的连接资源。
步骤250,防御设备收到客户端的返回报文后,确认该返回报文中是否含有验证码,如果不含验证码,同样的进行步骤240,防御设备通知服务器中断客户端的连接请求,以节约服务器有限的连接资源;如果防御设备确认返回报文中含有验证码,则进行步骤260。
步骤260,防御设备解析收到的客户端的返回报文,解析得到第二验证码,根据预设规则验证是否正确,如正确则进行步骤270;如验证不正确,则进行步骤240,防御设备通知服务器中断客户端的连接请求,以节约服务器有限的连接资源。
需要说明的是,对于步骤230、250、260,如客户端未返回报文或返回报文不含验证码或返回的第二验证码不正确,可以重复进行步骤220若干次(例如3次)后再通知服务器中断客户端的连接请求,以防止因前述不正常情况为其他原因导致的客户端未正确返回报文,避免中断正常用户的请求,即避免误判。
步骤270,验证通过后,防御设备向客户端发送第二重定向报文,该报文指向在步骤210保存的客户端的原目标URL,使客户端与服务器之间正常通信。
步骤280,对于验证通过的客户端,防御设备将客户端IP、服务器IP及服务端口等作为一个标记加入动态白名单。
步骤290,加入白名单后的客户端的后续报文,防御设备不再验证,直接转至服务器,客户端在一定时长内可正常访问服务器站点。
需要说明的是,动态白名单设置间隔时限与有效时长,已列入白名单的客户端,距离前一次请求的间隔时长超限后需要重新验证,动态白名单超过有效时长后将清空,可以进一步有效防止利用白名单内的客户端发起攻击。
上述步骤210至270的过程是基于HTTP协议的302重定向原理实现的攻击防御,即在步骤210将客户端的请求报文重定向至验证页面,验证通过后,在步骤270又重定向回客户端的最初目标URL。
HTTP洪水攻击的防御系统,包括客户端与防御端。
客户端,用于发送第一次HTTP请求报文、重传报文,接收第一重定向报文,提交返回报文及第二验证码至防御端,接收第二重定向报文;优选的,所述客户端包括Web浏览器,用于显示收到的第一验证码,并提交第二验证码。
防御端,用于获取第一次HTTP请求报文、重传报文,从第一次HTTP请求报文中提取并保存原URL,修改重传报文、生成带第一验证码的第一重定向报文并发送至客户端,第一验证码为随机生成;获取客户端的返回报文及第二验证码,如第二验证码正确,则将客户端加入动态白名单,并向客户端发送指向原URL的第二重定向报文;如第二验证码不正确,则中断客户端的请求;对于已被加入动态白名单的客户端后续请求报文,不再验证。
以下结合实施例对HTTP洪水攻击的防御系统进一步说明。
实施例一
如图2所示,对正常用户的验证流程,
首先,防御设备截获正常用户的第一次HTTP请求(请求访问“www.xxx.com”),记录原URL后丢弃报文。
其次,验证过程包括:
正常用户重新发起请求后,防御设备改造该重传报文,加入随机验证码后将该请求重定向至验证界面;
正常用户在其浏览器输入正确的验证码后提交至防御设备进行验证,验证通过,则将该正常用户(设备)信息加入动态白名单;
防御设备将保存的正常用户的原URL(最初目标URL)重定向至用户。
最后,用户与服务器之间实现正常访问,因为该用户(设备)已被加入白名单,则用户之后的HTTP请求不再进行验证。
实施例二
如图3所示,对攻击者的防御流程。
首先,防御设备截获攻击者的第一次HTTP请求(请求访问“www.xxx.com”),记录原URL后丢弃报文。
其次,防御过程包括:
攻击者重新发起请求后,防御设备改造该重传报文,加入随机验证码后将该请求重定向至验证界面;
由于攻击者发出的HTTP洪水报文,不具备查看相应验证码或返回正确随机验证码的功能,而是重复的发起请求访问“www.xxx.com”;
因为没有回传正确的验证码,该攻击者(设备)始终无法通过防御设备的验证,且对其发起的请求报文,防御设备都做了丢弃处理;
如经过若干次(例如3次)丢弃后,攻击者(设备)仍未正确返回验证码,则防御设备可以通知服务器断开与攻击者(设备)的连接。
如图4所示,防御设备发送至客户端的带验证码的第一重定向报文的信令图,图中300标记表示该报文中含有验证码页面。
如图5所示,防御设备发送至客户端的重定向至原URL的第二重定向报文信令图,图中400标记表示该报文中含有“原URL”。
如上所述,,本发明所提供的技术方案,实现了精准拦截HTTP洪水攻击,而不影响正常流量,具有零误判的特点。
虽然通过某些优选实施例,已经对本发明的技术方案进行了图示和描述,但本领域的技术人员应该明白,在形式和细节上对其作各种各样的改变,均不偏离本发明的技术方案所限定范围。
Claims (10)
1.HTTP洪水攻击的防御方法,其特征在于,包括以下步骤:
A获取客户端的第一次HTTP请求,并保存该请求报文的原URL;
B获取并修改客户端的重传报文,生成带第一验证码的第一重定向报文并发送至客户端,所述第一验证码为随机生成;
C若客户端返回报文,则提取返回报文中的第二验证码,如第二验证码正确,则验证通过,向客户端发送第二重定向报文,第二重定向报文指向步骤A中的原URL;
D若客户端未返回报文或返回报文中不包括第二验证码或第二验证码不正确,则验证不通过并中断客户端的请求。
2.根据权利要求1所述HTTP洪水攻击的防御方法,其特征在于,步骤C与步骤D,第二验证码正确,是指与第一验证码一致或与第一验证码的关系符合预设规则,否则为不正确。
3.根据权利要求1或2所述HTTP洪水攻击的防御方法,其特征在于,若验证通过,将该客户端加入动态白名单,所述动态白名单包括客户端IP、服务器IP及服务端口,对于已被加入动态白名单的客户端的后续请求报文,不再验证。
4.根据权利要求3所述HTTP洪水攻击的防御方法,其特征在于,已被加入动态白名单的客户端,距离前一次请求的间隔时长超限后,需要重新验证;动态白名单超过有效时长后将清空。
5.根据权利要求1或2所述HTTP洪水攻击的防御方法,其特征在于,步骤D,若第一验证码与第二验证码验证不通过,中断客户端的请求前先重复步骤B。
6.根据权利要求5所述HTTP洪水攻击的防御方法,其特征在于,所述重复步骤B,至少进行三轮;若最后一轮重复步骤B后,仍验证不通过,则中断客户端的请求。
7.根据权利要求1所述HTTP洪水攻击的防御方法,其特征在于,步骤A,提取保存原URL后丢弃该第一次HTTP请求报文。
8.根据权利要求1或2所述HTTP洪水攻击的防御方法,其特征在于,所述客户端包括Web浏览器,用于显示第一验证码并提交第二验证码。
9.HTTP洪水攻击的防御系统,其特征在于,包括:
客户端,用于发送第一次HTTP请求报文、重传报文,接收第一重定向报文,提交返回报文及第二验证码至防御端,接收第二重定向报文;
防御端,用于获取客户端的第一次HTTP请求报文、重传报文,从第一次HTTP请求报文中提取并保存原URL,修改重传报文、生成带第一验证码的第一重定向报文并发送至客户端,所述第一验证码为随机生成;获取客户端的返回报文及第二验证码,如第二验证码正确,则验证通过并将客户端加入动态白名单,并向客户端发送指向原URL的第二重定向报文;如第二验证码不正确,则中断客户端的请求;对于已被加入动态白名单的客户端后续请求报文,不再验证。
10.根据权利要求9所述的HTTP洪水攻击的防御系统,其特征在于,所述客户端包括Web浏览器,用于显示第一验证码,并提交第二验证码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910165864.1A CN109995760A (zh) | 2019-03-06 | 2019-03-06 | Http洪水攻击的防御方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910165864.1A CN109995760A (zh) | 2019-03-06 | 2019-03-06 | Http洪水攻击的防御方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109995760A true CN109995760A (zh) | 2019-07-09 |
Family
ID=67130247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910165864.1A Pending CN109995760A (zh) | 2019-03-06 | 2019-03-06 | Http洪水攻击的防御方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109995760A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134960A (zh) * | 2020-09-24 | 2020-12-25 | 新华三信息安全技术有限公司 | 一种数据请求方法及装置 |
-
2019
- 2019-03-06 CN CN201910165864.1A patent/CN109995760A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134960A (zh) * | 2020-09-24 | 2020-12-25 | 新华三信息安全技术有限公司 | 一种数据请求方法及装置 |
CN112134960B (zh) * | 2020-09-24 | 2022-03-22 | 新华三信息安全技术有限公司 | 一种数据请求方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101180826B (zh) | 较高级协议认证 | |
US9807092B1 (en) | Systems and methods for classification of internet devices as hostile or benign | |
CN103067385B (zh) | 防御会话劫持攻击的方法和防火墙 | |
US9705895B1 (en) | System and methods for classifying internet devices as hostile or benign | |
US8321955B2 (en) | Systems and methods for protecting against denial of service attacks | |
CN101390064B (zh) | 利用嵌入的认证信息防止网络重置拒绝服务攻击 | |
US20140373138A1 (en) | Method and apparatus for preventing distributed denial of service attack | |
CN103347016A (zh) | 一种攻击的防御方法 | |
CN102413105A (zh) | 防范cc攻击的方法和装置 | |
EP3297243A1 (en) | Trusted login method and device | |
CN110266678B (zh) | 安全攻击检测方法、装置、计算机设备及存储介质 | |
CN102571846A (zh) | 一种转发http请求的方法及装置 | |
CN1684431A (zh) | 响应拒绝服务攻击的方法和设备 | |
CN102739683A (zh) | 一种网络攻击过滤方法及装置 | |
CN104618404A (zh) | 防止网络攻击Web服务器的处理方法、装置及系统 | |
CN105959313A (zh) | 一种防范http代理攻击的方法及装置 | |
CN109005194A (zh) | 基于kcp协议的无端口影子通信方法及计算机存储介质 | |
Gilad et al. | Off-path TCP injection attacks | |
CN110266650A (zh) | Conpot工控蜜罐的识别方法 | |
CN106487790A (zh) | 一种ack flood攻击的清洗方法及系统 | |
CN102510386B (zh) | 分布式攻击阻止方法及装置 | |
CN106789882A (zh) | 一种域名请求攻击的防御方法及系统 | |
CN109995760A (zh) | Http洪水攻击的防御方法与系统 | |
CN107786489A (zh) | 访问请求验证方法及装置 | |
EP3618396B1 (en) | Protection method and system for http flood attack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190709 |
|
WD01 | Invention patent application deemed withdrawn after publication |