분산 거부 서비스
1. 개요
1. 개요
분산 거부 서비스(DDoS)는 다수의 시스템을 이용하여 특정 서버, 서비스, 네트워크 인프라에 정상적인 서비스를 불가능하게 만드는 사이버 공격의 한 형태이다. 공격자는 봇넷이라 불리는 감염된 컴퓨터나 IoT 기기로 구성된 네트워크를 조종해, 표적 시스템에 대량의 데이터나 요청을 집중적으로 보낸다. 이로 인해 표적의 대역폭, 처리 능력, 메모리 등의 자원이 고갈되어 합법적인 사용자들의 접속을 차단하는 효과를 낸다.
DDoS 공격은 일반적인 서비스 거부 공격(DoS)과 구별된다. DoS 공격은 단일 출발지에서 이루어지는 반면, DDoS 공격은 지리적으로 분산된 수많은 출발지(좀비 PC)를 동원한다. 이 분산된 특성 때문에 공격 트래픽의 차단이 훨씬 어렵고, 공격 규모도 훨씬 크게 증폭될 수 있다.
이러한 공격의 주요 목적은 서비스의 가용성을 해치는 것이다. 금전적 이득을 위한 사이버 갈취, 정치적·이념적 메시지를 전달하는 해킹티비즘, 경쟁사에 대한 비즈니스 방해, 또는 단순히 명성을 얻기 위한 행위 등 다양한 동기가 존재한다. DDoS 공격은 인터넷의 핵심 프로토콜과 구조적 취약점을 악용하며, 전 세계적인 인터넷 인프라에 지속적인 위협으로 작용하고 있다.
2. DDoS 공격의 원리
2. DDoS 공격의 원리
DDoS 공격의 핵심 원리는 정상적인 서비스 이용을 방해하기 위해 표적 시스템에 과도한 부하를 가하는 것이다. 이는 주로 대규모의 위조된 트래픽을 생성하여 네트워크나 서버의 처리 능력을 초과시키는 방식으로 이루어진다. 공격의 궁극적 목표는 서비스의 가용성을 떨어뜨려 합법적인 사용자들이 서비스를 이용하지 못하게 하는 것이다.
공격 원리는 크게 세 가지 방식으로 구분된다. 첫째는 대규모 트래픽 발생이다. 수많은 공격 노드(주로 봇넷에 감염된 장치들)에서 동시에 표적 서버나 네트워크로 엄청난 양의 데이터 패킷을 전송한다. 이로 인해 표적의 네트워크 대역폭이 포화 상태에 이르러 정상적인 트래픽이 유입될 공간을 잃게 된다.
둘째는 자원 고갈이다. 이는 서버의 시스템 자원을 소모시키는 데 초점을 맞춘다. 예를 들어, TCP 연결을 설정하는 과정에서 필요한 메모리와 CPU 자원을 소진시키기 위해 반쯤 완료된 연결 요청(예: SYN 플러딩)을 대량으로 보낸다. 서버는 이러한 불완전한 연결을 유지하려고 자원을 할당하다가 결국 새로운 정상 연결을 처리할 수 없는 상태에 빠진다.
셋째는 대역폭 소모이다. 이는 네트워크 인프라 자체를 표적으로 한다. 공격자는 리플렉션 공격이나 증폭 공격과 같은 기법을 사용해 작은 요청 패킷으로 표적에게 훨씬 큰 응답 패킷을 반사시키거나 증폭시켜 돌려보낸다. 결과적으로 표적의 네트워크 회선은 자신에게 향하는 거대한 트래픽으로 인해 마비된다. 이러한 원리들이 복합적으로 작용하여 표적의 서비스 거부 상태를 유발한다.
2.1. 대규모 트래픽 발생
2.1. 대규모 트래픽 발생
분산 거부 서비스 공격의 핵심 원리는 정상적인 서비스 이용을 방해할 목적으로 대량의 데이터나 요청을 표적 시스템에 집중적으로 전송하는 것이다. 이 과정에서 가장 기본적이고 직접적인 형태가 대규모 트래픽을 발생시키는 것이다. 공격자는 수천, 수만 대에 달하는 좀비 PC나 IoT 기기로 구성된 봇넷을 이용해 동시에 표적 서버나 네트워크를 향해 패킷을 전송한다.
이러한 트래픽은 일반적으로 UDP 플러드나 ICMP 플러드와 같은 단순한 형태를 띤다. 공격의 목표는 표적의 네트워크 대역폭을 포화시켜 정상적인 사용자의 접속을 물리적으로 차단하는 것이다. 예를 들어, 1Gbps의 대역폭을 가진 서버를 10Gbps 이상의 트래픽으로 공격하면, 네트워크 경로가 마비되어 합법적인 요청이 서버에 도달하지 못하게 된다.
대규모 트래픽 공격의 효과는 공격 트래픽의 규모와 표적의 네트워크 용량에 직접적으로 좌우된다. 따라서 공격자는 가능한 한 많은 장치를 동원하거나, 리플렉션 공격과 같은 기법을 사용해 트래픽을 증폭시켜 공격의 규모를 극대화하려고 한다. 이는 비교적 탐지하기 쉬운 공격 방식이지만, 충분한 규모의 트래픽이 발생할 경우 가장 기본적이면서도 강력한 효과를 발휘한다.
2.2. 자원 고갈
2.2. 자원 고갈
자원 고갈 공격은 표적 시스템의 핵심 컴퓨팅 자원, 예를 들어 CPU, 메모리, 연결 테이블 등을 소진시켜 정상적인 서비스를 불가능하게 만드는 방식이다. 이는 단순히 네트워크 대역폭을 포화시키는 볼류메트릭 공격과는 구분되는 개념이다. 공격자는 상대적으로 적은 양의 트래픽으로도 시스템의 취약점을 정확히 타격하여, 서버의 처리 능력을 극도로 낮추거나 완전히 마비시킬 수 있다.
대표적인 예로 TCP SYN 플러드 공격이 있다. 이 공격은 TCP 연결 설정 과정의 핸드셰이크 취약점을 악용한다. 공격자는 다수의 가짜 SYN 패킷을 대상 서버로 보내고, 서버는 각 요청에 대해 SYN-ACK 패킷을 응답하며 연결 자원을 할당해 대기한다. 그러나 공격자는 정상적인 ACK 패킷으로 완료하지 않아, 서버의 연결 대기 큐를 미완성 연결 요청으로 가득 채운다. 이로 인해 새로운 합법적인 연결 요청을 처리할 수 있는 자원이 고갈된다.
애플리케이션 계층에서의 자원 고갈 공격도 흔하다. 예를 들어, 웹 서버의 로그인 페이지나 검색 기능처럼 데이터베이스 쿼리와 같은 무거운 처리를 요구하는 엔드포인트를 집중적으로 공격한다. 공격은 다음과 같은 형태를 띤다.
공격 유형 | 설명 | 목표 자원 |
|---|---|---|
HTTP 플러드 | 다수의 HTTP GET 또는 POST 요청을 지속적으로 전송 | 웹 서버 스레드, 애플리케이션 처리 능력 |
Slowloris[1] | 불완전한 HTTP 요청을 매우 느리게 전송하여 연결 세션을 장시간 점유 | 웹 서버의 동시 연결 수 한도 |
데이터베이스 쿼리 공격 | 복잡한 검색 쿼리나 리소스 집약적인 API 호출을 반복 실행 | 데이터베이스 서버의 CPU 및 메모리 |
이러한 공격은 시스템이 정상 요청 하나를 처리하는 데 필요한 자원의 수백 배를 소모하게 만들어, 결국 서비스 응답 지연이나 완전한 중단을 초래한다. 방어 측면에서는 애플리케이션 로직을 보호하고, 연결 시간 초과 값을 조정하며, 의심스러운 트래픽 패턴을 조기에 식별하는 것이 중요하다.
2.3. 대역폭 소모
2.3. 대역폭 소모
대역폭 소모 공격은 표적 서버나 네트워크의 모든 사용 가능한 대역폭을 포화시켜 정상적인 트래픽이 통과하지 못하도록 방해하는 것을 목표로 한다. 이는 공격자가 조작한 수많은 패킷으로 네트워크 연결 경로를 가득 채워, 마치 도로가 정체되어 아무도 지나갈 수 없는 상태와 유사하다. 이러한 공격은 주로 볼류메트릭 공격의 한 형태로, 공격의 규모(초당 비트 수나 패킷 수)가 방어의 핵심 요소가 된다.
공격은 종종 리플렉션 공격이나 증폭 공격 기법과 결합되어 실행된다. 공격자는 스푸핑을 통해 출발지 IP 주소를 표적의 주소로 위조한 후, 많은 수의 공개 서버(예: DNS 서버, NTP 서버)에 작은 요청을 보낸다. 이 서버들은 응답으로 훨씬 큰 데이터 패킷을 표적 서버로 보내게 되는데, 이를 통해 공격 트래픽이 증폭된다[2]. 결과적으로 표적은 자신이 요청하지도 않은 엄청난 양의 데이터로 인해 업링크와 다운링크 대역폭이 모두 고갈된다.
대역폭 소모 공격의 효과는 네트워크 인프라의 용량에 직접적으로 좌우된다. 공격 트래픽의 양이 네트워크의 최대 처리 용량을 초과하면, 모든 통신이 마비된다. 방어 측면에서는 이러한 공격을 완화하기 위해 트래픽 필터링 장비나 클라우드 기반의 DDoS 방어 서비스를 통해 악성 트래픽을 네트워크 외곽에서 차단하고, 정상 트래픽만 통과시키는 전략이 사용된다.
3. 주요 공격 유형
3. 주요 공격 유형
분산 거부 서비스 공격은 그 목표와 방법에 따라 크게 세 가지 주요 유형으로 분류된다. 각 유형은 OSI 모델의 서로 다른 계층을 표적으로 하며, 방어 전략도 이에 따라 달라진다.
첫 번째 유형은 볼류메트릭 공격이다. 이는 네트워크 대역폭을 초과하는 엄청난 양의 데이터 트래픽을 대상 시스템에 집중시켜 정상적인 서비스를 불가능하게 만드는 방식이다. 대표적인 공격으로는 UDP 플러드와 ICMP 플러드가 있다. 이 공격들은 주로 네트워크 계층(3계층)과 전송 계층(4계층)을 표적으로 하며, 공격 트래픽의 규모가 방어의 핵심 과제가 된다.
두 번째 유형은 프로토콜 공격이다. 이는 네트워크 프로토콜의 취약점이나 동작 방식을 악용하여 시스템의 자원(예: 연결 상태 테이블, 메모리, CPU)을 고갈시키는 데 초점을 맞춘다. 대표적인 예로는 SYN 플러드 공격이 있다. 이 공격은 TCP의 3방향 핸드셰이크 과정에서 불완전한 연결 요청을 대량으로 생성하여 서버의 연결 대기 큐를 포화시킨다. 또한, Ping of Death나 Smurf 공격과 같이 프로토콜 자체의 결함을 이용하는 공격도 이 범주에 속한다.
공격 유형 | 주요 표적 계층 | 대표 공격 예시 | 주요 영향 |
|---|---|---|---|
볼류메트릭 | 3-4계층 (네트워크/전송) | UDP 플러드, ICMP 플러드 | 대역폭 포화 |
프로토콜 | 3-4계층 (네트워크/전송) | SYN 플러드, Ping of Death | 시스템 자원(연결, CPU) 고갈 |
애플리케이션 계층 | 7계층 (응용) | HTTP 플러드, Slowloris | 웹 서버/애플리케이션 과부하 |
세 번째 유형은 애플리케이션 계층 공격이다. 이는 OSI 7계층 중 최상위인 응용 계층을 표적으로 한다. 공격자는 정상적인 사용자처럼 보이는 요청을 지속적으로 보내 웹 서버, 데이터베이스, 또는 애플리케이션 자체를 과부하 상태로 만든다. HTTP 플러드는 웹 페이지 요청을 수없이 반복하는 방식이며, Slowloris 공격은 매우 느린 속도로 연결을 유지하여 사용 가능한 모든 연결 소켓을 점유한다. 이 유형의 공격은 트래픽 양이 상대적으로 적더라도 서버 처리 능력을 쉽게 고갈시킬 수 있어 탐지와 방어가 더 까다롭다.
3.1. 볼류메트릭 공격
3.1. 볼류메트릭 공격
볼류메트릭 공격은 대역폭을 목표로 한 분산 거부 서비스 공격의 한 유형이다. 이 공격의 목적은 표적 네트워크나 서버의 모든 이용 가능한 대역폭을 압도적으로 많은 양의 데이터 트래픽으로 포화시켜, 합법적인 사용자의 요청이 처리될 수 없도록 차단하는 것이다. 공격자는 일반적으로 봇넷을 활용해 수천, 수만 대의 감염된 장치로부터 동시에 엄청난 양의 데이터 패킷을 표적에게 전송한다.
가장 대표적인 볼류메트릭 공격 방식으로는 UDP 플러드와 ICMP 플러드가 있다. UDP 플러드 공격은 연결 설정이 필요 없는 사용자 데이터그램 프로토콜 패킷을 대량으로 전송하여 표적의 포트를 무작위로 공격한다. ICMP 플러드(예: 핑 플러드)는 네트워크 진단용 인터넷 제어 메시지 프로토콜 패킷, 특히 Echo Request 패킷을 이용해 대역폭을 소모시킨다. 이들 공격은 패킷 자체가 단순하지만, 그 규모가 방어 임계치를 초과하면 효과를 발휘한다.
또 다른 강력한 볼류메트릭 공격 기법은 리플렉션 공격과 증폭 공격이 결합된 형태이다. 공격자는 출발지 주소를 표적의 IP 주소로 위조한 후, 응답이 더 큰 데이터를 반환하는 공개 서버(예: DNS 서버, NTP 서버, SNMP 서버)에 작은 요청 패킷을 보낸다. 이 서버들은 큰 응답 패킷을 표적에게 전송하게 되는데, 이로 인해 작은 요청 대비 수십 배에서 수천 배에 달하는 트래픽이 표적을 향해 증폭되어 유입된다[3].
볼류메트릭 공격의 특징과 대응 방안은 다음 표와 같이 정리할 수 있다.
공격 유형 | 사용 프로토콜/방법 | 주요 특징 | 일반적 완화 방안 |
|---|---|---|---|
UDP 플러드 | 연결 없는 프로토콜을 이용한 무차별 포트 공격 | 인바운드 UDP 트래픽 차단 또는 속도 제한 | |
ICMP 플러드 | 인터넷 제어 메시지 프로토콜 (핑) | 진단 패킷을 이용한 대역폭 소모 공격 | 인바운드 ICMP 트래픽 차단 또는 필터링 |
리플렉션/증폭 공격 | 작은 요청으로 큰 응답을 유도해 트래픽 증폭 | 출발지 IP 위조 패킷 차단(BCP38), 취약 서비스 필터링 |
이러한 공격은 순수한 트래픽의 양으로 대역폭을 포화시키기 때문에, 방어 측에서는 주로 트래픽 필터링이나 클라우드 기반 DDoS 방어 서비스를 통해 공격 트래픽을 차단하거나, 콘텐츠 전송 네트워크를 활용해 트래픽을 분산시키는 방식으로 대응한다.
3.2. 프로토콜 공격
3.2. 프로토콜 공격
프로토콜 공격은 OSI 모델의 3계층(네트워크 계층)과 4계층(전송 계층)에서 작동하는 프로토콜의 취약점이나 설계적 한계를 악용한다. 이 유형의 공격은 상대적으로 적은 양의 트래픽으로도 표적 시스템의 핵심 자원(예: 연결 상태 테이블, 세션 관리 엔진)을 고갈시켜 서비스 마비를 유도한다는 특징이 있다. 따라서 대역폭을 포화시키는 볼류메트릭 공격과는 다른 메커니즘으로 작동한다.
대표적인 프로토콜 공격에는 SYN 플러드, Ping of Death, Smurf 공격 등이 포함된다. SYN 플러드 공격은 TCP 연결 설정 과정의 핸드셰이크 절차를 악용한다. 공격자는 다수의 가짜 출발지 IP 주소로 수많은 SYN 패킷을 보내고, 서버가 응답하는 SYN-ACK 패킷에 대해 정상적인 ACK 응답을 보내지 않는다. 이로 인해 서버는 미완성 연결을 위한 리소스를 계속 점유하게 되어, 정상적인 연결 요청을 처리할 수 없는 상태에 빠지게 된다.
다른 주요 프로토콜 공격 유형은 다음과 같다.
공격 유형 | 설명 | 대상 프로토콜/자원 |
|---|---|---|
SYN 플러드 | TCP 3-way 핸드셰이크 과정을 악용하여 반개방 연결로 서버 자원 고갈 | TCP |
Ping of Death | IP 패킷의 최대 허용 크기를 초과하도록 조작된 ICMP 패킷을 전송하여 시스템 충돌 유도 | ICMP/IP |
Smurf 공격 | 출발지 IP를 공격 대상으로 위조한 브로드캐스트 패킷을 전송, 증폭된 응답 트래픽 유도 | ICMP |
UDP 플러드 | 존재하지 않거나 닫힌 포트로 대량의 UDP 패킷을 전송하여 호스트의 ICMP 응답으로 자원 소모 | UDP |
HTTP/2 Rapid Reset | HTTP/2 프로토콜의 스트림 제어 메커니즘을 악용해 초고속 연결 생성 및 종료를 반복[4] | HTTP/2 |
이러한 공격은 네트워크 장비(방화벽, 로드 밸런서, 서버)의 프로토콜 스택 처리 능력을 목표로 하기 때문에, 방어를 위해서는 프로토콜 이상 패턴을 탐지하고 필터링하는 기술이 필요하다. 일반적으로 상태 기반 검사를 수행하는 방화벽이나 침입 방지 시스템을 통해 비정상적인 연결 시도를 차단하거나, SYN 쿠키와 같은 메커니즘을 서버에 적용하여 미완성 연결로 인한 자원 고갈을 방지한다.
3.3. 애플리케이션 계층 공격
3.3. 애플리케이션 계층 공격
애플리케이션 계층 공격(OSI 모델의 7계층)은 표적 서버의 애플리케이션 자체를 표적으로 하는 공격 방식이다. 이 공격은 상대적으로 적은 양의 트래픽으로도 서버의 핵심 애플리케이션 프로세스나 데이터베이스를 마비시킬 수 있어 효율성이 높다. 공격자는 정상적인 사용자 요청을 가장하지만, 서버가 처리하는 데 많은 자원을 소모하는 특정 요청을 집중적으로 보낸다.
주요 대상은 웹 서버, DNS 서버, 이메일 서버 등이며, HTTP GET Flood나 HTTP POST Flood가 대표적이다. 예를 들어, 데이터베이스 검색이 필요한 동적 페이지 요청, 대용량 파일 업로드 요청, 또는 복잡한 API 호출을 반복적으로 전송하여 서버의 CPU나 메모리 자원을 고갈시킨다. Slowloris 공격처럼 연결을 최대한 길게 유지하면서 헤더를 매우 느리게 전송하여 사용 가능한 연결 풀을 모두 점유하는 방식도 이 범주에 속한다.
이러한 공격은 트래픽 양 자체는 작을 수 있어 네트워크 계층에서의 탐지가 어려운 경우가 많다. 방어를 위해서는 일반적인 트래픽 필터링보다 더 정교한 방법이 필요하다. 웹 애플리케이션 방화벽을 활용하여 비정상적인 요청 패턴을 식별하고 차단하거나, 사용자 행동 분석을 통해 자동화된 봇 트래픽과 실제 인간 사용자의 트래픽을 구분하는 기술이 적용된다.
4. 공격 도구 및 방법
4. 공격 도구 및 방법
분산 거래 서비스 공격을 수행하는 데 사용되는 주요 도구는 봇넷이다. 봇넷은 악성 코드에 감염되어 공격자의 명령을 받는 다수의 장치(주로 IoT 기기나 개인 컴퓨터)로 구성된 네트워크이다. 공격자는 이 봇넷을 원격으로 제어하여 동시에 표적 시스템으로 대량의 트래픽을 보내도록 지시한다.
봇넷을 활용한 대표적인 공격 방법으로 리플렉션 공격과 증폭 공격이 있다. 이 방법은 공격자의 실제 위치를 숨기고 공격 효과를 극대화하는 데 사용된다. 공격자는 출발지 주소를 표적 서버의 IP 주소로 위조한 후, 특정 서버(예: DNS 서버, NTP 서버)에 작은 요청 패킷을 보낸다. 해당 서버는 응답 패킷을 위조된 출발지 주소, 즉 표적 서버로 보내게 되는데, 이때 응답 패킷의 크기가 요청 패킷보다 훨씬 커지는 경우가 많다[5]. 이를 통해 공격자는 적은 양의 자원으로 표적에 막대한 트래픽을 유도할 수 있다.
주요 리플렉션/증폭 공격에 사용되는 프로토콜은 다음과 같다.
프로토콜 | 설명 | 증폭 배율 |
|---|---|---|
도메인 이름 시스템 질의 응답 | 최대 54배 | |
네트워크 시간 프로토콜 모니터 명령 | 최대 556배 | |
단순 네트워크 관리 프로토콜 | 최대 170배 | |
간단한 서비스 발견 프로토콜 | 최대 30배 |
이러한 공격 도구와 방법은 점점 더 정교해지고 자동화되어, 초당 수백 기가비트에 이르는 초대규모 공격이 가능해졌다.
4.1. 봇넷
4.1. 봇넷
봇넷은 악성 소프트웨어에 감염되어 공격자의 명령을 받는 다수의 컴퓨터나 IoT 장치로 구성된 네트워크이다. 이는 분산 거부 서비스 공격을 수행하는 데 가장 핵심적인 인프라로 활용된다. 공격자는 C&C 서버를 통해 봇넷에 속한 모든 장치에 동시에 명령을 전달하여 특정 목표에 대한 공격을 조정한다. 봇넷을 구성하는 각각의 감염된 장치는 '좀비' 또는 '봇'이라고 불린다.
봇넷의 규모는 수백 대에서 수백만 대에 이르며, 그 규모가 클수록 더 많은 트래픽을 발생시켜 방어를 어렵게 만든다. 봇넷은 종종 트로이 목마, 웜, 또는 취약한 보안 설정을 가진 장치를 대상으로 한 자동화된 스캔을 통해 확보된다. 일단 구성되면, 봇넷은 DDoS 공격 외에도 스팸 메일 발송, 크레덴셜 스터핑, 암호화폐 채굴 등 다양한 불법 활동에 활용될 수 있다.
주요 봇넷의 예시는 다음과 같다.
봇넷 이름 | 주요 특징 | 활성화 시기 |
|---|---|---|
주로 기본 비밀번호가 변경되지 않은 IoT 장치를 감염시켜 대규모 DDoS 공격을 수행함 | 2016년 | |
주로 온라인 뱅킹 정보를 탈취하는 데 사용되었으나, 봇넷으로도 활용됨 | 2007년경 | |
초기에는 은행 정보를 훔치는 트로이 목마였으나, 후에 다른 악성코드를 유포하는 봇넷으로 진화함 | 2014년경 |
봇넷을 통한 공격은 출발지 IP 주소가 전 세계에 분산되어 있어 일반적인 블랙리스트 기반의 필터링으로는 대응하기 어렵다. 또한, 봇넷은 지속적으로 새로운 감염 방식을 도입하고 C&C 서버의 위치를 변경하여 탐지와 차단을 회피하려 한다. 이에 대한 방어는 네트워크 트래픽 분석을 통한 이상 징후 탐지와 감염 장치의 조기 격리가 중요하다.
4.2. 리플렉션/증폭 공격
4.2. 리플렉션/증폭 공격
리플렉션/증폭 공격은 공격자가 상대적으로 적은 양의 요청을 보내 목표 서버에 대량의 응답 트래픽을 유도하는 기법이다. 이 공격은 공격 트래픽의 출처를 위장하고 공격 효율을 극대화하기 위해 인터넷상의 개방된 서버들을 중간 매개체로 활용한다. 공격자는 출발지 IP 주소를 공격 대상의 IP로 위조한 후, 응답을 반사해 줄 수 있는 서버들(리플렉터)에게 요청 패킷을 보낸다. 그러면 이 서버들은 위조된 출발지 주소, 즉 실제 공격 대상에게 응답 패킷을 전송하게 되어 대상은 수많은 서버로부터 집중적인 트래픽을 받게 된다.
증폭은 이러한 반사 과정에서 데이터 양이 증가하는 현상을 의미한다. 공격자는 작은 크기의 요청을 보내면, 리플렉터 서버는 그에 비해 훨씬 큰 응답을 생성해 보내는 특정 프로토콜을 악용한다. 이로 인해 공격자는 자신의 대역폭을 최소한으로 사용하면서 목표에 막대한 트래픽 부하를 가할 수 있다. 대표적으로 활용되는 프로토콜에는 DNS, NTP, SNMP, CLDAP 등이 있다.
다음은 주요 리플렉션/증폭 공격에 사용되는 프로토콜과 그 특성의 예시이다.
프로토콜 | 기본 포트 | 일반적인 증폭 배율 | 설명 |
|---|---|---|---|
53 | 최대 54배 | DNS 쿼리에 대한 대량의 응답 데이터를 이용한다. | |
123 | 최대 556배 |
| |
161 | 최대 170배 | 네트워크 장치 정보 요청에 대한 대량 응답을 이용한다. | |
389 | 최대 70배 | LDAP 프로토콜의 변종으로, 인증 없이 데이터를 반사한다. |
이러한 공격을 효과적으로 방어하기 위해서는 위 표에 나열된 포트를 통한 불필요한 외부 접근을 차단하고, 네트워크 장치에서 출발지 IP 주소 위조를 방지하는 Ingress filtering을 적용하는 것이 중요하다. 또한 클라우드 기반 DDoS 방어 서비스는 이러한 대규모로 분산된 반사 트래픽을 흡수하고 필터링하는 데 유용한 수단이 된다.
5. 방어 및 완화 기술
5. 방어 및 완화 기술
트래픽 필터링은 가장 기본적인 방어 수단이다. 네트워크 경계에서 비정상적인 패킷을 차단하는 기술로, IP 주소 기반 차단, 시그니처 기반 탐지, 행위 기반 분석 등이 포함된다. 특히 BGP 흐름 명세를 이용해 공격 트래픽을 근원지에서 차단하거나, 라우터와 방화벽에서 정교한 ACL을 구성하는 방법이 널리 사용된다.
콘텐츠 전송 네트워크는 지리적으로 분산된 서버 네트워크를 통해 트래픽을 분산시키는 기술이다. 사용자 요청을 가장 가까운 CDN 서버에서 처리함으로써 원본 서버의 부하를 줄이고, 대규모 볼류메트릭 공격을 흡수하는 버퍼 역할을 한다. 또한 CDN 제공업체는 종종 내장된 웹 애플리케이션 방화벽 기능을 통해 애플리케이션 계층 공격을 추가로 방어한다.
전문 DDoS 방어 서비스는 클라우드 기반의 스크러빙 센터를 운영한다. 고객의 모든 트래픽은 먼저 이 센터로 유입되어 악성 트래픽이 제거된 후 깨끗한 트래픽만 원본 서버로 전달된다. 이 서비스는 대규모 대역폭 용량과 실시간 위협 인텔리전스를 바탕으로 리플렉션 공격이나 프로토콜 공격과 같은 복잡한 공격을 효과적으로 완화한다.
다양한 기술을 조합한 다계층 방어 전략이 권장된다. 예를 들어, 네트워크 계층에서는 트래픽 필터링과 BGP Anycast를, 애플리케이션 계층에서는 CDN과 WAF를 함께 사용한다. 또한 가용 대역폭을 여유 있게 확보하고, 중요한 서비스에 대해 지리적 분산 아키텍처를 설계하는 것이 근본적인 복원력을 높인다.
5.1. 트래픽 필터링
5.1. 트래픽 필터링
트래픽 필터링은 분산 거부 서비스 공격을 방어하는 핵심 기술 중 하나이다. 이 기법은 네트워크 경계에서 유입되는 트래픽을 분석하여 악의적이거나 비정상적인 패킷을 차단하고, 합법적인 트래픽만 통과시키는 것을 목표로 한다. 필터링은 일반적으로 라우터, 방화벽, 또는 전용 DDoS 방어 서비스 장비에서 수행된다.
주요 필터링 방식으로는 IP 주소 기반 차단, 포트 필터링, 그리고 시그니처 기반 탐지가 있다. IP 기반 차단은 공격에 사용된 것으로 알려진 출발지 IP 주소 목록(블랙리스트)을 사용하여 트래픽을 차단한다. 포트 필터링은 특정 서비스와 관련되지 않은 비정상적인 포트로의 접근을 막는다. 시그니처 기반 탐지는 알려진 공격 패턴(패킷 크기, 플래그 조합, 특정 문자열 등)을 데이터베이스화하여 이를 기반으로 공격 트래픽을 식별하고 차단한다.
보다 진보된 방식으로는 율 제한과 행위 기반 분석이 있다. 율 제한은 특정 시간 동안 단일 소스로부터 허용되는 연결 또는 요청 수를 제한하여 갑작스러운 트래픽 폭증을 억제한다. 행위 기반 분석은 기계 학습 알고리즘을 활용하여 정상적인 사용자 트래픽의 기준 패턴을 학습하고, 이로부터 벗어나는 이상 징후를 실시간으로 탐지한다. 이 방법은 새로운 또는 변형된 공격에 대응하는 데 효과적이다.
트래픽 필터링의 효과적인 적용을 위해, 네트워크 아키텍처 상에서 필터링 지점을 전략적으로 배치하는 것이 중요하다. 일반적으로 다음과 같은 위치에서 다중 계층으로 필터링을 구성한다.
필터링 지점 | 주요 역할 | 활용 장비 예시 |
|---|---|---|
네트워크 경계 (인터넷 업링크) | 대규모 볼류메트릭 공격 트래픽의 1차 차단 | 경계 라우터, 스크러빙 센터 |
데이터 센터/서버 앞단 | 애플리케이션 계층 공격 등 보다 정교한 공격 필터링 | 웹 애플리케이션 방화벽(WAF), 로드 밸런서 |
개별 서버 (호스트 기반) | 최종 방어선으로서 서비스별 세부 보호 | 호스트 기반 방화벽, 서비스 구성 설정 |
5.2. CDN 활용
5.2. CDN 활용
콘텐츠 전송 네트워크(CDN)는 지리적으로 분산된 서버 네트워크로, 분산 거부 서비스 공격을 완화하는 데 핵심적인 역할을 한다. CDN의 기본 작동 원리는 사용자와 원본 서버 사이에 중간 계층을 두어 정적 및 동적 콘텐츠를 캐싱하고 분산하여 제공하는 것이다. 이 구조는 공격 트래픽이 원본 서버에 직접 도달하는 것을 차단하는 효과적인 방어막이 된다.
DDoS 방어 측면에서 CDN은 주로 두 가지 방식으로 기능한다. 첫째, 대규모의 분산 인프라를 통해 볼류메트릭 공격으로 발생하는 엄청난 양의 트래픽을 흡수하고 분산시킨다. 공격 트래픽은 전 세계에 퍼져 있는 수많은 에지 서버로 분산되며, 이 서버들은 정상적인 사용자 요청만을 선별하여 원본 서버로 전달한다. 둘째, CDN 제공업체는 종종 고급 트래픽 분석 및 필터링 기능을 내장하고 있어, 비정상적인 패턴을 가진 트래픽을 실시간으로 식별하고 차단할 수 있다.
CDN을 통한 DDoS 방어의 효과는 아래 표와 같이 요약할 수 있다.
방어 메커니즘 | 설명 |
|---|---|
트래픽 분산 및 흡수 | 공격 트래픽을 전 세계의 에지 서버로 분산시켜 단일 지점의 부하를 줄인다. |
원본 서버 은닉 | 원본 서버의 실제 IP 주소를 감춰 직접적인 표적 공격을 어렵게 만든다. |
스크러빙 센터 활용 | 의심스러운 트래픽을 별도의 '클린링' 센터로 라우팅해 검증 후 정상 트래픽만 전달한다. |
대역폭 확장 | CDN의 광범위한 네트워크 용량을 활용해 대규모 대역폭 소모 공격을 견딜 수 있다. |
따라서 CDN 활용은 단순한 콘텐츠 전송 가속을 넘어, 인프라 수준에서의 확장성 있는 DDoS 방어 전략으로 평가된다. 특히 애플리케이션 계층 공격과 같은 정교한 공격에 대해서도 웹 애플리케이션 방화벽(WAF) 기능과 결합하여 효과적인 보호를 제공할 수 있다.
5.3. DDoS 방어 서비스
5.3. DDoS 방어 서비스
DDoS 방어 서비스는 전문 업체가 제공하는 클라우드 기반의 완화 솔루션으로, 고객의 네트워크나 서버에 직접적인 공격 트래픽이 도달하기 전에 이를 차단하고 정상 트래픽만을 전달하는 서비스이다. 이 서비스는 고객이 자체적으로 방어 인프라를 구축하고 유지하는 데 드는 높은 비용과 기술적 부담을 덜어주는 역할을 한다. 주로 클라우드 컴퓨팅 플랫폼이나 전용 보안 업체를 통해 제공되며, 구독형 모델로 운영되는 경우가 많다.
서비스의 핵심 작동 원리는 트래픽 리디렉션에 있다. 고객의 도메인(DNS) 설정을 변경하거나 BGP 라우팅을 조정하여, 외부에서 들어오는 모든 트래픽을 먼저 방어 서비스 업체의 스크러빙 센터로 보내게 한다. 이 센터에서는 실시간으로 트래픽을 분석하여 악의적인 공격 패킷을 걸러내고, 정상적인 사용자의 요청만을 고객의 원본 서버로 전송한다. 이 과정을 통해 원본 서버는 공격의 직접적인 영향을 받지 않게 된다.
주요 서비스 유형과 특징은 다음과 같다.
서비스 유형 | 설명 | 주요 특징 |
|---|---|---|
항시형 보호 | 모든 트래픽이 항상 방어망을 거치도록 설정하는 방식. | 지속적인 보호가 가능하지만, 약간의 레이턴시가 추가될 수 있다. |
온디맨드 보호 | 평소에는 정상 경로로 트래픽이 흐르다가 공격이 감지되면 방어망으로 전환하는 방식. | 평소 성능에 영향이 적지만, 전환 시 약간의 다운타임이 발생할 수 있다. |
하이브리드 보호 | 온프레미스 장비로 소규모 공격을 막고, 대규모 공격 시 클라우드 서비스로 트래픽을 오프로드하는 방식. | 유연성과 비용 효율성을 동시에 추구한다. |
이러한 서비스는 특히 볼류메트릭 공격처럼 대역폭을 압도하는 규모의 공격에 효과적이다. 업체는 전 세계에 분산된 대용량 데이터 센터와 네트워크를 보유하고 있어, 단일 고객의 네트워크 용량을 훨씬 초과하는 트래픽도 흡수하고 필터링할 수 있다. 또한, 서비스는 다양한 공격 유형에 대한 시그니처 데이터베이스와 행위 기반 분석 엔진을 지속적으로 업데이트하여 새로운 위협에 대응한다.
6. 대응 절차 및 정책
6. 대응 절차 및 정책
효과적인 분산 거부 서비스 대응은 사전 계획, 실시간 대응, 사후 분석의 세 단계로 구성된 체계적인 절차를 필요로 한다. 조직은 공격 발생 전, 중, 후에 취해야 할 구체적인 행동 지침을 명확히 정의한 대응 계획을 수립하고 정기적으로 훈련을 실시해야 한다.
사전 대비 계획 단계에서는 위협 모델링을 통해 자산과 취약점을 식별하고, 비즈니스 연속성 계획 수립이 핵심이다. 이 단계에서 다음 사항들을 준비한다.
준비 항목 | 주요 내용 |
|---|---|
대응 팀 구성 | 사고 대응 팀의 역할과 책임, 연락체계를 명확히 정의한다. |
기술적 인프라 점검 | 방화벽, 라우터, 로드 밸런서 등의 설정과 DDoS 방어 서비스 연동 상태를 확인한다. |
통신 계획 수립 | 내부 이해관계자 및 인터넷 서비스 제공자, 고객, 필요시 수사기관과의 연락 절차를 마련한다. |
기준선 트래픽 파악 | 정상적인 트래픽 패턴과 용량 기준선을 수립하여 이상 징후를 빠르게 탐지할 수 있도록 한다. |
실시간 대응 단계는 공격 탐지와 동시에 시작된다. 첫째, 모니터링 도구를 통해 공격을 확인하고 즉시 사고 대응 팀을 소집한다. 둘째, 사전 정의된 플레이북에 따라 우선순위에 맞게 조치를 실행한다. 이는 트래픽 리디렉션을 통해 공격 트래픽을 클라우드 기반 DDoS 방어 서비스로 흡수하거나, ISP에 공격 통보 및 협력을 요청하는 것을 포함한다. 셋째, 지속적으로 핵심 이해관계자에게 상황을 보고하고, 필요한 경우 서비스 장애 사실을 고객에게 투명하게 공개한다.
사후 분석 단계에서는 공격이 완전히 종료된 후 반드시 사후 분석 보고서를 작성한다. 이 보고서에는 공격의 지속 시간, 유형, 피해 규모, 대응 조치의 효과성과 개선점이 포함되어야 한다. 분석 결과를 바탕으로 대응 계획과 기술적 방어 체계를 수정 및 보완하고, 관련 직원을 대상으로 한 교육 프로그램을 강화한다. 이를 통해 다음 공격에 대한 조직의 복원력과 대응 능력을 지속적으로 향상시킨다.
6.1. 사전 대비 계획
6.1. 사전 대비 계획
사전 대비 계획은 분산 거부 서비스 공격 발생 시 신속하고 효과적으로 대응하기 위한 기반을 마련하는 과정이다. 이 계획은 공격으로 인한 서비스 중단 시간을 최소화하고 복구를 용이하게 하는 것을 목표로 한다.
핵심 구성 요소는 다음과 같다. 첫째, 명확한 대응 체계와 역할 분담을 수립한다. 이는 사고 대응 팀의 구성, 의사결정 권한, 내부 및 외부(예: 인터넷 서비스 제공자, DDoS 방어 서비스 업체)와의 협력 절차를 포함한다. 둘째, 정기적인 위험 평가와 자산 분류를 통해 보호가 필요한 핵심 인프라와 서비스를 식별한다. 셋째, 공격 탐지 및 모니터링을 위한 도구와 기준(예: 정상 트래픽 기준치, 이상 징후)을 마련한다.
준비 항목 | 주요 내용 |
|---|---|
대응 체계 수립 | 책임자 지정, 연락체계, 의사결정 프로세스 정의 |
자산 식별 및 우선순위 설정 | 보호 대상 서버, 애플리케이션, 네트워크 대역폭 확인 |
기술적 인프라 점검 | |
통신 계획 | 내부 직원, 고객, 미디어, 관계 기관에 대한 공개 메시지 및 연락 절차 수립 |
교육 및 훈련 | 관련 직원에 대한 정기 교육과 모의 DDoS 공격 대응 훈련 실시 |
마지막으로, 계획은 문서화되어야 하며, 정기적인 검토와 모의 훈련을 통해 현실성과 유효성을 유지해야 한다. 훈련은 실제 공격 상황에서의 대응 속도와 정확도를 높이는 데 필수적이다. 또한, 비즈니스 연속성 계획 및 재해 복구 계획과의 연계를 통해 포괄적인 위기 관리 체계를 구축한다.
6.2. 실시간 대응
6.2. 실시간 대응
실시간 대응은 분산 거래 서비스 공격이 감지된 직후부터 공격이 종료될 때까지 이루어지는 일련의 대응 활동을 말한다. 이 단계의 핵심 목표는 서비스 중단 시간을 최소화하고 정상적인 서비스를 신속하게 복원하는 것이다. 일반적으로 사전에 구성된 대응 체계와 사고 대응 팀이 즉시 활성화되어 협업한다.
대응 절차는 주로 다음과 같은 단계로 진행된다. 첫째, 공격 트래픽의 특성을 분석하여 공격 유형(예: 볼류메트릭 공격, 애플리케이션 계층 공격)과 공격원(봇넷 IP 목록)을 식별한다. 둘째, 분석 결과를 바탕으로 트래픽 필터링 규칙을 적용하거나 DDoS 방어 서비스 제공업체에 트래픽 재라우팅을 요청한다. 셋째, 주요 이해관계자(내부 관리자, 고객, 필요시 수사 기관)에게 상황을 지속적으로 보고한다.
대응 단계 | 주요 활동 | 담당자/시스템 |
|---|---|---|
확인 및 평가 | 공격 규모, 유형, 대상 분석 | 사고 대응 팀, 모니터링 시스템 |
완화 조치 실행 | 필터링, 스크러빙 센터로 트래픽 오프로드 | 네트워크 운영팀, 클라우드 보안 서비스 |
상황 보고 | 내부/외부 이해관계자 커뮤니케이션 | 커뮤니케이션 담당자, 관리자 |
모니터링 및 조정 | 완화 조치 효과 확인 및 정책 조정 | 사고 대응 팀, 보안 운영 센터 |
효과적인 실시간 대응을 위해서는 자동화된 공격 탐지 및 완화 시스템의 도입이 필수적이다. 또한, 명확한 의사결정 체계와 역할 분담이 훈련되어 있어야 지체 없이 조치를 수행할 수 있다. 모든 대응 활동은 상세하게 기록되어 이후 사후 분석 단계에서 피드백 자료로 활용된다.
6.3. 사후 분석
6.3. 사후 분석
공격이 종료된 후, 피해 조직은 철저한 사후 분석을 수행하여 사건의 전모를 파악하고 향후 대응 역량을 강화해야 한다. 이 과정은 단순히 공격을 막는 것을 넘어, 시스템과 방어 체계의 취약점을 식별하고 개선하는 데 중점을 둔다.
사후 분석의 핵심 단계는 다음과 같다.
분석 항목 | 주요 내용 |
|---|---|
공격 로그 분석 | 방화벽, IDS, IPS, 서버 및 네트워크 장비 로그를 종합적으로 검토하여 공격 시작/종료 시점, 공격 유형(볼류메트릭 공격, 프로토콜 공격 등), 트래픽 소스, 패턴을 확인한다. |
영향 평가 | 서비스 중단 시간, 금전적 손실, 고객 신뢰도 하락, 브랜드 이미지 훼손 등 공격이 미친 직접적/간접적 영향을 정량화 및 정성화한다. |
대응 과정 평가 | 사전 대비 계획의 적절성, 실시간 대응 절차의 효율성, 의사결정 체계의 문제점을 검토한다. |
취약점 보고서 작성 | 분석 결과를 바탕으로 기술적, 운영적, 관리적 취약점을 명시한 종합 보고서를 작성한다. |
최종적으로, 분석 결과를 바탕으로 구체적인 개선 계획을 수립하고 실행한다. 이는 방어 규칙 업데이트, 인시던트 대응 매뉴얼 수정, 직원 교육 강화, 보안 아키텍처 재검토 등을 포함한다. 또한, 법적 대응이 필요한 경우 수집된 로그와 증거를 보존하여 관련 기관에 제출한다. 지속적인 사후 분석과 개선 사이클은 유사 공격에 대한 조직의 복원력을 높이는 필수 과정이다.
7. 법적 및 윤리적 고려사항
7. 법적 및 윤리적 고려사항
분산 거부 서비스 공격은 단순한 기술적 위협을 넘어서 심각한 법적 및 윤리적 문제를 제기한다. 대부분의 국가에서 무단으로 타인의 컴퓨터 시스템을 마비시키거나 손상시키는 행위는 명백한 범죄로 간주된다. 예를 들어, 사이버 범죄 처벌에 관한 법률이나 정보통신망법은 서비스 거부 공격을 금지하고 있으며, 가해자는 형사 처벌(징역 또는 벌금)과 민사상 손해배상 책임을 동시에 질 수 있다[6]. 공격에 사용된 봇넷에 감염된 컴퓨터의 소유자도 자신의 장치가 악용되었다는 사실을 모른다 하더라도, 적절한 보안 조치를 소홀히 한 경우 과실 책임이 따를 수 있다.
윤리적 측면에서 DDoS 공격은 표현의 자유나 시위의 수단으로 종종 오용되기도 한다. 일부 집단은 특정 기업이나 정부 기관에 대한 정치적 반대 의사를 표출하거나 검열에 항의하는 수단으로 DDoS를 사용한다. 이를 '해킹티비즘'이라 부르기도 한다. 그러나 이는 상대방의 동등한 표현의 자유와 정상적인 서비스 이용권을 침해하는 행위이며, 무고한 제3자의 서비스 이용까지 방해할 수 있어 윤리적으로 큰 논란의 대상이 된다. 공격 대상이 된 조직의 업무 마비는 경제적 손실은 물론, 의료나 공공 안전과 같은 필수 서비스에까지 영향을 미칠 경우 생명과 직결된 위험을 초래할 수 있다.
이러한 공격의 피해 규모와 범위를 고려할 때, 예방과 대응은 단순한 기술적 과제가 아니라 사회적 책임의 영역으로 확장된다. 클라우드 컴퓨팅 제공자와 인터넷 서비스 제공자는 악성 트래픽을 차단할 수 있는 도구와 서비스를 제공할 윤리적 의무가 있다는 주장이 제기된다. 또한, 보안 연구자와 기업은 제로데이 취약점과 같은 공격 도구가 악용되지 않도록 공개 시기와 방법을 신중히 고려해야 한다. 궁극적으로 사이버 공간의 안전은 기술자, 기업, 이용자, 그리고 입법자가 각자의 법적 및 윤리적 책임을 인식하고 협력할 때 보장될 수 있다.
