CN1516033A - 防范计算机网络攻击的方法 - Google Patents

防范计算机网络攻击的方法 Download PDF

Info

Publication number
CN1516033A
CN1516033A CNA031357121A CN03135712A CN1516033A CN 1516033 A CN1516033 A CN 1516033A CN A031357121 A CNA031357121 A CN A031357121A CN 03135712 A CN03135712 A CN 03135712A CN 1516033 A CN1516033 A CN 1516033A
Authority
CN
China
Prior art keywords
host
source
syn
timer
message
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.)
Granted
Application number
CNA031357121A
Other languages
English (en)
Other versions
CN1241133C (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.)
Maipu Communication Technology Co Ltd
Original Assignee
MAIPU (SICHUAN) COMMUNICATION TECHNOLOGY 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 MAIPU (SICHUAN) COMMUNICATION TECHNOLOGY Co Ltd filed Critical MAIPU (SICHUAN) COMMUNICATION TECHNOLOGY Co Ltd
Priority to CN 03135712 priority Critical patent/CN1241133C/zh
Publication of CN1516033A publication Critical patent/CN1516033A/zh
Application granted granted Critical
Publication of CN1241133C publication Critical patent/CN1241133C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

防范计算机网络攻击的方法,涉及计算机通信技术,提供一种防范计算机网络攻击的方法,包括以下步骤:(1)拦截外来的数据包,记录源主机信息;(2)转发所述数据包至受信主机,并设置定时器(c1);(3)如果在超时前接收到来自受信主机的响应报文,记录其中身份信息,进入步骤4;如果超时尚未接收到受信主机的响应,释放步骤1记录的身份信息;(4)以步骤1记录的源主机的身份向受信主机发送响应报文;并根据步骤1记录的源主机A的身份信息,转发受信主机向源主机发送的响应报文,设置定时器(c2);(5)如果定时器(c2)超时以前收到源主机的响应报文,撤销定时器(c2),视为连接建立成功。本发明避免了half_open队列的过度消耗,降低服务器负荷,解决了SYN-FLOOD攻击对服务器的影响。

Description

