What Is a SYN Flood Attack?
SYN 플러드 공격은 TCP 3방향 핸드셰이크 내의 특정 구성 요소를 악용합니다. 공격자는 많은 연결 개시(SYN) 요청을 전송하여 피해 서버가 각 가짜 연결에 대해 포트를 열어두도록 강제합니다. 이로 인해 핸드셰이크가 완료되기를 기다리느라 서버 리소스가 묶여 결국 정상적인 사용자에게는 시스템이 응답하지 않게 됩니다.
SYN 플러드 공격은 어떻게 작동하나요?
SYN 플러드 공격이 어떻게 작동하는지 이해하기 위해 표준 TCP 3자 핸드셰이크에 대해 살펴보겠습니다.
- 클라이언트가 특정 서버에 대한 연결을 종료하려는 경우 SYN 패킷을 전송하여 통신을 시작하겠다는 의사를 알립니다.
- 서버는 SYN-ACK 패킷으로 응답하여 SYN 수신을 확인하고 연결을 완료할 준비가 되었음을 나타냅니다.
- 클라이언트가 확인으로 응답하여 핸드셰이크가 완료되고 연결이 설정됩니다.
디바이스가 새로운 정보 패킷을 전송하기 전에 이러한 모든 주고받기가 발생합니다.
그러나 SYN 플러드 공격에서 이 프로토콜을 악용하기 위해 공격자는 단순히 최종 ACK를 보류하여 서버가 연결을 계속 열어두도록 합니다.
그 결과, 들어오는 SYN 요청이 있을 때마다 서버는 완료되지 않는 연결에 대해 메모리와 연결 슬롯을 할당해야 합니다. 서버에 악의적인 SYN 패킷이 넘쳐나면 이러한 리소스가 빠르게 고갈됩니다.
즉, 서버가 추가 연결 시도를 처리할 수 없게 되어 정상적인 사용자는 서비스에 대한 액세스가 거부됩니다.
시간이 지나면 완전한 서비스 거부로 이어질 수 있습니다...
SYN 플러드 공격은 시스템 리소스에 대한 직접적인 영향 외에도 광범위한 운영 전반에 걸쳐 심각한 스트레스 장애를 일으킬 수 있습니다. 온라인 운영 또는 중요한 인프라를 보유한 비즈니스의 경우 이러한 중단은 다음과 같은 결과를 초래할 수 있습니다:
- 재정적 손실
- 평판 손상
- 중요한 인프라 장애
SYN 폭주 공격은 쉽게 실행할 수 있기 때문에 대규모 공격 전략의 일부로 배포되어 표적의 방어 체계를 약화시켜 서비스 중단과 데이터 유출이라는 치명적인 결과를 초래하는 경우가 많습니다.
SYN 홍수 감지
SYN 플러드 공격을 탐지하려면 네트워크 트래픽을 주의 깊게 모니터링해야 합니다. 이러한 공격을 탐지하는 가장 효과적인 방법 중 하나는 트래픽 패턴을 모니터링하여 완료된 핸드셰이크 수 대비 SYN 패킷의 비율에서 비정상적인 급증을 식별하는 것입니다.
Wireshark와 같은 기본적인 네트워크 모니터링 도구에서도 승인되지 않은 SYN 패킷을 기준으로 연결을 필터링하는 방법을 제공합니다. 수동 트래픽 필터링은 이러한 공격을 피해가 발생하기 전에 예방해야 하므로 관리자가 어려움을 겪을 수 있습니다.
이 때문에 많은 SYN 플러드 공격 탐지가 침입 및 탐지 시스템 (IDS)에 의해 자동으로 처리됩니다.
정상적인 트래픽 유형과 동작을 모니터링하므로 SYN 폭주로 인해 발생하는 통계적 이상 징후를 적시에 발견할 수 있습니다. 덜 발전된 모델은 수신 트래픽에서 미리 정의된 공격 특성을 인식하는 시그니처 기반 탐지에 의존할 수 있습니다.
이를 통해 시스템이 실시간으로 식별하고 대응할 수 있으므로 SYN 플러드를 매우 효과적으로 감지할 수 있습니다.
SYN 폭주 공격 완화 옵션
공격자는 스푸핑된 IP 주소를 사용하여 다른 디바이스의 외관 뒤에 공격을 숨길 수 있기 때문에 IP 기반 차단만으로는 SYN 플러드 공격에 대응할 수 없습니다.
스푸핑된 IP 주소는 인터넷 서비스 제공업체를 통해 출처를 추적할 수 있기 때문에 가장 진보된 형태의 SYN 플러드 배포는 아닙니다. 공격자가 이러한 스푸핑된 IP 주소에 봇넷을 사용하는 경우, 공격의 출처를 쉽게 추적할 수 있는 방법이 근본적으로 없습니다.
SYN 폭주 공격을 완화하기 위해 서버의 취약성을 줄이고 공격 중에도 서비스를 유지하도록 설계된 몇 가지 전략을 사용할 수 있습니다.
SYN 쿠키
가장 널리 사용되는 방법 중 하나는 전체 TCP 핸드셰이크가 완료될 때까지 서버가 연결에 대한 리소스를 할당하지 못하도록 하는 기술인 SYN 쿠키입니다. 서버는 각 SYN 요청에 대해 메모리를 예약하는 대신 연결의 상태 정보를 클라이언트에 전송하는 SYN-ACK 패킷에 인코딩합니다.
클라이언트가 유효한 ACK로 응답하면 서버는 쿠키를 확인하고 연결을 완료합니다.
백로그 증가
또 다른 접근 방식은 백로그 대기열의 크기를 늘려 서버가 한 번에 더 많은 불완전한 연결을 처리할 수 있도록 하는 것입니다. 이는 낮은 수준의 SYN 폭주 공격 시 일시적인 구호를 제공할 수 있지만 장기적인 해결책은 아닙니다.
결국, 여전히 서버를 압도할 수 있을 만큼 큰 규모의 공격이 가능합니다.
요금 제한
속도 제한은 서버가 주어진 시간 프레임에 처리할 수 있는 SYN 패킷 수에 최대 한도를 설정하는 또 다른 효과적인 전략입니다.
속도 제한은 들어오는 연결 요청의 흐름을 제어하여 갑작스러운 트래픽 급증으로 서버가 과부하되는 것을 방지합니다. 마찬가지로 서버가 허용하는 SYN-ACK 재시도 횟수를 줄이면 서버가 리소스를 릴리스하기 전에 최종 ACK를 기다리는 시간도 최소화할 수 있습니다.
이렇게 하면 서버가 연결 슬롯을 더 빨리 확보하고 새 요청을 계속 처리할 수 있습니다.
로드 밸런서
대규모 보호의 경우 로드 밸런서 또는 분산 서버 아키텍처를 사용하면 SYN 플러드의 영향을 완화하는 데 도움이 될 수 있습니다. 부하 분산 장치는 들어오는 트래픽을 여러 서버로 분산하여 단일 서버에 과부하가 걸릴 가능성을 줄여줍니다.
이 접근 방식은 SYN 폭주 공격에 대한 복원력을 향상시킬 뿐만 아니라 전반적인 시스템 성능과 가용성을 향상시킵니다.
이는 영향을 받지 않는 서버로 합법적인 트래픽을 이동할 수 있기 때문에 광범위한 IPS 도구와 잘 어울립니다.
체크 포인트로 공격 방지 선택
체크 포인트를 통해 조직은 네트워크 보안 전반에 걸쳐 예방 우선 접근 방식을 채택할 수 있습니다. 샌드블래스트(샌드블래스트) 네트워크 보호 기능은 다음과 같은 광범위한 사이버 공격을 방어합니다:
- SYN 플러드 공격
- 랜섬웨어
- Trojans
- Phishing attempts
기존 인프라와 원활하게 통합되며 완전히 자동화된 정책으로 구성할 수 있어 비즈니스 생산성이나 민첩성을 저하시키지 않으면서도 강력한 보안을 보장합니다. SYN 플러드 공격에 직면했을 때, 체크포인트는 신속한 알림과 자동화된 완화 기능을 제공하여 자금력이 풍부한 공격에도 네트워크 복원력을 유지하는 다계층 방어 전략을 제공합니다.
더 자세히 알아보고 데모를 통해 체크포인트가 SYN 플러드 공격을 방지하는 방법을 알아보세요.
