SYN 플러딩 공격 정리, 반개방 연결이 백로그를 채우는 원리와 SYN 쿠키 대응

서버의 CPU나 회선이 남아도는데도 새 접속이 안 받아지는 상황이 있습니다. 연결을 완성하지 않는 SYN 패킷만 대량으로 보내 서버의 대기열을 채우는 SYN 플러딩입니다. 오래된 공격이지만 정보보안기사 네트워크 보안에서 원리, 탐지 명령, 대응 설정까지 실기로 자주 묻는 단골입니다.

SYN 플러딩은 3-way 핸드셰이크의 마지막 단계를 끝내지 않는 서비스 거부 공격

정의: 공격자가 주로 위조한 출발지 IP로 SYN 패킷을 대량 전송해, 서버가 SYN+ACK를 보내고 마지막 ACK를 기다리는 반개방(Half-open) 연결을 쌓이게 함으로써 연결 대기열(백로그)을 고갈시키는 DoS 공격입니다.

  • 핵심 키워드: TCP 3-way 핸드셰이크, 반개방 연결, SYN_RECV, 백로그 큐, IP 스푸핑, SYN 쿠키

정상 연결과 공격 상황 비교

공격 상황에서는 SYN+ACK가 위조된 주소로 가거나 무시되어 마지막 ACK가 오지 않습니다.
  1. 정상: 클라이언트 SYN → 서버 SYN+ACK → 클라이언트 ACK로 연결 완료(ESTABLISHED).
  2. 공격: 서버는 SYN을 받을 때마다 연결 정보를 저장하고 SYN+ACK를 보낸 뒤 SYN_RECV 상태로 기다린다.
  3. ACK가 오지 않으니 서버는 정해진 횟수만큼 SYN+ACK를 재전송하며 시간 초과까지 자원을 붙잡는다.
  4. 백로그가 가득 차면 정상 사용자의 SYN도 버려져 접속이 실패한다.

탐지는 SYN_RECV 상태 개수부터 본다

확인 방법 예시 판단 포인트
연결 상태 확인 netstat -ant | grep SYN_RECV | wc -l
ss -tan state syn-recv
평소보다 SYN_RECV가 급증
패킷 캡처 tcpdump로 SYN 플래그 패킷 관찰 짧은 시간 다수 출발지의 SYN, 이어지는 ACK 부재
커널 로그 dmesg 등 SYN 플러딩 의심 및 SYN 쿠키 전송 관련 메시지

대응 기법 비교

대응 방법(리눅스 예) 효과 한계
SYN 쿠키 net.ipv4.tcp_syncookies = 1 백로그가 넘칠 때 연결 정보를 저장하지 않고 초기 순서번호(ISN)에 인코딩, 정상 ACK가 오면 그때 연결 생성 일부 TCP 옵션 정보가 제한될 수 있음
백로그 확대 net.ipv4.tcp_max_syn_backlog 값 증가 버틸 수 있는 반개방 연결 수 증가 근본 해결이 아니라 시간 벌기
재전송 축소 net.ipv4.tcp_synack_retries 값 감소 반개방 연결이 더 빨리 정리됨 느린 정상 클라이언트 접속 실패 가능
네트워크 단 차단 방화벽·IPS의 SYN 임계치 제한, 프록시(SYN 프록시) 서버 도달 전 차단 대규모 분산 공격은 회선 자체가 포화
DDoS 방어 서비스 ISP·클라우드 스크러빙 센터 대용량 트래픽 우회·정화 비용

답안에서 놓치기 쉬운 포인트

  • SYN 플러딩은 대역폭이 아니라 서버의 연결 상태 자원을 고갈시킨다는 점이 UDP·ICMP 플러딩과의 차이입니다.
  • SYN 쿠키의 핵심은 상태를 저장하지 않는다(Stateless)는 것입니다. 정상 ACK의 확인 번호에서 원래 정보를 복원해 검증합니다.
  • 출발지 위조 공격이므로 단순 IP 차단은 효과가 낮고, ISP 단의 출발지 검증(Ingress Filtering) 같은 상위 대응을 함께 쓰면 좋습니다.

시험 직전 한 줄 요약

SYN 플러딩은 마지막 ACK를 보내지 않는 대량 SYN으로 SYN_RECV 반개방 연결을 쌓아 백로그를 고갈시키는 공격이며, SYN 쿠키(tcp_syncookies=1), 백로그 확대, SYN+ACK 재전송 축소, 네트워크 단 임계치 차단으로 대응합니다.

학습용 정리이며 실제 시험 문항과 다를 수 있습니다. 출제 기준은 한국인터넷진흥원(KISA) 공지를 확인하세요. 그림은 이해를 돕기 위한 개념도와 예시이며, 설정 예시는 운영 환경에 그대로 적용하기 전에 검토가 필요합니다.

zerg96

Recent Posts

2026년 11월 외환전문역 2종 시험 일정 (접수·시험·발표)

11월에 일정이 있는 외환전문역 2종 시험을 정리했습니다. 접수, 시험, 합격 발표 날짜를 한 번에 볼…

2시간 ago

페이징 주소 변환과 TLB, 유효 접근 시간 계산으로 이해하는 가상 메모리 (정보처리기사)

프로그램이 보는 주소와 실제 RAM의 주소는 다르다. 그 차이를 메우는 장치가 페이징이고, 변환이 느려지지 않게…

5시간 ago

한국 개발자들이 해외로 떠나는 진짜 이유 — 연봉만의 문제가 아니다

한국 개발자들이 해외로 떠나는 이유는 연봉만이 아니다. 야근 문화, 수직적 조직, AI 기술 격차, 원격근무…

6시간 ago

코스피 3% 반등 5,638 마감, 외국인 순매수·빚투 급감·유가 100달러 선 점검

27일 코스피가 하루 만에 3% 넘게 반등했습니다. 전날 1%대 하락에 이어 지수가 5,500선 언저리에서 출렁이던…

7시간 ago

SK하이닉스 3분기 영업이익 컨센서스 76.9조 원, 발표 전 확인할 숫자 5가지

SK하이닉스가 3분기 성적표를 내놓습니다. 시장 평균 전망(FnGuide 컨센서스)대로라면 영업이익이 약 77조 원으로, 분기 기준 사상…

13시간 ago

불균형 데이터 처리, 정확도 98%인데 쓸모없는 모델이 되는 이유와 SMOTE·클래스 가중치 비교 (빅데이터분석기사)

환자 1,000명 중 암 환자가 20명뿐인 데이터로 모델을 만들었는데 정확도가 98%라면 훌륭한 모델일까? 안타깝게도 "모두…

21시간 ago