SYN Flood, Smurf, DNS 반사·증폭 공격은 모두 서비스 거부를 일으킬 수 있지만 흐름은 다릅니다. 공격명을 따로 외우면 그림이나 로그가 조금만 바뀌어도 헷갈립니다. 누가 누구에게 무엇을 보내고, 어느 지점에서 자원이 늘어나거나 묶이는지를 비교해야 합니다.

공격 이름을 보기 전에 네 가지를 표시합니다

분석 항목확인할 질문
프로토콜TCP 연결 상태, ICMP 요청·응답, UDP 기반 DNS 중 무엇인가
주소출발지 주소가 위조됐는가, 목적지가 서버인가 브로드캐스트 주소인가
증폭·점유응답 크기나 응답 주체가 늘어나는가, 서버가 연결 상태를 보관하는가
피해대역폭이 포화되는가, 연결 대기열과 서버 상태 자원이 고갈되는가

SYN Flood: 피해 서버가 반쪽 연결 상태를 보관합니다

TCP 서버는 LISTEN 포트로 SYN을 받으면 연결 성립 과정에서 일정 시간 상태를 유지합니다. 공격자가 연결을 끝내지 않는 SYN을 대량으로 보내면 반쪽 연결 상태가 쌓이고, 정상 연결에 사용할 자원이 줄어들 수 있습니다. RFC 4987은 이 상태 보관을 악용하는 서비스 거부 방식으로 SYN Flood를 설명합니다.

흐름
  1. 요청공격자 → 피해 서버의 LISTEN 포트로 다수의 TCP SYN
  2. 서버 상태서버가 SYN-ACK를 보내고 연결 완료를 기다리는 상태를 보관
  3. 단서SYN-RECV 상태의 비정상적 누적, 연결 대기열 압박
  4. 대응 방향SYN cookies, 연결 대기열·시간 관리, 비정상 요청률 제한, 출발지 위조 완화

SYN 패킷이 많다는 사실만으로 서버의 SYN Flood 성공을 확정할 수는 없습니다. 정상적인 접속 급증인지, 연결 완료율이 낮은지, 자원 고갈과 서비스 장애가 함께 나타나는지 확인해야 합니다.

Smurf: 요청은 브로드캐스트망으로, 응답은 피해자로 갑니다

공격자는 출발지 IP를 피해자 주소로 위조한 ICMP Echo Request를 다른 네트워크의 directed broadcast 주소로 보냅니다. 그 네트워크의 여러 호스트가 요청을 받으면 Echo Reply가 위조된 출발지, 즉 피해자에게 집중됩니다.

  1. STEP 1공격자가 출발지 IP를 피해자 주소로 위조한다.
  2. STEP 2Echo Request를 피해자에게 직접 보내지 않고 브로드캐스트 주소로 보낸다.
  3. STEP 3브로드캐스트망의 여러 호스트가 요청을 받는다.
  4. STEP 4여러 Echo Reply가 피해자에게 집중된다.

예를 들어 198.51.100.255를 브로드캐스트 주소로 쓰려면 198.51.100.0/24라는 네트워크 조건이 필요합니다. 주소만 보고 항상 브로드캐스트라고 단정하면 안 됩니다. RFC 2644는 외부에서 들어오는 directed broadcast를 허용하는 네트워크가 Smurf 증폭기로 악용될 수 있어, 라우터가 기본적으로 이를 차단하도록 권고합니다.

DNS 반사·증폭: 중간 DNS 서버가 더 큰 응답을 피해자에게 보냅니다

공격자는 피해자 IP로 출발지를 위조한 UDP DNS 질의를 DNS 서버에 보냅니다. 서버는 질의를 보낸 주소가 피해자라고 믿고 응답을 피해자에게 전송합니다. 요청보다 응답이 크거나 다수의 서버가 동원되면 피해자 방향 트래픽이 증폭됩니다.

흐름
  1. 위조 질의공격자 → DNS 서버, 출발지 주소는 피해자로 위조
  2. 반사DNS 서버 → 질의 출발지로 표시된 피해자에게 응답
  3. 증폭작은 질의보다 큰 응답 또는 다수 서버의 응답이 피해자에게 집중
  4. 대응 방향공개 재귀 제한, 응답률 제한, BCP 38 기반 출발지 주소 검증

Smurf와 달리 DNS 서버는 브로드캐스트망의 모든 호스트에게 요청을 복제하는 장치가 아닙니다. DNS 서버가 요청에 대한 응답을 위조된 피해자 주소로 되돌려 보내는 반사 지점입니다.

세 공격을 한 표에서 비교합니다

공격결정적 구별 기준
SYN FloodTCP 연결 미완료 상태가 피해 서버에 누적된다.
Smurf피해자 주소로 위조한 ICMP 요청을 directed broadcast로 보내 여러 호스트의 응답을 유도한다.
DNS 반사·증폭위조된 UDP DNS 질의에 대한 서버 응답이 피해자에게 반사되고 크기·수량이 커진다.
반쪽 TCP 연결 → SYN FloodICMP + 브로드캐스트 → SmurfUDP DNS + 위조 출발지 → DNS 반사작은 질의·큰 응답 → DNS 증폭여러 호스트의 Echo Reply → Smurf공격 시도와 성공 여부는 분리

서술형 답안은 이름·근거·영향·대응 순서로 씁니다

공격명을 맞힌 뒤 관련 대응책을 전부 적지 마세요. 문제의 단서와 직접 연결되는 근거를 먼저 쓰고, 공격이 노리는 자원에 맞는 대응책을 고릅니다.

  1. 공격명확정할 수 있으면 단정하고, 증거가 부족하면 “의심된다”고 쓴다.
  2. 판단 근거프로토콜, 주소, 상태, 요청·응답 방향에서 실제로 보인 단서를 쓴다.
  3. 예상 영향연결 상태 자원 또는 네트워크 대역폭 중 무엇이 고갈되는지 적는다.
  4. 대응방안공격이 성립하는 지점과 가까운 조치를 우선한다.

네트워크 공격은 화살표 방향 하나가 바뀌어도 설명이 달라집니다. 그림을 외울 때는 화살표 위에 프로토콜과 메시지 이름을 쓰고, 출발지 위조가 발생한 지점을 별도로 표시하세요. 로그에서 단서를 추출하는 순서는 로그·명령어 공부법에서 더 자세히 확인할 수 있습니다.