디도스 공격 : 어떻게 방어할까?

디도스 공격 (Distributed Denial of Service Attack)은 해커들이 특정 목적성을 가지고 수행합니다. 해커들이 공격하는 대상에 대한 경고가 될 수도 있고, 금전적인 이득을 취하기 위하여 해당 공격을 수행합니다. 최근 국내의 3대 통신사 중 하나의 통신사에서도 디도스 공격에 제대로 대응을 하지 못해 인터넷 서비스에 장애가 발생하였습니다. 그렇다면, 디도스 공격이 무엇이길래 대응이 어려운 것일까요? 디도스 공격이 무엇인지, 어떻게 대비하고 방어할 수 있는지 알아보도록 하겠습니다.

디도스 공격 (Distributed Denial of Service Attack)은 말 그대로 직역해보자면, “분산 서비스 거부 공격”입니다. 조금 더 쉽게 설명하자면, 분산되어 있는 어떤 것들이 서비스를 제공하지 못하게 하는 공격을 말합니다. 디도스 공격은 공격대상을 정하게 되는데, 서버 또는 웹사이트, 더 나아가 네트워크 망에도 직접적으로 공격을 수행 할 수 있습니다. 그렇다면 분산되어 있는 어떤 것은 무엇일까요? 해커가 장악한 다양한 인터넷에 연결되어 있는 디바이스를 말합니다. 즉, 해커는 자신이 장악한 PC, 서버, IoT Device 등을 활용해 특정 웹사이트나 네트워크에 대량의 트래픽을 발생시켜 서비스가 정상적으로 동작하지 못하도록 하는 공격을 말합니다. 이로 인해 해당 웹사이트나 서버는 과부하 상태에 놓이게 되어 정상적인 이용자들에게 서비스를 제공할 수 없게 됩니다.

해커의 강력한 무기, 봇넷

해커가 장악한 인터넷에 연결되어 있는 다양한 디바이스로 풀어서 설명 드렸습니다. 이것을 봇넷(botnet)이라고 표현합니다. 봇넷은 악성코드에 감염된 다수의 PC, 서버 등을 말하는데, 최근에는 공유기, CCTV, POS, IP Camera 등 굉장히 다양해졌습니다. 사실 인터넷에 연결된 모든 것들이 악성코드에 감염될 수 있는 것입니다. 해커들의 무기가 되어버린 다양한 디바이스가 더 크고 위협적인 디도스 공격을 발생시키고 있습니다.

디도스 공격의 원리와 유형

디도스 공격원리 : 대량의 봇넷 활용

공격을 시작하기 위해서는, 대량의 봇넷을 구성하는 사전 작업이 필요합니다. 해커들은 인터넷에 공개되어 있는 취약한 디바이스에 악성코드를 주입합니다. 해커는 해당 악성코드를 통해 공격 수행에 대한 명령을 내리게 되며, 디바이스를 제어할 수 있게 됩니다. 해커는 Device에 명령을 내려서 공격하고자 하는 대상에게 네트워크 통신을 지속적으로 시도하여 과도한 트래픽을 발생시킵니다. 수천 개, 수만 개의 악성코드에 감염된 디바이스가 하나의 공격 대상에 트래픽을 집중시키면서 결국 디도스 공격에 성공하게 되는 것입니다.

디도스 공격은 봇넷을 활용해 목적지를 공격합니다.
DDOS Attack

디도스 공격의 유형

디도스 공격에는 다양한 유형의 공격방법이 있습니다. 대표적인 유형으로는 대역폭 고갈 공격(Bandwidth Exhaustion Attack)과 자원 고갈 공격(Resource Exhaustion Attack)이 있습니다. 좀 더 심화된 내용이기 때문에 간단하게 읽어보시면 되겠습니다.

대역폭 고갈 공격 (Bandwidth Exhaustion Attack)

대역폭 고갈 공격은 디도스 공격에서 가장 흔히 발생하는 공격 유형입니다. 해커는 공격 대상 서버로 대량의 트래픽을 집중시키는 것으로, 서버의 대역폭을 초과하여 서비스를 마비시킵니다. 이는 서버가 처리할 수 있는 트래픽의 한계를 초과하게 만들어 정상적인 이용자들에게 서비스를 제공할 수 없도록 만듭니다. 대부분의 경우 이 경우라고 생각하시면 되겠습니다.

자원 고갈 공격(Resource Exhaustion Attack)

자원 고갈 공격은, 서버의 자원을 고갈시켜 서비스의 이용을 불가능하게 만드는 공격입니다. 이 공격은 서버의 CPU, 메모리, 디스크 공간 등과 같은 자원을 고갈시키는 방법을 사용합니다. 예를 들어서 웹 서버의 경우 HTTP 요청을 대량으로 발생시키는 것입니다. 그렇게 되면 서버에서 HTTP 통신에 대한 처리 요청에 대해 한계가 오게 되는데, 이러한 경우 웹서버는 자신이 가진 CPU, Memory 등의 자원이 고갈되어 기능을 못하게 됩니다.

어떻게 디도스 공격에 방어할 수 있을까?

인터넷에 연결되어 있는 디바이스는 현재 억 단위 이상이 존재하고 있고, 이에 따른 봇넷의 규모도 점점 커지고 있습니다. 이에 따라 대규모 공격에 대해서 미리 방어체계를 구축하고 대응하는 것이 필요할 것입니다. 공격을 방어하기 위해 현재 사용되고 있는 방법에 대해 알아보겠습니다.

보안 장비의 활용

많은 기업들에서 다양한 보안장비를 활용하여 디도스 공격에 대비하고 있습니다. 다양한 프로토콜 및 공 차단하는 전용 장비와 더불어 방화벽, IPS등을 통해 트래픽을 필터링 하기도 합니다. 그러나, 이 또한 대규모 트래픽이 발생하여 대역폭이 모두 소진되는 경우에는 무용지물이 될 수 있습니다.

디도스 방어 서비스 활용

통신사 혹은 국가에서 제공하고 있는 디도스 방어 서비스를 활용하는 것도 좋은 방법입니다. 중소기업의 경우 한국인터넷진흥원(KISA)에서 지원하는 서비스를 신청하여 사용이 가능합니다. 대기업의 경우에는 각종 통신사 및 CDN 업체들의 디도스 방어 서비스를 사용하고 있습니다.

취약한 디바이스 조치

현재의 네트워크 및 디도스 방어 기술의 발전으로 적당한 규모의 공격은 어느정도 방어할 수 있는 것이 사실입니다. 그러나 봇넷의 규모는 점점 더 증가하면서 공격 트래픽의 수치도 기하급수적으로 증가하였습니다. 이를 근본적으로 해결하기 위해서는 취약한 디바이스에 대해 조치하는 것이 필요합니다. 이는 개인이 할 수 있는 일은 아니며 국가와 디바이스 제조사 등 다양한 이해 관계자들이 모여서 함께 해결해야 할 문제입니다. 하루 빨리 디바이스의 설계 단계부터 보안이 고려되고, 취약점이 발견되면 즉시 조치할 수 있어 피해를 예방할 수 있는 환경이 마련되었으면 좋겠습니다.

Leave a Comment