SYN flood网络攻击的原理及其防御方法.docxVIP

  • 6
  • 0
  • 约 5页
  • 2015-12-10 发布于江苏
  • 举报

SYN flood网络攻击的原理及其防御方法.docx

SYN flood网络攻击的原理及其防御方法.docx

SYN flood网络攻击的原理及其防御方法 摘要   介绍了SYN Flood攻击的基本原理,详细地描述了目前几种比较有效的两种防御措施:SYN-cookie技术和地址状态监控技术。 关键词?? SYN Flood攻击??拒绝服务攻击??SYN cookie   1 SYN Flood攻击介绍:   拒绝服务攻击(Denial of Service,DoS)是目前比较有效而又非常难于防御的一种网络攻击方式,它的目的就是使服务器不能够为正常访问的用户提供服务。所以,DoS对一些紧密依靠互联网开展业务的企业和组织带来了致命的威胁。   SYN Flood是最为有效和流行的一种DoS攻击形式。它利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的资源,从而不能够为正常用户提供服务。   1.1 TCP连接建立的过程   要掌握SYN Flood攻击的基本原理,必须先介绍TCP的三次握手机制。   TCP三次握手过程如下:   1)客户端向服务器端发送一个SYN置位的TCP报文,包含客户端使用的端口号和初始序列号x;   2)服务器端收到客户端发送来的SYN报文后,向客户端发送一个SYN和ACK都置位的TCP报文,包含确认号为x+1和服务器的初始序列号y;   3) TCP客户端 客户端端口 (1024-65535) TCP服务器端 服务器端口 (1-1023) SYN SYN/ACK ACK   客户端收到服务器返回的SYN+ACK报文后,向服务器返回一个确认号为y+1序号为x+1的ACK报文,一个标准的TCP连接完成。如图1所示: 1.2 攻击原理   在SYN Flood攻击中,黑客机器向受害主机发送大量伪造源地址的TCP SYN报文,受害主机分配必要的资源,然后向源地址返回SYN+ACK包,并等待源端返回ACK包,如图2所示。由于源地址是伪造的,所以源端永远都不会返回ACK报文,受害主机继续发送SYN+ACK包,并将半连接放入端口的积压队列中,虽然一般的主机都有超时机制和默认的重传次数,但是由于端口的半连接队列的长度是有限的,如果不断的向受害主机发送大量的TCP SYN报文,半连接队列就会很快填满,服务器拒绝新的连接,将导致该端口无法响应其他机器进行的连接请求,最终使受害主机的资源耗尽。 2.2??地址状态监控的解决方法   地址状态监控的解决方法是利用监控工具对网络中的有关TCP连接的数据包进行监控,并对监听到的数据包进行处理。处理的主要依据是连接请求的源地址。 每个源地址都有一个状态与之对应,总共有四种状态: 初态:任何源地址刚开始的状态; NEW状态:第一次出现或出现多次也不能断定存在的源地址的状态; GOOD状态:断定存在的源地址所处的状态; BAD状态:源地址不存在或不可达时所处的状态。 具体的动作和状态转换根据TCP头中的位码值决定:   1)监听到SYN包,如果源地址是第一次出现,则置该源地址的状态为NEW状态;如果是NEW状态或BAD状态;则将该包的RST位置1然后重新发出去,如果是GOOD状态不作任何处理。   2)监听到ACK或RST包,如果源地址的状态为NEW状态,则转为GOOD状态;如果是GOOD状态则不变;如果是BAD状态则转为NEW状态;如果是BAD状态则转为NEW状态。   3)监听到从服务器来的SYN ACK报文(目的地址为addr),表明服务器已经为从addr发来的连接请求建立了一个半连接,为防止建立的半连接过多,向服务器发送一个ACK包,建立连接,同时,开始计时,如果超时,还未收到ACK报文,证明addr不可达,如果此时addr的状态为GOOD则转为NEW状态;如果addr的状态为NEW状态则转为BAD状态;如果为addr的状态为BAD状态则不变。 状态的转换图如图3所示: 初态 GOOD NEW BAD ACK/RST SYN ACK/RST ?? ACK包确认超时 ACK/RST ?? ACK包确认超时  下面分析一下基于地址状态监控的方法如何能够防御SYN Flood攻击。   1)对于一个伪造源地址的SYN报文,若源地址第一次出现,则源地址的状态为NEW状态,当监听到服务器的SYN+ACK报文,表明服务器已经为该源地址的连接请求建立了半连接。此时,监控程序代源地址发送一个ACK报文完成连接。这样,半连接队列中的半连接数不是很多。计时器开始计时,由于源地址是伪造的,所以不会收到ACK报文,超时后,监控程序发送RST数据包,服务器释放该连接,该源地址的状态转为BAD状态。之后,对于每一个来自该源地址的SYN报文,监控程序都会主动发送一个RST报文。   2)对于一个合法

文档评论(0)

1亿VIP精品文档

相关文档