서비스 거부 공격(DoS)은 시스템이나 네트워크의 자원을 과도하게 소모시켜 정상 사용자가 서비스를 이용하지 못하게 하는 사이버 공격이다. 대역폭, 처리 능력, 메모리가 고갈되면 서버가 정상 요청에 응답하기 어려워지고, 웹사이트 접속 불가나 온라인 서비스 중단, 네트워크 지연으로 이어질 수 있다.[6][5]
1. 개요
2. 공격 원리와 봇넷
공격자는 표적의 자원 처리 능력을 넘는 요청이나 데이터를 보내 정상적인 요청이 처리될 여지를 줄인다. 예를 들어 연결 요청을 처리 용량 이상으로 집중시키거나 네트워크 대역폭을 채울 만큼 많은 데이터를 보내면, 서버는 정상 사용자에게 응답하지 못할 수 있다.[6][7]
DDoS에서는 감염된 여러 기기가 명령에 따라 동시에 트래픽을 보내며, 이처럼 함께 동원되는 장치의 네트워크를 봇넷이라고 한다. 장치에는 컴퓨터뿐 아니라 영상 저장 장치나 셋톱박스 같은 사물 인터넷 기기도 포함될 수 있다.[3][8]
출발지가 여러 곳으로 분산된 DDoS 공격은 단일 출발지의 DoS 공격보다 규모가 클 수 있고 차단하기도 더 어렵다.[4][5]
3. 공격 유형과 사례
대역폭 소진 공격은 많은 트래픽으로 표적의 네트워크 대역폭을 포화시켜 서비스를 사용할 수 없게 만든다. 프로토콜 공격은 방화벽이나 운영체제 등 네트워크 장치가 유지하는 상태 정보를 소모시키며, 애플리케이션 계층 공격은 웹 서비스를 제공하는 소프트웨어의 자원을 고갈시킨다.[1]
HTTP 플러딩은 HTTP 서버에 페이지를 반복적으로 요청해 서버를 과부하시키는 공격이다. 공격자는 악성 소프트웨어로 여러 컴퓨터를 감염시켜 웹사이트에 요청을 보내며, 이 때문에 트래픽이 정상적인 인터넷 이용처럼 보일 수 있다.[2]
다른 기법으로는 TCP 연결 설정 과정을 겨냥하는 SYN 플러딩, 연결 없는 프로토콜을 이용하는 UDP 플러딩, ICMP 패킷을 남용하는 ICMP 플러딩 등이 있다.[5][6]
4. 서비스 장애와 피해
5. 탐지와 대응 방법
DDoS 공격을 식별할 때는 정상 트래픽과 공격 트래픽을 구별해야 하지만, 여러 출발지에서 요청이 들어오면 이 구분이 어려울 수 있다. 따라서 공격의 탐지와 예방에는 제약이 따른다.[1][5]
속도 제한은 일정 시간 동안 서버가 받아들이는 요청 수를 제한하는 방법이다. 웹 애플리케이션 방화벽(WAF)은 허용되지 않는 트래픽을 걸러내며, 특히 애플리케이션 계층 공격에 대응하는 데 활용된다.[1][2]
네트워크 구조가 허용하는 경우 요청을 네트워크 전반에 분산해 특정 서버에 요청이 몰리는 일을 줄일 수 있다. 블랙홀 라우팅은 의심스러운 트래픽을 폐기되는 경로로 보내는 방식으로, 네트워크를 차단하는 결과를 낳을 수 있어 최후 수단으로 설명된다.[5]
6. 관련 문서
- 분산 서비스 거부 공격
- 서비스-거부-공격
- 봇넷
- 속도 제한
- 웹 애플리케이션 방화벽