SYN 플러드 공격 (SYN Flood Attack)
한 줄 정의: TCP 연결의 3단계 핸드셰이크를 악용해 다량의 SYN 패킷을 보내 서버의 연결 대기 자원을 고갈시키는 서비스 거부 공격입니다.
쉽게 풀면
식당에 손님이 자리를 예약만 하고 실제로는 오지 않는 상황이 반복되면, 빈 테이블처럼 보이지만 실제로는 예약이 꽉 차서 새로운 손님을 받을 수 없게 됩니다. SYN 플러드 공격도 이와 비슷하게, 공격자가 서버에 연결 요청(SYN)만 계속 보내고 연결을 완료하지 않아 서버의 대기열이 가짜 요청으로 가득 차게 만듭니다. 그 결과 정상적인 사용자는 서버에 접속할 수 없게 됩니다.
왜 중요한가
SYN 플러드는 DoS/DDoS 공격의 대표적인 프로토콜 취약점 악용 사례로, 네트워크 계층 보안 연구와 방화벽·로드밸런서의 방어 기법(SYN 쿠키 등)을 다루는 논문에서 기본 공격 시나리오로 자주 사용됩니다.
논문에서는 이렇게 쓰입니다
"실험 환경에서 SYN 플러드 공격을 수행한 결과 서버의 연결 대기열이 빠르게 포화되어 정상 요청 처리율이 급격히 저하되었다."
가짜 연결 요청이 몰리면서 서버가 진짜 사용자 요청을 처리하지 못하게 되는 현상을 실험으로 보였다는 뜻입니다.
"SYN 쿠키 기법을 적용한 서버는 미적용 서버 대비 SYN 플러드 공격 상황에서도 안정적인 연결 처리 성능을 유지하였다."
특정 방어 기법을 쓰면 같은 공격을 받아도 서버가 더 잘 버틴다는 비교 결과입니다.
조금 더 깊게 보면
정상적인 TCP 연결은 SYN-SYN/ACK-ACK 세 단계를 거치는데, 공격자는 마지막 ACK를 보내지 않거나 위조된 출발지 주소로 SYN을 대량 전송해 서버가 응답을 기다리는 반열림(half-open) 연결을 쌓이게 합니다. 방어책으로는 SYN 쿠키, 연결 대기열 크기 조정, 방화벽의 SYN 비율 제한 등이 일반적으로 사용됩니다.
주의할 점
SYN 플러드는 단독으로도 위협적이지만, 실제로는 다른 유형의 DDoS 공격과 함께 사용되는 경우가 많아 방어 시 복합적인 대응이 필요합니다.