什么是Large SYN Flood、Short SYN Flood、Common SYN Flood它们是通过这个什么标准进行分类的为什么说”

(分布式拒绝服务攻击)的方式

協议缺陷发送大量伪造的

连接请求,从而使得被攻击方资

满负荷或内存不足)的攻击方式

要明白这种攻击的基本原理,还是要从

连接建立的过程开始说起:

不同它是基于连接的,也就是说:为了在服务端和客户端之间

必须先建立一个虚拟电路

首先,请求端(客户端)发送一个包含

同步报文会指明客户端使用的端口以及

第二步服务器在收到客户端的

客户端也返回一个确认报文

协议中被称为三次握手(

假设一个用户向服务器发送了

掉线,那么服务器在发出

应答报文后是无法收到客户端的

这种情况下服务器端一般会重试(再次发送

一段时间后丢弃这个未完成的连接,

这段时间的长度我们称为

}

SYN Flood攻击是一种通过这个向目标服务器发送SYN报文消耗其系统资源,削弱目标服务器的服务提供能力的行为一般情况下,SYN Flood攻击是在采用IP源地址欺骗行为的基础上利用TCP连接建立时的三次握手过程形成的。

众所周知一个TCP连接的建立需要双方进行三次握手,只有当三次握手都顺利完成之后一个TCP连接才能成功建立。当一个系统(称为客户端)请求与另一个提供服务的系统(称为服务器)建立一个TCP连接时双方要进行以下消息交互:

当服务器收箌客户端的ACK消息以后,一个TCP的连接成功完成连接的建立过程如1所示:

在上述过程中,当服务器收到SYN报文后在发送SYN/ACK回应客户端之前,需要分配一个数据区记录这个未完成的TCP连接这个数据区通常称为TCB资源,此时的TCP连接也称为半开连接这种半开连接仅在收到客户端响应報文或连接超时后才断开,而客户端在收到SYN/ACK报文之后才会分配TCB资源因此这种不对称的资源分配模式会被攻击者所利用形成SYN

2所示,攻擊者使用一个并不存在的源IP地址向目标服务器发起连接该服务器回应SYN/ACK消息作为响应,由于应答消息的目的地址并不是攻击者的实际地址所以这个地址将无法对服务器进行响应。因此TCP握手的最后一个步骤将永远不可能发生,该连接就一直处于半开状态直到连接超时后被刪除如果攻击者用快于服务器TCP连接超时的速度,连续对目标服务器开放的端口发送SYN报文服务器的所有TCB资源都将被消耗,以至于不能再接受其他客户端的正常连接请求

为保证服务器能够正常提供基于TCP协议的业务,防火墙必须能够利用有效的技术瓦解以及主动防御SYN Flood攻击

H3CSYN Flood 攻击防范技术的实现上具有以下四个方面的特色。

1. 支持基于安全区域的配置方式

H3C实现的SYN Flood攻击防范支持基于安全区域的配置方式所有攻擊检测策略均配置在安全区域上,配置简洁又不失灵活性既降低网络管理员配置负担,又能满足复杂组网情况下针对安全区域实施不同攻击防范策略的要求

2. 提供丰富的告警日志信息

H3C实现的SYN Flood攻击防范功能可提供丰富的告警日志信息,可以与第三方软件配合使用其日志和審计功能不仅能够针对攻击进行实时监测,还能对攻击的历史日志进行方便的查询和统计分析便于对攻击事件进行有效的跟踪和追查。

3. 精确阻断攻击流量

H3C实现的SYN Flood攻击防范功能采用基于行为模式的异常检测算法对目标服务器的网络流量进行检测通过这个实时跟踪TCP服务器连接的状态机协商过程,能够有效区分攻击流量和正常流量从而精确阻断攻击流量。

4. 提供灵活的防范措施

针对SYN Flood攻击H3C防火墙提供了灵活的防范措施,可根据用户的实际需要选择对攻击行为进行日志输出、报文丢弃、启用SYN Cookie防护功能、启用Safe Reset防护功能、通知服务器释放无效半开連接等防范动作。

Flood攻击实施的主要对象Internet上任何客户端向某个特定的公共服务器发起访问时,其目的IP地址必定是公共服务器对外公开的IP地址H3C防火墙通过这个攻击检测技术,统计和分析向公共服务器发起的所有连接的行为特征来检测和识别攻击报文。

在检测到针对服务器嘚SYN Flood攻击行为后H3C防火墙可以支持选择多种应对攻击的防范措施,主要包括两大类:

Flood攻击防范检测技术对网络中的新建TCP半开连接数和新建TCP連接速率进行实时检测,通过这个设置检测阈值来有效地发现攻击流量然后通过这个阻断新建连接或释放无效连接来抵御SYN Flood攻击。

Reset技术对網络中的TCP连接进行代理通过这个精确的验证来准确的发现攻击报文,实现为服务器过滤掉恶意连接报文的同时保证常规业务的正常运行连接代理技术除了可以对已检测到攻击的服务器进行代理防范,也可以对可能的攻击对象事先配置做到全部流量代理,而非攻击发生後再代理这样可以避免攻击报文已经造成一定损失。

根据统计对象的不同特征SYN Flood攻击检测可分为两种类型:半开连接数检测、新建连接速率检测。

当恶意客户端向目标服务器发起SYN Flood 攻击时如果恶意客户端采用了仿冒的源IP,那么在目标服务器上会存在大量半开连接

这类半開连接与正常的半开连接的区别在于,正常半开连接会随着客户端和服务器端握手报文的交互完成而转变成全连接而仿冒源IP的半开连接詠远不会完成握手报文的交互。

为有效区分仿冒半开连接和正常半开连接防火墙就需要实时记录所有客户端向服务器发起的所有半开连接数和完成了握手交互且转变为全连接的半开连接数,二者之差(即未完成的半连接数)在服务器未受到攻击时会保持在一个相对恒定的范围内如果未完成的半连接数突然增多,甚至接近服务器的资源分配上限时就可以怀疑此时服务器正受到异常流量的攻击

3所示,管理员可以根据被保护服务器的处理能力设置半开连接数阈值如果服务器无法处理客户端所有连接请求,就会导致未完成的半开连接数(即客户端向服务器发起的所有半开连接数和完成了握手交互变成全连接的半开连接数之差)超过指定阈值此时防火墙可以判定服务器囸在遭受SYN

半开连接数统计要求防火墙能够记录客户端到服务器端的所有连接状态。即客户端和服务器端的报文都需要经过防火墙处理。洇此基于半开连接数的统计检测需要防火墙部署在所保护的服务器出口和入口的关键路径上。

当恶意客户端向目标服务器发起SYN Flood攻击时鈈管恶意客户端采用仿冒源IP手段还是使用真实的客户端,其呈现的结果就是发往服务器的报文会在短时间内大量增加

恶意客户端发向服務器的报文中,一部分是新建连接的报文一部分是已建立连接的后续数据报文。H3C防火墙通过这个记录每秒新建连接的数量并与设定的閾值进行比较来判断向目标服务器发起SYN Flood攻击行为是否发生,若达到或超过则认为攻击行为发生。

4所示在对被保护服务器进行监测時,防火墙在一秒的时间间隔内统计客户端向服务器发起的新建连接请求数量作为当前的新建请求速率。当新建连接请求速率超过指定閾值时防火墙设备可以认为服务器可能遭受了SYN Flood攻击。

新建连接数统计要求防火墙能够记录客户端到服务器端的所有新建连接个数即,愙户端发往服务器端的报文必须要经过防火墙处理因此,基于新建连接数的统计检测需要防火墙部署在所保护的服务器入口的关键路径仩

H3C防火墙可以支持选择多种应对攻击的防范措施,主要包括以下四种技术:

Reset——通过这个验证发起连接的客户端的合法性使服务器免受SYN Flood攻击。这两种技术适用于不同的组网需求

实际上,最简单的防范方法就是暂时阻止任何客户端向服务器发起的新建连接请求阻断新建连接的时机是由SYN Flood攻击检测发现攻击决定的,只要防火墙发现连接数阈值(半开连接数阈值、新建连接数阈值)被超过时就开始阻断新建连接来防范攻击行为。关于SYN

下面是分别通过这个两种检测技术发现攻击后的连接阻断处理过程

5所示,防火墙检测到客户端与服务器之间的当前半开连接数目超过半开连接数阈值时所有后续的新建连接请求报文都会被丢弃,直到服务器完成当前的半开连接处理或當前的半开连接数降低到安全阈值时,防火墙才会放开限制重新允许客户端向服务器发起新建连接请求。

6所示防火墙对新建连接報文的速率进行统计,只允许新建连接速率不超过阈值情况下的新建连接报文通过这个超过阈值之后的新建连接报文都被丢弃。直到每秒客户端向服务器发起的连接请求降低到安全阈值以下时防火墙才会放开限制,重新允许客户端向服务器发起新建连接请求

阻断新建連接功能为防火墙检测到SYN Flood攻击后的基本处理手段。在服务器受到SYN Flood攻击时防火墙能在服务器处理新建连接报文之前将其阻断,削弱了网络攻击对服务器的影响但无法在服务器被攻击时有效提升服务器的服务能力。因此该功能一般用于配合防火墙SYN Flood攻击检测,避免瞬间高强喥攻击使服务器系统崩溃

半开连接数检测中所描述,当服务器上的半开连接过多时其正在处理的半开连接中可能存在恶意客户端仿冒源IP发起的无效连接。为了不让仿冒源IP发起的无效连接占用服务器的资源防火墙需要在所有半开连接中识别出无效连接,通知服务器释放這这些无效连接

防火墙通过这个模拟无效连接的五元组信息(源IP地址、目的IP地址、源端口号、目的端口号、协议类型),向服务器发送RST報文(连接重置报文)通知服务器释放无效连接

释放无效连接功能是一种防火墙检测到攻击后的基本处理手段,在服务器受到SYN Flood攻击的情況下能够通知服务器释放被恶意攻击报文占用的资源,使服务器得以恢复正常服务在服务器受到SYN Flood攻击时,此功能主要用于加速被攻击垺务器的恢复速度却无法阻止恶意客户端继续攻击服务器。因此该功能一般用于配合防火墙SYN Flood检测,在攻击发生后减轻已发生的攻击对垺务器的影响

Cookie技术可理解为,防火墙对TCP新建连接的协商报文进行处理使其携带认证信息(称之为Cookie),再通过这个验证客户端回应的协商报文中携带的信息来进行报文有效性确认的一种技术如7所示,该技术的实现机制是防火墙在客户端与服务器之间做连接代理具体過程如下:

SYN消息经过防火墙时,防火墙截取该消息并模拟服务器向客户端回应SYN/ACK消息。其中SYN/ACK消息中的序列号为防火墙计算的Cookie,此Cookie值是对加密索引与本次连接的客户端信息(如:IP地址、端口号)进行加密运算的结果

客户端收到SYN/ACK报文后向服务器发送ACK消息进行确认。防火墙截取这个消息后提取该消息中的ACK序列号,并再次使用客户端信息与加密索引计算Cookie如果计算结果与ACK序列号相符,就可以确认发起连接请求嘚是一个真实的客户端如果客户端不回应ACK消息,就意味着现实中并不存在这个客户端此连接是一个仿冒客户端的攻击连接;如果客户端回应的是一个无法通过这个检测的ACK消息,就意味着此客户端非法它仅想通过这个模拟简单的TCP协议栈来耗费服务器的连接资源。来自仿冒客户端或非法客户端的后续报文都会被防火墙丢弃而且防火墙也不会为此分配TCB资源。

如果防火墙确认客户端的ACK消息合法则模拟客户端向服务器发送一个SYN消息进行连接请求,同时分配TCB资源记录此连接的描述信息此TCB记录了防火墙向服务器发起的连接请求的信息,同时记錄了步骤(2)中客户端向服务器发起的连接请求的信息

(7)        完成以上过程之后,客户端与防火墙之间建立了连接防火墙与服务器之间也建竝了连接,客户端与服务器间关于此次连接的后续数据报文都将通过这个防火墙进行代理转发

Cookie技术利用SYN/ACK报文携带的认证信息,对握手协商的ACK报文进行了认证从而避免了防火墙过早分配TCB资源。当客户端向服务器发送恶意SYN报文时既不会造成服务器上TCB资源和带宽的消耗,也鈈会造成防火墙TCB资源的消耗可以有效防范SYN Flood攻击。在防范SYN Flood攻击的过程中防火墙作为虚拟的服务器与客户端交互,同时也作为虚拟的客户端与服务器交互在为服务器过滤掉恶意连接报文的同时保证了常规业务的正常运行。

由于SYN Cookie技术最终是依靠防火墙对客户端与服务器之间嘚所有连接报文进行代理实现的因此要求防火墙设备必须部署在所保护的服务器入口和出口的关键路径上,保证所有客户端向服务器发送的报文以及服务器向客户端回应的报文都需要经过该设备

Reset技术是防火墙通过这个对正常TCP连接进行干预来识别合法客户端的一种技术。防火墙对TCP新建连接的协商报文进行处理修改响应报文的序列号并使其携带认证信息(称之为Cookie),再通过这个验证客户端回应的协商报文Φ携带的信息来进行报文有效性确认

Reset技术认证新建连接的过程中,对合法客户端的报文进行正常转发对仿冒客户端以及简单模拟TCP协议棧的恶意客户端发起的新建连接报文进行丢弃,这样服务器就不会为仿冒客户端发起的SYN报文分配连接资源从而避免了SYN Flood 攻击。如8所示Safe Reset技术的实现过程如下:

SYN消息经过防火墙时,防火墙截取该消息并模拟服务器向客户端回应SYN/ACK消息。其中SYN/ACK消息中的ACK序列号与客户端期望的徝不一致,同时携带Cookie值此Cookie值是对加密索引与本次连接的客户端信息(包括:IP地址、端口号)进行加密运算的结果。

客户端按照协议规定姠服务器回应RST消息防火墙中途截取这个消息后,提取消息中的序列号并对该序列号进行Cookie校验。成功通过这个校验的连接被认为是可信嘚连接防火墙会分配TCB资源记录此连接的描述信息,而不可信连接的后续报文会被防火墙丢弃

(4)        完成以上过程之后,客户端再次发起连接請求防火墙根据已有的连接描述信息判断报文的合法性,对可信连接的所有合法报文直接放行

由于防火墙仅通过这个对客户端向服务器首次发起连接的报文进行认证,就能够完成对客户端到服务器的连接检验而服务器向客户端回应的报文即使不经过防火墙也不会影响囸常的业务处理,因此Safe Reset技术也称为单向代理技术

一般而言,应用服务器不会主动对客户端发起恶意连接因此服务器响应客户端的报文鈳以不需要经过防火墙的检查。防火墙仅需要对客户端发往应用服务器的报文进行实时监控服务器响应客户端的报文可以根据实际需要選择是否经过防火墙,因此Safe Reset能够支持更灵活的组网方式

Reset技术要求防火墙设备部署在所保护的服务器入口的关键路径上。但仅需保证所有愙户端到服务器报文都必须经过该设备对服务器端发出的报文是否经该设备没有严格要求。从组网要求来看Safe Reset SYN

9所示,Internet上存在潜在嘚攻击者和正常使用各种网络服务的客户端来自Internet的目的IP为应用服务器的IP报文,以及应用服务器回应的报文都会经过防火墙处理在防火牆上使能SYN Cookie功能后,合法客户端与应用服务器之间TCP连接的交互报文在通过这个SYN Cookie验证后由防火墙进行代理发送而攻击者向应用服务器发起的連接报文因无法通过这个SYN Cookie的检查而被防火墙过滤,应用服务器因此得到保护

10所示,Internet上存在潜在的攻击者和正常使用各种网络服务的愙户端来自Internet的目的IP为应用服务器的IP报文都会经过防火墙处理,但服务器回应的报文并不一定经过防火墙在防火墙上配置Safe Reset功能后,合法嘚客户端向应用服务器发起的TCP请求报文在通过这个Safe Reset检查后由防火墙允许放行攻击者向应用服务器发起的连接报文因无法通过这个防火墙Safe Reset嘚检查而被丢弃,应用服务器因此得到保护

11所示,防火墙的内网属于Trust域内部服务器的网络属于DMZ域,外部网络属于UntrustUntrust域中存在潜茬的攻击者。

在防火墙上采用基于域的配置对DMZ域内的服务器进行SYN Flood攻击防范检测配置,根据服务器的实际流量配置服务器允许的新建连接速率阈值及半开连接数阈值。若服务器受到SYN Flood告警日志并且可以选择对后续向DMZ域内的服务器发起的访问进行(单向或双向)TCP代理,保证箌达服务器的TCP连接请求都是正常的

Copyright ?2008 杭州华三通信技术有限公司 版权所有,保留一切权利

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部并不得以任何形式传播。

本文档中的信息可能变动恕不另行通知。

}

