CN102291378B - 一种防御DDoS攻击的方法和设备 - Google Patents
一种防御DDoS攻击的方法和设备 Download PDFInfo
- Publication number
- CN102291378B CN102291378B CN201010211444.1A CN201010211444A CN102291378B CN 102291378 B CN102291378 B CN 102291378B CN 201010211444 A CN201010211444 A CN 201010211444A CN 102291378 B CN102291378 B CN 102291378B
- Authority
- CN
- China
- Prior art keywords
- message
- length
- certification
- authentification failure
- server
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出一种防御分布式拒绝服务(DDoS)攻击的方法和设备,其中方法包括:计算服务器向客户端发送的认证回应报文的长度,所述计算的方式为:分别获取所述认证回应报文的前一条报文和后一条报文中的TCP确认号(ACK)的值,计算所述后一条报文中的TCP ACK的值与所述前一条报文中的TCP ACK的值的差,该差值为所述认证回应报文的长度;将所述认证回应报文的长度与预先保存的认证成功报文的长度或认证失败报文的长度进行比较,识别该认证回应报文是否为认证失败报文,如果是,则服务器丢弃所述客户端的连接请求。本发明能够区分出攻击设备和正常设备,从而防御对E-mail服务器的DDoS攻击。
Description
技术领域
本发明涉及分布式拒绝服务(DDoS,Distributed Deny of Service)技术领域,尤其涉及一种防御DDoS攻击的方法和设备。
背景技术
随着Internet的发展,网络应用越来越多,由于互联网自身设计的开放性,各种网络应用都受到安全威胁。其中,DDoS攻击就是一种常见的攻击服务器的手段,攻击者控制大量傀儡机(此时傀儡机作为攻击设备)向被攻击的服务器发起大量的连接,占用了服务器的资源,导致服务器不能很好的服务于正常设备。
在这种背景下,产生了流量清洗设备,专门用于识别客户端是攻击设备还是正常设备,并将攻击流量过滤掉,使之不能达到服务器,以减轻对服务器的影响。然而,为了部署上的方便,现在的流量清洗设备一般采用单向引流的方式,这就为识别攻击增加了一些困难。
目前,常用的电子邮件协议有简单邮件传输协议(SMTP,Simple MessageTransfer Protocol)和邮局协议3(POP3,Post Office Protocol 3)。电子邮件(E-mail)服务器可能受到SMTP DDoS攻击或POP3DDoS攻击,现有技术中,主要采用防御SYN Flood的方法来防御SMTP DDoS攻击或POP3 DDoS攻击。防御SYN Flood的方法可以区分出非法的TCP连接,并通过SMTP/POP3状态机区分出非法的SMTP/POP3连接;然而,这种SYN Flood的方法只是对不完整的SMTP/POP3客户端(即不能完成TCP三次握手、或者不能完成合法的SMTP/POP3状态机的客户端)有效,而现有的DDoS攻击一般采用控制大量傀儡机的方式,这种方式都有完整的SMTP/POP3客户端对服务器进行攻击。因此,对于通过控制大量傀儡机对服务器进行的SMTP DDoS攻击或POP3
DDoS攻击,现有的防御方式已失去防御作用,无法完整地区分出攻击设备(即傀儡机)和正常设备。
发明内容
本发明提供了一种防御DDoS攻击的方法,用于区分出攻击设备和正常设备,从而防御对E-mail服务器的DDoS攻击。
本发明还提供了一种防御DDoS攻击的设备,用于区分出攻击设备和正常设备,从而防御对E-mail服务器的DDoS攻击。
本发明的技术方案是这样实现的:
一种防御DDoS攻击的方法,包括:
计算服务器向客户端发送的认证回应报文的长度,所述计算的方式为:分别获取所述认证回应报文的前一条报文和后一条报文中的TCP ACK的值,计算所述后一条报文中的TCP ACK的值与所述前一条报文中的TCP ACK的值的差,该差值为所述认证回应报文的长度;
将所述认证回应报文的长度与预先保存的认证成功报文的长度或认证失败报文的长度进行比较,识别该认证回应报文是否为认证失败报文,如果是,则服务器丢弃所述客户端的连接请求。
一种防御DDoS攻击的设备,所述设备与服务器连接,设备包括:计算模块、保存模块、识别模块和处理模块;其中,
所述计算模块,用于计算服务器向客户端发送的认证回应报文的长度,所述计算的方式为:分别获取所述认证回应报文的前一条报文和后一条报文中的TCP ACK的值,计算所述后一条报文中的TCP ACK的值与所述前一条报文中的TCP ACK的值的差,该差值为所述认证回应报文的长度;
保存模块,用于预先保存认证成功报文的长度或认证失败报文的长度;
识别模块,用于将所述认证回应报文的长度与预先保存的认证成功报文的长度或认证失败报文的长度进行比较,识别该认证回应报文是否为认证失败报文,如果是,则通知所述处理模块;
所述处理模块,用于当收到认证回应报文是认证失败报文的通知时,指示服务器丢弃所述客户端的连接请求。
可见,本发明提出的防御DDoS攻击的方法和设备,通过TCP ACK之差识别出服务器对客户端认证成功还是失败,如果认证失败,则说明该客户端很有可能是攻击设备,则丢弃该客户端的连接请求,从而防御对E-mail服务器的DDoS攻击。
附图说明
图1为本发明防御DDoS攻击的方法流程图;
图2为现有技术中一种典型的SMTP认证过程;
图3为本发明防御DDoS攻击的设备结构示意图。
具体实施方式
在现有的Internet中,出于安全考虑,绝大部分E-mail服务器都要求对客户端进行认证,例如,要求客户端输入正确的用户名和密码。而攻击者控制的傀儡机不可能掌握大量的真实用户来进行攻击,所以,服务器对傀儡机(即攻击设备)的认证是失败的。因此,通过认证结果就能够区分出客户端是攻击设备还是正常设备,从而防御攻击设备的DDoS攻击。并且,对于同一个服务器,其向客户端发送的认证成功报文和认证失败报文的长度是固定的,通过计算认证回应报文的长度,并将该认证回应报文的长度与预先保存的认证成功报文或认证失败报文的长度进行比较,就能够区分出该认证回应报文是认证成功报文还是认证失败报文。攻击者也可能在其控制的傀儡机中使用少量的真实用户,这种情况可以通过限制每个用户发起请求的频度来限制。
基于上述思路,本发明提出一种防御DDoS攻击的方法,如图1为本发明防御DDoS攻击的方法流程图,该方法包括:
步骤101:计算服务器向客户端发送的认证回应报文的长度;
步骤102:将所述认证回应报文的长度与预先保存的认证成功报文的长度或认证失败报文的长度进行比较,识别该认证回应报文是否为认证失败报文,如果是,则服务器丢弃所述客户端的连接请求。
上述步骤101可以包括:
分别获取所述认证回应报文的前一条报文和后一条报文中的TCP确认号(ACK)的值,计算所述后一条报文中的TCPACK的值与所述前一条报文中的TCP ACK的值的差,该差值即为所述认证回应报文的长度。
上述步骤102中的识别过程可以包括:
将认证回应报文的长度与预先保存的认证失败报文的长度进行比较,当认证回应报文的长度与认证失败报文的长度相同时,识别出该认证回应报文是认证失败报文;
或者,将认证回应报文的长度与预先保存的认证成功报文的长度进行比较,当认证回应报文的长度与认证成功报文的长度相同时,识别出该认证回应报文不是认证失败报文。
这里,服务器可以通过手工配置或者学习的方式得到认证成功报文和认证失败报文的长度。正常情况下,服务器发送的认证成功报文多于认证失败报文,利用这一规律,可以通过服务器发送的认证回应报文长度的分布情况,得到认证成功报文和认证失败报文的长度。例如,假定在一定时间内统计出服务器向外发送的认证回应报文有1000条,其中长度为100字节的有980条,长度为60字节的有20条,根据这些报文长度的分布情况,可以得出认证成功报文的长度为100字节,认证失败报文的长度为60字节。
上述步骤102之后可以进一步包括:
当服务器丢弃该客户端的连接请求的次数超过预先设定的门限时,可以将该客户端的IP地址加入黑名单中,在预先设定的时间段内不再处理来自该客户端的报文。
以下在具体的SMTP认证过程中,详细介绍本发明提出的防御DDoS攻击的方法。
如图2为现有技术中一种典型的SMTP认证过程,包括:
步骤201:客户端向服务器发送报文1,即AUTH LOGIN报文,请求服务器对其进行认证。
步骤202:服务器向客户端发送报文2,要求客户端输入用户名。
步骤203:客户端向服务器发送报文3,携带该客户端的用户名。
步骤204:服务器向客户端发送报文4,要求客户端输入密码。
步骤205:客户端向服务器发送报文5,携带该客户端的密码。
步骤206:服务器向客户端发送报文6,即认证回应报文,该认证回应报文可能是认证成功报文、也可能是认证失败报文。
步骤207:客户端向服务器发送报文7,继续其他请求。
在背景技术部分已经提过,现有的流量清洗设备一般采用单向引流的方式进行过滤,也就是说,现有的流量清洗设备只能识别出报文1、3、5、7这些客户端发送至服务器的报文,而无法识别报文2、4、6这些服务器发送至客户端的报文,所以也就无法识别出服务器对客户端的认证结果是认证成功还是认证失败。
而本发明提出的防御DDoS的方法,可以通过认证回应报文(即报文6)的后一条报文(即报文7)的TCK ACK和前一条报文(即报文5)的TCK ACK的差计算出报文6的长度。
之后,将报文6的长度与预先报文的认证失败报文或认证成功报文的长度进行比较,识别出报文6是否为认证失败报文,如果是,则说明该客户端有可能是攻击设备,服务器则丢弃该客户端的连接请求,并可以在多次丢弃其连接请求后将该客户端放入黑名单,有效防御该客户端的攻击。
除了AUTH LOGIN认证方式,还有其他的认证方式,如AUTHCRAM-MD5,AUTH PLAIN等,都可以通过本发明提出的方式识别出攻击设备,从而有效防御攻击设备的攻击。
对于POP3DDoS攻击,本发明可以采用同样的方法进行防御。
本发明还提出一种防御DDoS攻击的设备,所述设备与服务器连接,如图3为本发明防御DDoS攻击的设备结构示意图,该设备包括:计算模块301、保存模块302、识别模块303和处理模块304;其中,
所述计算模块301,用于计算服务器向客户端发送的认证回应报文的长度,所述计算的方式为:分别获取所述认证回应报文的前一条报文和后一条报文中的TCP ACK的值,计算所述后一条报文中的TCP ACK的值与所述前一条报文中的TCP ACK的值的差,该差值为所述认证回应报文的长度;
保存模块302,用于预先保存认证成功报文的长度或认证失败报文的长度;
识别模块303,用于将所述认证回应报文的长度与预先保存的认证成功报文的长度或认证失败报文的长度进行比较,识别该认证回应报文是否为认证失败报文,如果是,则通知所述处理模块304;
所述处理模块304,用于当收到认证回应报文是认证失败报文的通知时,指示服务器丢弃所述客户端的连接请求。
上述保存模块302可以预先保存认证失败报文的长度;
上述识别模块303识别认证回应报文是否为认证失败报文的方式可以为:将认证回应报文的长度与所述认证失败报文的长度进行比较,当认证回应报文的长度与认证失败报文的长度相同时,识别出该认证回应报文是认证失败报文;
或者,
所述保存模块302可以预先保存认证成功报文的长度;
上述识别模块303识别认证回应报文是否为认证失败报文的方式可以为:将认证回应报文的长度与所述认证成功报文的长度进行比较,当认证回应报文的长度与认证成功报文的长度相同时,识别出该认证回应报文不是认证失败报文。
上述设备可以进一步包括:
锁定模块305,用于当服务器丢弃客户端的连接请求的次数超过预先设定的门限时,指示所述服务器在预先设定的时间段内不再处理来自所述客户端的报文。
综上可见,本发明提出的防御DDoS攻击的方法和设备,能够在单向流量清洗环境中通过TCP ACK之差识别出服务器对客户端认证成功还是失败,当认证失败时,则丢弃该客户端的连接请求,从而防御攻击设备对E-mail服务器的DDoS攻击。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (6)
1.一种防御分布式拒绝服务DDoS攻击的方法,其特征在于,所述方法包括:
计算服务器向客户端发送的认证回应报文的长度,所述计算的方式为:分别获取所述认证回应报文的前一条报文和后一条报文中的TCP确认号ACK的值,计算所述后一条报文中的TCP ACK的值与所述前一条报文中的TCP ACK的值的差,该差值为所述认证回应报文的长度;
将所述认证回应报文的长度与预先保存的认证成功报文的长度或认证失败报文的长度进行比较,识别该认证回应报文是否为认证失败报文,如果是,则服务器丢弃所述客户端的连接请求。
2.根据权利要求1所述的方法,其特征在于,所述识别认证回应报文是否为认证失败报文的方式为:
将认证回应报文的长度与预先保存的认证失败报文的长度进行比较,当认证回应报文的长度与认证失败报文的长度相同时,识别出该认证回应报文是认证失败报文;
或者,将认证回应报文的长度与预先保存的认证成功报文的长度进行比较,当认证回应报文的长度与认证成功报文的长度相同时,识别出该认证回应报文不是认证失败报文。
3.根据权利要求1或2所述的方法,其特征在于,所述服务器丢弃该客户端的连接请求之后,进一步包括:
当服务器丢弃该客户端的连接请求的次数超过预先设定的门限时,在预先设定的时间段内不再处理来自所述客户端的报文。
4.一种防御DDoS攻击的设备,所述设备与服务器连接,其特征在于,所述设备包括:计算模块、保存模块、识别模块和处理模块;其中,
所述计算模块,用于计算服务器向客户端发送的认证回应报文的长度,所述计算的方式为:分别获取所述认证回应报文的前一条报文和后一条报文中的TCP ACK的值,计算所述后一条报文中的TCP ACK的值与所述前一条报文中的TCP ACK的值的差,该差值为所述认证回应报文的长度;
保存模块,用于预先保存认证成功报文的长度或认证失败报文的长度;
识别模块,用于将所述认证回应报文的长度与预先保存的认证成功报文的长度或认证失败报文的长度进行比较,识别该认证回应报文是否为认证失败报文,如果是,则通知所述处理模块;
所述处理模块,用于当收到认证回应报文是认证失败报文的通知时,指示服务器丢弃所述客户端的连接请求。
5.根据权利要求4所述的设备,其特征在于,所述保存模块预先保存认证失败报文的长度;
所述识别模块识别认证回应报文是否为认证失败报文的方式为:将认证回应报文的长度与所述认证失败报文的长度进行比较,当认证回应报文的长度与认证失败报文的长度相同时,识别出该认证回应报文是认证失败报文;
或者,
所述保存模块预先保存认证成功报文的长度;
所述识别模块识别认证回应报文是否为认证失败报文的方式为:将认证回应报文的长度与所述认证成功报文的长度进行比较,当认证回应报文的长度与认证成功报文的长度相同时,识别出该认证回应报文不是认证失败报文。
6.根据权利要求4或5所述的设备,其特征在于,所述设备进一步包括:
锁定模块,用于当服务器丢弃客户端的连接请求的次数超过预先设定的门限时,指示所述服务器在预先设定的时间段内不再处理来自所述客户端的报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010211444.1A CN102291378B (zh) | 2010-06-18 | 2010-06-18 | 一种防御DDoS攻击的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010211444.1A CN102291378B (zh) | 2010-06-18 | 2010-06-18 | 一种防御DDoS攻击的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102291378A CN102291378A (zh) | 2011-12-21 |
CN102291378B true CN102291378B (zh) | 2014-07-02 |
Family
ID=45337491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010211444.1A Expired - Fee Related CN102291378B (zh) | 2010-06-18 | 2010-06-18 | 一种防御DDoS攻击的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102291378B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105187359B (zh) * | 2014-06-17 | 2018-06-08 | 阿里巴巴集团控股有限公司 | 检测攻击客户端的方法和装置 |
CN106657126B (zh) * | 2017-01-05 | 2019-11-08 | 盛科网络(苏州)有限公司 | 检测及防御DDoS攻击的装置及方法 |
CN107547505B (zh) * | 2017-06-21 | 2020-04-03 | 新华三技术有限公司 | 一种报文处理方法及装置 |
CN111949568B (zh) * | 2020-07-31 | 2023-07-21 | 新华三半导体技术有限公司 | 一种报文处理方法、装置及网络芯片 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047697A (zh) * | 2006-03-29 | 2007-10-03 | 华为技术有限公司 | 针对web服务器进行DDOS攻击的防御方法和设备 |
CN101087187A (zh) * | 2007-05-22 | 2007-12-12 | 网御神州科技(北京)有限公司 | 一种基于用户的安全访问控制的方法及装置 |
-
2010
- 2010-06-18 CN CN201010211444.1A patent/CN102291378B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101047697A (zh) * | 2006-03-29 | 2007-10-03 | 华为技术有限公司 | 针对web服务器进行DDOS攻击的防御方法和设备 |
CN101087187A (zh) * | 2007-05-22 | 2007-12-12 | 网御神州科技(北京)有限公司 | 一种基于用户的安全访问控制的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102291378A (zh) | 2011-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Foster et al. | Security by any other name: On the effectiveness of provider based email security | |
US8370937B2 (en) | Handling of DDoS attacks from NAT or proxy devices | |
US9438592B1 (en) | System and method for providing unified transport and security protocols | |
CN101378395B (zh) | 一种防止拒绝访问攻击的方法及装置 | |
CN101404579B (zh) | 一种防止网络攻击的方法及装置 | |
AU2005207632B2 (en) | Upper-level protocol authentication | |
EP2426853B1 (en) | Platform authentication method suitable for trusted network connect architecture based on tri-element peer authentication | |
Bellovin | A look back at" security problems in the tcp/ip protocol suite | |
EP2357771A1 (en) | Trusted network connect handshake method based on tri-element peer authentication | |
WO2010048838A1 (zh) | 网络认证方法、客户端请求认证的方法、客户端和装置 | |
EP2464079A1 (en) | Method for authenticating communication traffic, communication system and protection apparatus | |
Gilad et al. | Off-Path Attacking the Web. | |
Gilad et al. | Off-path TCP injection attacks | |
CN109327426A (zh) | 一种防火墙攻击防御方法 | |
CN111970308A (zh) | 一种防护SYN Flood攻击的方法、装置及设备 | |
EP3711274A1 (en) | Message queuing telemetry transport (mqtt) data transmission method, apparatus, and system | |
CN102291378B (zh) | 一种防御DDoS攻击的方法和设备 | |
Priyadharshini et al. | Prevention of DDOS attacks using new cracking algorithm | |
Nir et al. | Protecting internet key exchange protocol version 2 (ikev2) implementations from distributed denial-of-service attacks | |
Gilad et al. | When tolerance causes weakness: the case of injection-friendly browsers | |
Djalaliev et al. | Sentinel: hardware-accelerated mitigation of bot-based DDoS attacks | |
US10079857B2 (en) | Method of slowing down a communication in a network | |
Park et al. | An effective defense mechanism against DoS/DDoS attacks in flow-based routers | |
Shaw | Leveraging good intentions to reduce unwanted network traffic | |
EP2109279A1 (en) | Method and system for mitigation of distributed denial of service attacks using geographical source and time information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CP03 | Change of name, title or address | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140702 Termination date: 20200618 |
|
CF01 | Termination of patent right due to non-payment of annual fee |