DDoS 방어체계, 선택 아닌 필수

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

2019-11-20     최형주 기자

[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 트래픽으로 네트워크가 오버런 상태가 되는 것을 효과적으로 방지한다.

 

4. HTTP Flood 공격 대응법

HTTP Flood는 해커가 공격대상에 많은 양의 HTTP GET 요청을 보내 리소스를 소진하게 만든다. 해커의 요청에 웹 서버가 응답하면 해커는 응답을 처리하지 않고 대기시켜, 웹서버도 연결에 대한 리소스를 연결대기 상태로 유지하게 만든다.

HTTP Flood 공격 확인 방법은 네트워크 로그 상 대량의 요청 중 대상 포트가 80이고, TCP 프로토콜을 사용하는지를 조사하면 된다. 이 경우 DDoS 방어 서비스 업체를 이용해야 하며, 정상적 웹 서비스 요청수단이 공격에 이용되기 때문에 출발지 IP 주소를 차단할 경우 정상 사용자가 차단될 수 있다. 웹방화벽(WAF)을 사용하면 피해를 최소화할 수 있으나 사전 예방이 어려워진다.

 

5. SYN/ACK Flood 공격 대응법

SYN/ACK Flood는 반사체를 이용하는 DRDoS 공격이다. 공격자가 IP를 위조해 반사체로 악용될 서버에 SYN 패킷을 보내면, 악용된 서버는 해커의 공격대상으로 SYN/ACK 패킷을 전송한다.

공격대상은 전송 받은 패킷을 처리하기 위해 리소스를 소모하고, 반사체 서버들은 응답이 오지 않으면 다시 한 번 공격 대상에 패킷을 전송해 공격이 증폭되는 특징을 가진다.

SYN/ACK Flood를 확인하기 위해서는 네트워크 로그를 조사하고 TCP ACK flag를 찾는다. TCP SYN/ACK 패킷은 그 자체로 정상이지만 전송이 급증한다면 DDoS 공격으로 의심하고 대처해야 한다. 피해를 최소화하기 위해선 방화벽과 프록시 등 모든 주변 장치의 목적지 IP 기반 SYN/ACK 패킷 임계치를 설정해 차단해야 한다.

 

6. NTP 반사 공격 대응법

NTP(Network Time Protocol) 반사 공격은 공격자가 정상적인 NTP서버의 ‘monolist’라는 명령어를 통해 트래픽을 사용한다. 해커는 공격 대상의 IP 주소를 도용해 인터넷에 공개된 다수의 NTP 서버에 많은 양의 응답 트래픽을 요청하고, NTP서버는 이 응답을 위조된 IP에 따라 공격 대상 서버에 보낸다. 이 과정에서 공격이 증폭되며, 공격 대상의 네트워크 대역폭은 모두 소진돼 서비스 장애가 발생한다.

NTP 반사 공격에 대한 확인은 출발지 중 UDP123 포트와 특정 패킷 크기를 가진 트래픽을 네트워크 로그에서 조사하는 방법이 있다. 공격이 확인되면 IP주소와 패킷 크기를 네트워크 서비스 공급자에게 제공해 필터링 조치를 취한다.

예방을 위해선 NTP 서버를 2.4.7 이상으로 업그레이드해 monolist 명령을 제거하거나 이 명령을 사용하지 않는 NTP 버전을 이용한다. 또한 NTP 서버에 대한 무단 트래픽을 제한하는 방화벽 규칙을 적용하면 예방에 효과적이다.

 

7. DNS 반사 공격 대응법

DNS 반사 공격은 해커가 공격 대상의 IP 주소를 도용해 DNS 조회 요청을 공용 DNS 서버에 보내는 절차를 이용한다. 여기서 DNS란 문자로 된 도메인을 IP주소로 변환해주는 역할을 한다. 공용 DNS 서버는 요청에 대한 응답을 공격 대상에게 보내며, 해커가 선택한 DNS 조회 옵션에 따라 공격이 증폭돼 공격대상은 대역폭을 모두 소진한다.

DNS 반사 공격은 DNS 쿼리 요청이 없는 인바운드 DNS 쿼리 응답을 네트워크 로그에서 조사함으로써 확인할 수 있다. DNS 피해를 줄이기 위해서는 DNS 개발사(BIND, Microsoft 등)에서 제공한 지침에 따라 DNS 재귀 기능(동일한 문제의 더 작은 경우를 해결해 원래의 큰 문제를 해결하는 방법)을 사용하지 않도록 해야 한다.

 

8. CLDAP 반사 공격 대응법

CLDAP 반사 공격 역시 다른 반사 공격과 마찬가지로 IP주소를 위장한다. 그리고 공유 인터넷 디렉토리를 다루는데 사용되는 CLDAP 요청을 LDAP 서버로 보낸다. LDAP 서버는 이 요청에 따른 응답을 공격 대상의 IP로 전송해 자원을 소진하게 만드는데, 이 공격은 52~70배까지 공격력 증폭이 가능하다.

CLDAP 반사 공격 확인은 출발지에서 UDP 389 포트를 사용하는 요청을 네트워크 로그에서 조사한다. LDAP 서버를 운영하는 경우 방화벽 규칙을 통해 공격에 악용되지 않도록 예방조치해야 한다.

KISA는 DDoS 공격 방식 별 대응 방법에서 ‘예방ʼ에 대해 가장 많이 언급했다. 실제로 업계는 DDoS 방어의 가장 중요한 부분은 예방에 있다고 입을 모은다. 하지만 예방을 위한 DDoS 탐지는 비용과 인력의 문제로 중소기업의 입장에선 조금 어려울 수 있다. 하지만 고객정보를 다루는 기업들은 반드시 보안관리자를 따로 두거나, 다수의 보안 솔루션을 구입해 DDoS 방어 체계를 구축해야 한다.

 

DDoS 방어 솔루션의 유형

DDoS 공격에 대응하기 위한 솔루션은 크게 인라인(Inline) 방식과 아웃오브패스(Out-of-Path) 방식으로 나뉜다. 인라인 방식 제품은 말 그대로 물리적 회선 안에 구축된다.

다시 말해 트래픽이 오가는 네트워크 구간에 설치되기 때문에, 모든 트래픽이 장비를 거친다. 모든 트래픽을 체크할 경우, 보안 위협이 발생하면 실시간 차단이 가능하게 된다. 특히 장비 자체가 자기학습을 통해 자동으로 DDoS 공격을 차단한다.

그러나 인라인 방식은 공격이 없을 때도 항상 트래픽을 처리한다. 따라서 과도한 트래픽 처리로 병목현상이나 서비스 장애가 발생할 수 있고, 회선의 숫자만큼 장비를 설치해야 공격을 탐지하고 제어할 수 있다. 아웃오브패스 방식은 트래픽 소통 구간인 회선 외부에 탐지 제어 장비를 설치하는 방식이다.

이 방식은 공격 트래픽이 탐지될 경우 이를 우회해 방어한다. 인라인과 다르게 여러 회선도 하나의 장비로 탐지할 수 있고, 기존 네트워크 트래픽에 영향을 주지 않는 것이 장점이다. 또한 사용자가 웹서버, DNS 서버,메일 서버 등 원하는 방향의 트래픽만을 선택적으로 확인할 수 있다.

다만 아웃오브패스 방식은 상대적으로 보안 위협에 대한 즉각적인 대응이 어렵다는 단점이 있다. 또한 관리자가 직접 개입해 탐지와 방어를 결정해야 하는 특성 때문에 대규모 트래픽 공격이 발생하고 나서야 문제가 생겼음을 인지하게 되는 경우도 있다.

 

솔루션 선택, 자사 인프라 파악이 먼저

DDoS 방어를 위해 인라인과 아웃오브패스 중 한 가지 방식을 골라야 한다면 회사의 인프라 파악이 가장 중요하게 선행돼야 한다고 답할 수 있겠다. 다음으로 고려해야 할 것이 장비 설치 후의 업무 효율성과 서비스 지속성이며, DDoS 솔루션을 공급받을 보안기업의 선택 기준도 확실해야 한다.

인라인은 자동학습 기능이 있어 보안인력을 제대로 갖추지 못한 기업에 유리하다. 이 경우, 관리자의 명령으로만 동작하는 아웃오브패스 방식보다 유리하다.

아웃오브패스는 물리적으로 외부에 설치하므로 서비스 장애율이 적다. 따라서 모든 트래픽을 검토하는 인라인에 비해 서비스 지속성 측면에서 유리하고 업무 효율적이다.

마지막으로 ‘어떠한 기업의 제품을 선택해야 하는가’의 문제에서는 솔루션 판매 업체가 DDoS와 보안에 관련된 전문적 기업인지를 따져 보는 것이 좋다. 특히 공급 솔루션이 ‘알려지지 않은 패턴’에 대한 탐지와 방어가 가능해야 하고, 사용 기업은 업데이트를 통해 최근 발생한 DDoS 공격 패턴에 대해서도 대비를 할 수 있어야 한다.

DDoS 공격 피해 최소화, 예방이 답이다

보안기업 카스퍼스키(Kaspersky)가 지난해 발간한 보고서에 따르면 한국은 2018년 1~2분기 세계에서 4번째로 많은 DDoS 공격을 받은 것으로 기록됐다. 특히 해커들은 자금 규모가 큰 기업의 서비스를 노려 DDoS 공격을 실행하고 돈을 훔치거나 공격을 멈추는 대가로 금전을 요구하는 것으로 나타났다.

DDoS 공격은 재난 재해와 같다. 대기업에 한정해 일어나지 않으며, 예고 후 일어나는 것이 아니다. 대기업에 비해 상대적으로 랜섬웨어와 DDoS 공격을 방어하기 어려운 중소기업들 중에 홈페이지나 서버가 직접적인 수익 창출의 도구인 기업이 DDoS 공격을 당해 피해를 입을 경우, 회사의 존폐유무가 달린 금전적 손실로 이어질 수 있다. 게다가 DDoS 공격은 알아도 차단하기 어려워, 업계 관계자들은 모두 한 목소리로 ‘대비가 답’이라 말한다.

KISA는 DDoS 방어 가이드를 통해 “네트워크 서비스 제공업체의 DDoS 방어 서비스를 인지하고, 관련 방어 서비스를 이용해야 한다”며“또한 DDoS 공격으로 네트워크 서비스 장애가 발생할 것을 대비해, 대체 연결 수단을 준비해야 한다”고 밝혔다.