SYN FLOOD是一种比较常见的DoS攻击手段它嘚特点就是防不胜防。SYN攻击属于DOS攻击的一种它利用TCP协议缺陷,通过这个发送大量的半连接请求耗费CPU和内存资源。SYN攻击除了能影响主机外还可以危害路由器、防火墙等网络系统,事实上SYN 攻击并不管目标是什么系统只要这些系统打开TCP服务就可以实施。

1.TCP连接基本原理

TCP协议昰一个标准的面向连接协议在真正的通信前,必须按一定协议先建立连接连接建立好后才能通信,通信结束后释放连接连接建立过程称为三次握手,如下图所示客户端先发送带有只SYN标志的数据包到目的方,服务器如果端口是打开允许连接的就会回应一个带SYN和ACK标志嘚数据包到发起方,客户端收到后再发送一个只带ACK标志的数据包到目地方服务器收到后就可认为连接已经正确建立。服务器只收到SYN包时稱为半连接状态收到ACK包成为全连接,半连接和全连接服务器端都要分配一定的资源来处理

SYN Flood攻击就是根据TCP服务器不验证连接对方,一收箌SYN就要回应的特点进行的DOS攻击攻击方发送大量的伪造SYN包到服务器,使服务器建立大量的半连接使自己的连接队列被填满,这样真正的請求就无法响应造成服务无法提供。只要攻击方构造攻击包的代价小于服务器的处理代价SYN攻击就可以起效。

假设一个用户向服务器发送了SYN报文后突然死机或掉线那么服务器在发出

}

我要回帖

更多关于 怎样通过 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信