10장으로 끝내는 네트워크 기초 다지기, Network is Fun! 다섯번째 주제는 DoS 공격 유형입니다.
01234567891011
Network is Fun! DoS 공격 유형
"디도스 공격 규모, 지난해보다 2.8배 증가" "DDoS C&C 가장 많은 나라 '대한민국' 등, 네트워크 보안과 관련하여 찾아볼 수 있는 DDoS 공격과 피해에 대한 기사들.. DoS? DDoS? 는 무엇인지 DoS 공격과 유형에 대해 알아봅시다.
DoS는 Denial of Service의 약자로, 서비스 거부 공격을 뜻합니다. 해커들이 특정 컴퓨터에 대량의 접속을 유발해 해당 컴퓨터가 서비스를 할 수 없게 마비시키는 수법이죠. 공격자의 목표는 서버가 다른 정상신호를 받지 못하게 방해하는 것입니다.
DoS 공격을 받게 되면, 공격 대상 시스템의 서비스, 하드웨어, 소프트웨어 기능을 원활하게 제공하지 못하게 됩니다. 공격자의 입장에서는 아주 단순하지만 공격자 추적이 어렵고, 공격에 완벽히 대처할 수 있는 방법이 없으며, 공격 즉시 효력을 발휘한다는 특징이 있어요.
DoS 공격 유형 중 Boink, Bonk, TearDrop 공격을 먼저 살펴봅시다. 이들 공격은 오류 제어 로직을 악용하여 시스템자원을 고갈시키는 공격인데요. 공격자가 DoS 공격을 보낼 때, 수신자의 TCP는 신뢰성 있는 연결을 위해 수신 신호에 대해 '패킷 순서는 올바른지' '중간에 손실된 패킷은 없는지' '손실패킷이 있다면 재전송해줄 수 있는지'를 반복적으로 요청하고 수정합니다. 이러한 과정에서 수신자의 PC는 과부하가 되고 시스템 자원이 고갈되어 더이상 통신을 할 수 없게 되죠.
Ping of Death 공격은 일명 '죽음의 핑 날리기'라고도 불리는데요. 공격자가 ping 명령을 보낼 때, 패킷을 최대 65,500바이트까지 길게하여 공격 대상에 전송함으로써 수신자가 대량의 작은 패킷을 수신하게 하는 것입니다. 이런 경우 수신자의 네트워크는 결국 마비되고 말죠. Ping of Death 공격은 윈도우 95, 98, 리눅스6.0 이하에서 유효한 공격입니다.
SYN Flooding 공격은 네트워크에 동시 사용자 제한 기능을 악용한 공격으로, 특정 웹서버가 접속사 폭주로 접속이 되지 않는 경우와 유사합니다. 공격자가 A의 IP로 SYN 세그먼트를 접속하면, 공격 대상의 PC는 수신된 SYN+ACK 세그먼트를 공격자가 아닌 A로 전송한 후 응답을 대기합니다. 그러나 A에게서는 응답이 오지 않고 이를 기다리는 동안 정상적인 접속을 하려는 B의 연결 요청이 거부되어 접속할 수 없게 됩니다.
Smurf 공격은 DoS 공격 중에서도 가장 무서운 공격으로 꼽히는데요, 주로 네트워크 공격에 많이 이용됩니다. 공격자가 IP주소를 위조하여 브로드캐스팅에 ICMP echo을 요청하면, ICMP echo는 브로드캐스팅되어 해당 네트워크와 연결된 모든 컴퓨터에 전달됩니다. 이를 수신한 네트워크 상의 모든 컴퓨터들은 일제히 공격 대상에게 응답 ICMP를 전달하게 되고, 결국 공격 대상의 PC는 시스템 과부하, 정상 서비스 불가의 상태가 됩니다.
그렇다면 우리에게 보다 익숙한 DDoS는 무엇일까요? Distributed Denial of Service의 약자인 DDoS는 분산 서비스 거부 공격이라고 하는데요, 공격자가 수십, 수백만 대의 PC를 원격 조정해 특정 웹사이트에 동시 접속하는 공격을 말합니다. 이 공격은 단시간 내에 과부하를 일으키는 것을 목표로하는 DoS 공격이죠.
과거의 공격 형태는 일종의 자동화된 툴을 이용하는 것이었는데요. 광대한 공격 범위를 위해 최종 공격 대상 이외에도 공격을 증폭시켜주는 중간자가 필요합니다. 공격을 주도하는 공격자(Attacker)의 컴퓨터에서 직접 명령을 받는 컴퓨터는 마스터(Master)라고 하며, 이들은 공격 대상에 직접 공격을 가하는 에이전트(Agent)를 관리합니다. 마스터 시스템의 역할을 수행하는 프로그램은 핸들러(Handler), 에이전트 시스템의 역할을 수행하는 프로그램은 데몬(Demon)이라고도 하죠. 마스터와 에이전트는 중간이면서 피해자이기도 한데, 결국 공격자-마스터-에이전트로 전달된 공격은 공격 대상(Victim)의 네트워크 시스템에 과부하를 일으킵니다.
최근의 DDoS 공격은 악성코드와 결합하여 전파되고 있습니다. DDoS에 사용되는 악성코드는 봇(Bot)이라고 하는데, 여기에 감염된 PC가 바로 좀비PC입니다. 그리고 좀비PC끼리 형성된 네트워크를 봇넷(Botnet)이라고 하죠. 이 공격은 PC 전파 과정에서는 공격이 이루어지지 않고 잠복하고 있다가, 공격명령이나 정해진 스케줄에 따라 일제히 공격대상을 공격하는 특징을 가지고 있습니다.