토픽 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