All Honey Tip

SYN Flooding Attack 이란?

SYN Flooding Attack 이란?

SYN Flooding Attack(SYN Flood Attack) 은 네트워크 상에서 발생하는 DoS(Denial of Service) 공격 기법 중 하나입니다. 오늘은 이 DoS 공격이 무엇인지 알아보도록 하겠습니다.

SYN Flooding Attack은 서버의 리소스를 고갈시켜 정상적인 서비스가 불가하도록 만드는 목적을 갖고 있습니다. 쉽게 말하자면, 일반적인 통신인 척을 하며 과부하를 유발한다고 할 수 있습니다.

그 차이를 알기 위해, 우선 정상적인 통신 방법에 대해 알아보겠습니다.



정상적인 통신 과정: 3-way-handshake

TCP/IP 프로토콜로 통신하기 전, 정확한 정보 전송을 위해 상대방 컴퓨터와 세션을 수립하는 과정으로 TCP 연결 초기화라 할 수 있습니다.

image 49

클라이언트가 서버에게 접속을 요청하는 SYN 패킷을 보내면, 서버는 SYN+ACK 패킷을 클라이언트에 발송하고 대기합니다. 클라이언트는 이것을 수신한 후, 다시 ACK를 서버에게 발송하면 연결이 이루어지고 데이터를 주고받을 수 있습니다.

그리고 이 원리를 사용해서 공격을 하는 것입니다.



SYN Flooding Attack의 원리

image 48

  1. 공격자가 서버에 SYN 패킷을 대량으로 보냅니다.
  2. 서버는 이 SYN 패킷에 대해 SYN-ACK 패킷으로 응답합니다.
  3. 그러나 공격자는 고의적으로 SYN-ACK 패킷에 대한 ACK 패킷을 보내지 않습니다.
  4. 이렇게 미완성된 연결 요청이 쌓이면 서버의 연결 요청 대기열이 가득차게 됩니다.
  5. 정상적인 사용자의 연결 요청은 처리되지 못하고 서버가 마비되는 공격 효과를 얻게 됩니다.


이 DoS공격은 서버의 자원을 고갈시켜 정상적인 서비스 제공을 방해합니다. 이로 인해 다른 사용자들은 서비스에 접근할 수 없게 되며 서비스 운영에 심각한 차질을 초래할 수 있습니다.

SYN Flooding 공격을 인지하고, 이에 대한 대응 방안을 마련하는 것은 중요하면서도 기본적인 사항이라 할 수 있습니다.



기초적인 대응 방안

  1. 방화벽 설정
  2. IPS(Intrusion Prevention System)
  3. 서버 리소스 증설 및 부하 분산(로드벨런싱)
  4. Client 연결 요청 처리 최적화

코멘트

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다