DDoS 방어체계, 선택 아닌 필수
상태바
DDoS 방어체계, 선택 아닌 필수
  • 최형주 기자
  • 승인 2019.11.20 09:20
  • 댓글 0
이 기사를 공유합니다

정확한 회사 인프라 파악으로 서비스와 업무의 지속성, 효율성 해치지 않아야

[CCTV뉴스=최형주 기자] DDoS(디도스) 공격은 단순하다. 공격하고 싶은 웹페이지에서 새로고침(F5)만 눌러도 DDoS 공격이 된다.

그러나 DDoS 방어 방법은 아주 까다로우며, 백신프로그램으로 치료할 수 있는 것도 아니다. 

단순한 트래픽 공격을 위해 동원된 수많은 좀비PC를 막기란 사실상 불가능하기 때문이다. 그럼 우린 어떻게 DDoS 공격을 방어해야 할까

 

DDoS 공격 유형별 대응 방법

DDoS를 막는 가장 효과적인 방법은 좀비PC에 명령을 내리는 에이전트PC 혹은 해커PC를 찾아 차단하는 것이다. 이를 위해선 먼저 공격 대상이 된 서버와 공격의 접점인 좀비PC가 보낸 모든 네트워크 패킷을 모니터링하며 ‘명령’을 찾아야 한다. 이론적으론 시간이 해결해주는 문제다.

하지만 DRDoS 공격 중 SYN Flood 공격이나 UDP Flood 공격의 경우 해커가 송신 IP를 위조하므로 이를 추적하기는 굉장히 어렵다. 또한 CDoS 공격 방식은 해커의 PC도 좀비PC로 사용하며, 정상 공격 명령 외에 가짜 공격 명령을 좀비PC끼리 수시로 주고받는다.

DDoS공격들은 서비스 거부 공격(DoS)과 함께 공격 대상 PC내의 정보를 파괴하거나 하드디스크 자체를 손상시키기도 한다. 이에 한국인터넷진흥원(이하 KISA)은 최근, 보안 장비 혹은 인력을 갖추지 못했거나 관련 지식이 부족한 중소기업들을 대상으로 ‘DDoS 공격 대응 가이드’를 배포했다.

DDoS 공격이 발생하면 일단 네트워크 서비스 공급자(ISP, IDC 등)에게 알려야 한다. 하지만 이외에도 DDoS 공격을 완화하거나 막을 수 있는 여러 이론적 DDoS 방어법이 존재한다. KISA가 발표한 유형별 DDoS 공격 대응 방법을 알아보자.

 

1. SYN Flood 공격 대응법

SYN Flood는 공격자가 피해자 시스템에 TCP(SYN) 연결 요청을 지속적으로 전송해 발생한다. 서버가 SYN 연결 요청을 받으면, 클라이언트가 연결을 확인하기 위해 보내는 응답신호(ACK)를 기다리기 위해 통신을 열린 상태로 유지하지만, SYN Flood는 응답 신호를 보내지 않으므로 설정된 연결 시간이 초과될 때까지 서버의 리소스를 소비한다.

SYN Flood 공격을 확인하기 위해선 먼저 네트워크 로그에서 TCP SYN flag를 찾아야 한다. 이때 TCPdump 또는 Wireshark 등의 패킷 분석 툴을 이용할 수 있다. 기본적으로 TCP SYN 패킷 발생은 악의적 활동이 아닌 정상적인 것이나, 짧은 시간 다수의 SYN 패킷 발생 시에는 DDoS 공격으로 판단할 수 있다.

SYN Flood 공격 피해를 최소화하기 위해선 방화벽과 프록시 서버와 같은 모든 주변 장치에서 TCP 연결 유지 및 최대 연결 규칙을 정의해야 한다. 또한 방화벽 장비의 ‘SYN 쿠키’ 기능을 사용하면 공격자가 연결에 대한 최종 승인을 보내지 않을 경우 연결을 끊어, SYN Flood 공격을 완화하는 효과가 있다.

 

2. UDP Flood 공격 대응법

UDP Flood는 공격 방식이 SYN Flood와 매우 유사하다. 공격자는 봇넷으로 공격 대상에 패킷을 전송해 트래픽 과부하 상태를 만든다. 서버 리소스가 아닌 서버 네트워크의 사용 가능한 모든 대역폭을 소비시켜 사용자 접근을 막는다.

UDP Flood 공격을 확인하기 위해선 네트워크 로그를 조사하고, 많은 수의 원본 IP 주소로부터 오는 불규칙한 네트워크 포트의 통신 요청에서 공격 UDP 패킷을 찾는다. 일반적인 UDP 패킷이 아니라고 판단되면 방화벽과 같은 주변 네트워크 장치에 대한 보안 규칙을 정의하여 필요한 포트에서만 인바운드 트래픽을 허용한다.

 

3. ICMP Flood 공격 대응법

ICMP Flood는 해커가 봇넷을 사용해 모든 대역폭을 소비하고 많은 수의 ICMP(인터넷 제어 메시지 프로토콜) 패킷을 공격 대상이 되는 서버에 전송한다. 예를 들어 ping 명령은 네트워크 두 지점 간 연결을 테스트하는데 사용되는데, 명령과 매개변수를 이용하면 ping의 크기와 요청 주기를 조정할 수 있어 처리 가능한 공격 대상 네트워크 대역폭이 모두 소진될 수 있다.

ICMP Flood 공격은 사용자로부터 요청되는 인바운드 ICMP 트래픽을 네트워크 로그에서 조사한다. 이 공격을 최소화하기 위해선 라우터 등의 네트워크 경계 장치에 ICMP 트래픽 임계치를 설정해야 한다. 인바운드 ICMP 트래픽이 임계 값을 초과하면 초과 트래픽은 일정 시간까지 무시된다. 초당 패킷 수 임계 값은 ICMP 트래픽으로 네트워크가 오버런 상태가 되는 것을 효과적으로 방지한다.

전체 기사를 보시려면 로그인 필요

로그인 또는 회원가입을 해주세요. (회원만 열람가능)

로그인 회원가입


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.