1

什么是SYN泛洪攻击(SYN flood attack)

首先回顾一下TCP三次握手机制:

  • 第一步:客户端向服务端发送SYN
  • 第二步:服务端回应SYN与ACK
  • 第三步:客户端回应ACK

第二步过后,服务端会为该次连接分配端口号以及内存资源,并等待ACK一段时间。如果存在大量的SYN请求,并且不回复第三步的ACK,服务端就会出现端口耗尽或者内存不足的情况。
image.png

SCTP如何解决SYN泛洪攻击

相比于TCP,SCTP建立链接需要4次握手,简单流程如下:

  • 第一步:客户端发起INIT
  • 第二步:服务端回复INIT_ACK,并附带一个cookie
  • 第三步:客户端发起COOKIE_ECHO
  • 第四步:服务端回复COOKIE_ACK

服务端在第二步并不会分配任何端口与内存资源,只是生成一个cookie。所以无法通过INIT攻击来达到TCP中SYN泛洪的目的。

TCP与SCTP建立"连接”对比

image.png


moonbamboo
37 声望2 粉丝

I am