Learning
토픽 16 / 147·네트워크 기초 및 프로토콜

SYN Flood 공격 / SYN Cookie

SYN Flood 공격 / SYN Cookie

TCP 3-Way Handshake의 구조적 취약점을 악용하여 대량의 SYN 패킷으로 서버의 백로그 큐를 소진시키는 DoS 공격과, 이를 방어하기 위한 SYN Cookie 기법

SYN Flood 공격 원리

SYN Cookie 방어

  • 동작: SYN 수신 시 백로그 큐에 상태를 저장하지 않고, ISN에 연결 정보를 암호학적으로 인코딩
  • ISN = hash(src_ip, src_port, dst_ip, dst_port, secret) + 타임스탬프 + MSS 인코딩
  • ACK 수신 시 ISN에서 연결 정보를 역추출하여 검증 → 유효하면 연결 수립
  • 장점: 상태 비저장(Stateless), 백로그 큐 소진 방지
  • 단점: TCP 옵션(Window Scale, SACK) 제한, 일부 성능 저하

TCP Fast Open (TFO)

  • 최초 연결 시 TFO Cookie 발급, 재연결 시 SYN 패킷에 Cookie + 데이터 포함 → 0-RTT 데이터 전송
  • SYN Flood 방어와 성능 개선 동시 달성

기타 방어: SYN 프록시(방화벽이 Handshake 대행), 백로그 큐 크기 증가, SYN 타임아웃 단축, Rate Limiting

비교: SYN Cookie(Stateless/CPU 부담/옵션 제한) vs SYN 프록시(Stateful/방화벽 부담/옵션 유지) vs Rate Limiting(단순/정상 트래픽 차단 위험)

연관: TCP 3-Way Handshake, DoS/DDoS, 방화벽, IPS, TCP Fast Open