防范计算机网络攻击的方法
技术领域
本发明涉及计算机通信技术,特别涉及针对DoS(Denial ofService,拒绝服务攻击)与DDoS(Distributed Denial of Service,分布式拒绝服务攻击)的安全技术。
背景技术
建立TCP连接的标准过程是这样的:首先,请求端(客户端)发送一个包含SYN标志的请求建立连接的TCP报文,SYN即同步(Synchronize),同步报文会指明客户端请求使用的服务器端口以及建立TCP连接的初始序号;第二步,服务器(或受信主机)在收到客户端的SYN报文后,将返回一个SYN+ACK的报文,表示客户端的请求被接受,同时确认序号为客户端初始序列号加1,ACK即确认(Acknowledgement)。第三步,客户端也返回一个确认报文ACK给服务器端,同样确认序列号为服务器初始序列号加1,到此一个TCP连接完成。以上的连接过程在TCP协议中被称为三次握手(Three-wayHandshake)。
TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接(half-open连接),这段时间的长度我们称为SYN Timeout(Timeout,超时),一般来说这个时间是分钟的数量级(大约为30秒-2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况,伪造不同的IP地址向服务器发出大量SYN报文,并诱使服务器向伪造的IP地址发送SYN-ACK报文,服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源----数以万计的半连接,即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃---即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况,即通常所言的SYN Flood攻击。
现有的解决方法,一种是缩短SYN Timeout时间,由于SYN Flood攻击的效果取决于服务器上保持的SYN半连接数,这个值等于SYN攻击的频度与SYN Timeout之乘积,所以通过缩短从接收到SYN报文到确定这个报文无效并丢弃该连接的时间,例如设置为20秒以下(过低的SYN Timeout设置可能会影响客户的正常访问),可以成倍的降低服务器的负荷。
第二种方法是设置SYN Cookie,就是给每一个请求连接的IP地址分配一个Cookie,如果短时间内连续收到某个IP的重复SYN报文,就认定是受到了攻击,以后从这个IP地址来的包会被一概丢弃。
上述的两种方法只能对付比较原始的SYN-Flood攻击,缩短SYNTimeout时间仅在对方攻击频度不高的情况下生效,SYN Cookie更依赖于对方使用真实的IP地址,如果攻击者以数万/秒的速度发送SYN报文,同时利用SOCK_RAW随机改写IP报文中的源地址,则无法防范。
发明内容
本发明要解决的技术问题是,提供一种防范SYN-FLOOD攻击的方法,能够阻止攻击对HALF-OPEN连接队列的过度消耗,使攻击不能成功,对服务器提供保护。
本发明解决其技术问题所采用的技术方案是,提供一种防范SYN-FLOOD攻击的方法,包括以下步骤:
(1)拦截外来的数据包,并记录所述数据包中所含的源主机A身份信息;
(2)转发所述数据包至受信主机B,并设置定时器c1;
(3)如果在定时器c1超时以前接收到来自受信主机B的响应报文a1,则记录其中的受信主机B的身份信息,并进入步骤4;如果在定时器c1超时尚未接收到来自受信主机B的响应报文a1,则释放步骤1中记录的身份信息;
(4)以步骤1记录的源主机A的身份向受信主机B发送响应报文a2;并根据步骤1记录的源主机A的身份信息,转发受信主机B向源主机A发送的响应报文a1,并设置定时器c2;
(5)如果步骤4设置的定时器c2超时以前收到源主机A的响应报文a3,即撤销定时器c2,视为连接建立成功;
如果在步骤4设置的定时器c2超时,即根据所记录的源主机A身份信息,以源主机A的身份向受信主机B发出RESET信息,撤销该连接。所述“定时器超时”是指在定时器设定的时间内未收到回应报文。
所述步骤(1)中,所述外来的数据包为TCP建连请求(SYN)报文,所述身份信息为初始序列号、源IP地址和源端口;创建TCB结构记录所述初始序列号、源IP地址和源端口,同时记录目的IP地址、目的端口以及该连接的初始状态。所述步骤(2)中,定时器c1为SYN-ACK定时器;所述步骤(3)中,所述响应数据包为SYN-ACK报文,所述受信主机B的身份信息为受信主机B的初始序列号、源IP地址和源端口。所述步骤(4)中,所述确认信息a2为ACK报文,所述确认信息a1为SYN-ACK报文。所述步骤(5)中,所述响应报文a3为ACK报文,若于定时器c2超时以前收到源主机A的响应报文a3,视为连接建立成功,撤销定时器c2,并丢弃此报文,释放该连接的TCB结构;若超时,即根据所记录的源主机A身份信息,以源主机A的身份向受信主机B发出RESET信息,撤销该连接,释放该连接的TCB结构。
本发明的有益效果是,由于主机迅速由syn_recved状态进入established状态,避免了half_open队列的过度消耗,从而降低了服务器负荷,解决了SYN-FLOOD攻击对服务器的影响。
以下结合附图与具体实施方式对本发明作进一步说明。
附图说明
图1是TCP三次握手示意图。
图2是本发明示意图。
具体实施方式
作为具体的实施方式,外网与内网之间,或者说,在源主机A与受信主机B之间以防火墙隔离,如图2所示。防火墙对收到的SYN报文按以下程序处理:
1、源主机A向受信主机B发出建连请求(SYN)报文,报文中包含主机A的初始序列号seq(a)。
2、防火墙创建TCB结构(传输控制块,Transmission ControlBlock),记录源主机A的初始序列号,同时记录源IP地址、源端口、目的IP地址和目的端口,然后转发此SYN报文,同时启动SYN-ACK定时器c1,等待主机B的SYN-ACK报文的到来。如果定时器c1超时,防火墙释放该连接的TCB结构。
3、如果在SYN-ACK定时器超时以前,主机B的响应报文a1到来,则防火墙撤销SYN-ACK定时器c1,记录主机B的初始序列号seq(b),防火墙转发此响应报文a1,然后防火墙立即以主机A的身份向主机B发送ACK报文a2,使主机B的该连接从syn_recved状态进入established状态,同时启动ACK定时器。
4、如果在ACK定时器超时前,主机A的响应(ACK)报文a3到来,则防火墙认为建立连接成功,丢弃此报文,撤销ACK定时器,释放该连接的TCB结构。
5、如果ACK定时器超时,防火墙以主机A的身份向主机B发送RESET报文,撤销该连接,同时释放该连接的TCB结构。
本具体实施方式不应理解为对本发明权利要求的限制,基于本发明构思的其他实施例,例如,虽然未以“防火墙”命名,但同样基于本发明构思实现的路由器功能模块,依然属于本发明权利要求范围之内。

Claims (5)

1、防范SYN-FLOOD攻击的方法,包括以下步骤:
(1)拦截外来的数据包,并记录所述数据包中所含的源主机A身份信息;
(2)转发所述数据包至受信主机B,并设置定时器(c1);
(3)如果在定时器c1超时以前接收到来自受信主机B的响应报文(a1),则记录其中的受信主机B的身份信息,并进入步骤4;如果在定时器(c1)超时尚未接收到来自受信主机B的响应报文(a1),则释放步骤1中记录的身份信息;
(4)以步骤1记录的源主机A的身份信息向受信主机B发送响应报文(a2);并根据步骤1记录的源主机A的身份信息,转发受信主机B向源主机A发送的响应报文(a1),并设置定时器(c2);
(5)如果步骤4设置的定时器c2超时以前收到源主机A的响应报文(a3),即撤销定时器(c2),视为连接建立成功;如果在步骤4设置的定时器(c2)超时,即根据所记录的源主机A身份信息,以源主机A的身份向受信主机B发出RESET信息,撤销该连接。
2、如权利要求1所述的防范SYN-FLOOD攻击的方法,所述步骤(1)中,所述外来的数据包为TCP建连请求(SYN)报文,所述身份信息为初始序列号、源IP地址和源端口;创建TCB结构记录所述初始序列号、源IP地址和源端口,同时记录目的IP地址、目的端口以及该连接的初始状态。
3、如权利要求1所述的防范SYN-FLOOD攻击的方法,所述步骤(3)中,所述响应数据包为SYN-ACK报文,所述受信主机B的身份信息为受信主机B的初始序列号、源IP地址和源端口。
4、如权利要求1所述的防范SYN-FLOOD攻击的方法,所述步骤(4)中,所述确认信息(a2)为ACK报文,所述确认信息(a1)为SYN-ACK报文。
5、如权利要求1所述的防范SYN-FLOOD攻击的方法,所述步骤(5)中,所述响应报文(a3)为ACK报文,若于定时器(c2)超时以前收到源主机A的响应报文(a3),视为连接建立成功,撤销定时器(c2),并丢弃此报文,释放该连接的TCB结构;若超时,即根据所记录的源主机A身份信息,以源主机A的身份向受信主机B发出RESET信息,撤销该连接,释放该连接的TCB结构。
CN 03135712 2003-08-29 2003-08-29 防范计算机网络攻击的方法 Expired - Fee Related CN1241133C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 03135712 CN1241133C (zh) 2003-08-29 2003-08-29 防范计算机网络攻击的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 03135712 CN1241133C (zh) 2003-08-29 2003-08-29 防范计算机网络攻击的方法

Publications (2)

Publication Number Publication Date
CN1516033A true CN1516033A (zh) 2004-07-28
CN1241133C CN1241133C (zh) 2006-02-08

Family

ID=34240067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 03135712 Expired - Fee Related CN1241133C (zh) 2003-08-29 2003-08-29 防范计算机网络攻击的方法

Country Status (1)

Country Link
CN (1) CN1241133C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1993931B (zh) * 2004-08-05 2010-07-14 Lg电子株式会社 用于改变通话短脉冲串控制定时器的时长的系统和方法
CN101116068B (zh) * 2004-10-28 2011-05-18 思科技术公司 数据中心环境中的入侵检测
CN101202742B (zh) * 2006-12-13 2011-10-26 中兴通讯股份有限公司 一种防止拒绝服务攻击的方法和系统
CN102780688A (zh) * 2012-04-26 2012-11-14 华为技术有限公司 在传输控制协议tcp下防止攻击的方法和装置
CN104184749A (zh) * 2014-09-15 2014-12-03 上海斐讯数据通信技术有限公司 一种sdn网络访问方法及系统
CN105933298A (zh) * 2015-02-20 2016-09-07 汤姆逊许可公司 用于执行传输控制协议握手的设备和方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1993931B (zh) * 2004-08-05 2010-07-14 Lg电子株式会社 用于改变通话短脉冲串控制定时器的时长的系统和方法
CN101116068B (zh) * 2004-10-28 2011-05-18 思科技术公司 数据中心环境中的入侵检测
CN101202742B (zh) * 2006-12-13 2011-10-26 中兴通讯股份有限公司 一种防止拒绝服务攻击的方法和系统
CN102780688A (zh) * 2012-04-26 2012-11-14 华为技术有限公司 在传输控制协议tcp下防止攻击的方法和装置
CN104184749A (zh) * 2014-09-15 2014-12-03 上海斐讯数据通信技术有限公司 一种sdn网络访问方法及系统
CN104184749B (zh) * 2014-09-15 2019-07-19 上海斐讯数据通信技术有限公司 一种sdn网络访问方法及系统
CN105933298A (zh) * 2015-02-20 2016-09-07 汤姆逊许可公司 用于执行传输控制协议握手的设备和方法

Also Published As

Publication number Publication date
CN1241133C (zh) 2006-02-08

Similar Documents

Publication Publication Date Title
CN1251446C (zh) 一种防御网络传输控制协议同步报文泛滥攻击的方法
CN101175013B (zh) 一种拒绝服务攻击防护方法、网络系统和代理服务器
CN100558089C (zh) 一种基于网络过滤器的内容过滤网关实现方法
JP5377337B2 (ja) サーバー・コンピュータ
Wang et al. Defending against denial-of-service attacks with puzzle auctions
CN101436958B (zh) 抵御拒绝服务攻击的方法
US8769681B1 (en) Methods and system for DMA based distributed denial of service protection
JP4743894B2 (ja) データ・パケットを伝送しながらセキュリティを改良するための方法及び装置
EP2570954A1 (en) Method, device and system for preventing distributed denial of service attack in cloud system
US20010042200A1 (en) Methods and systems for defeating TCP SYN flooding attacks
CN101547210A (zh) 一种tcp连接的处理方法和装置
CN1909551B (zh) 基于Web服务的数据交换方法
CN101636968A (zh) 使用传输控制协议状态转换防止拒绝服务攻击的方法
CN102291441A (zh) 一种防范SYN Flood攻击的方法及安全代理装置
CN110266678B (zh) 安全攻击检测方法、装置、计算机设备及存储介质
US20040054796A1 (en) Load balancer
CN1630248A (zh) 基于连接请求验证的SYN flooding攻击防御方法
CN104184749A (zh) 一种sdn网络访问方法及系统
US20080141358A1 (en) Identification and administration system applied to peer-to-peer gateway and method for the same
CN101296223B (zh) 一种实现防火墙芯片参与syn代理的方法
CN1697397A (zh) 一种实现网络设备防攻击的方法
CN1241133C (zh) 防范计算机网络攻击的方法
US20080256632A1 (en) Apparatus and method for detection of a denial of service attack on an internet server
CN101136917B (zh) 一种传输控制协议拦截模块及其软切换方法
CN111431943B (zh) 一种拟态系统及其tcp代理的方法

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
C56 Change in the name or address of the patentee

Owner name: MAIPU COMMUNICATION TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: MAIPU (SICHUAN) COMMUNICATION TECHNOLOGY CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: Sichuan city of Chengdu province high tech Zone nine Hing Road No. 16 building, Maipu

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: Sichuan city of Chengdu province high tech Zone nine Hing Road No. 16 building, Maipu

Patentee before: Maipu (Sichuan) communication technology Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060208