
DoS (Denial of Service, 서비스 거부 공격)
- 정의: 한 대의 장비(공격자)가 단독으로 목표 시스템에 과도한 요청이나 비정상 데이터를 보내 서비스의 정상 동작을 방해하는 공격임
- 동작 원리:
- 공격자는 목표로 삼은 서버로 평소보다 훨씬 많은 패킷/요청을 보냄
- 서버는 요청을 처리하려고 자원을 할당(메모리, CPU, 소켓, DB 연결 등)함
- 짧은 시간에 동시 요청이 급증하면 자원이 고갈되어 정상 요청을 처리하지 못하게 됨
- 결과: 서비스 응답 지연, 에러, 최악의 경우 완전 다운
- 특징:
- 보통 한 대의 PC나 서버에서 발생함
- 대량 트래픽, 무한 루프 요청 등으로 자원 고갈을 유발함
- 공격 출처 추적이 상대적으로 쉬움
- 주요 공격 유형:
- Flooding Attack: 단순 요청 폭주(HTTP GET/POST 등). 연결 수, 스레드, 메모리 제한을 초과시킴
- Ping of Death: 비정상적으로 큰 ICMP 패킷 또는 분할 패킷 조작으로 메모리/버퍼 오버플로우 유발 함
- SYN Flood: TCP 연결 과정에서 SYN 패킷만 무한히 보내 서버의 자원을 고갈시킴
- Application Level DoS: 특정 웹 애플리케이션의 API나 검색 기능에 무거운 쿼리를 반복적으로 보내 CPU나 DB 자원을 마비시킴
- 탐지 지표(징후):
- 비정상적으로 높은 트래픽/동시 연결 수
- 특정 IP 또는 짧은 시간에 동일한 요청 반복
- CPU 사용률 급상승, DB 연결 고갈, 응답 지연/타임아웃 증가
- 정상 사용자와 다른 패턴의 요청 (헤더 이상, User-Agent 이상)
- 네트워크 기기 (라우터/방화벽) 로그에 비정상 패킷 패턴
DDoS (Distributed Denial of Service, 분산 서비스 거부 공격)
- 정의: 여러 대의 감염된 PC(봇넷)를 동시에 동원해 대규모 트래픽을 발생시켜 서버나 네트워크를 마비시키는 공격임
- 구성 요소:
- 봇넷(Botnet): 악성코드에 감염된 다수의 기기(PC, IoT 기기 등)가 C&C(Command & Control) 서버 또는 P2P 구조로 제어되어 공격에 동원됨
- 공격자(최종 명령자): 봇넷을 통해 공격 명령을 내려 동시다발적으로 트래픽/요청을 발생시킴
- 증폭/반사 인프라: DNS, NTP, memcached 등 공개된 서비스의 응답을 이용해 요청을 증폭해 피해를 키움(작은 요청으로 큰 응답을 유도)
- 주요 공격 유형:
-
- UDP Flood: 목적지에 무작위 UDP 패킷을 보내 지속적으로 리소스를 소모하게 함
- DNS Amplification: 작은 DNS 쿼리를 spoof된 출처로 보내 대량 응답을 목표로 전달
- NTP Amplification: 오래된 NTP 서버의 monlist 같은 명령을 이용한 반사/증폭 공격
- HTTP(S) Flood (L7): 봇이 정상 브라우저처럼 보이는 대량의 HTTP 요청을 보내 웹 애플리케이션을 마비시킴 - 탐지/차단이 더욱 어려움
- 멀티벡터 공격: 네트워크(L3/L4)와 애플리케이션(L7)을 동시에 공격해 방어를 분산시킴
- 특징:
- 규모: 여러 국가의 수만~수십만 대 장비 동원 가능 -> 대량 트래픽 생성
- 악성코드에 감염된 좀비 PC들이 원격 제어를 받아 공격을 수행함
- IP 차단, 트래픽 필터링 같은 단순 방어가 어려워 추적 및 차단이 어려움
- 탐지 지표(징후):
- 지리적으로 분산된 다수 IP에서 동시다발적 요청
- 트래픽 패턴이 정상 사용자 행동과 일치하지 않음 (페이지 요청 비율, 세션 길이 등)
- 외부로부터 대량 UDP/ICMP 트래픽 또는 대규모 SYN 패킷
- 서비스 정상 범위를 넘어선 이상 요청 (특정 API에 집중)
DoS vs DDoS 비교
| 구분 | DoS | DDoS |
|---|
| 공격 주체 | 단일 PC/서버 | 다수의 PC/봇넷 |
| 규모 | 상대적으로 소규모 | 대규모, 전 세계 동시 발생 가능 |
| 탐지/추적 | 비교적 쉬움 | 추적/차단 어려움 |
| 영향 | 제한적일 수 있음 | 매우 광범위, 서비스 완전 마비 가능 |
| 공격 방식 | 단순 패킷 폭주, 자원 고갈 | 증폭/반사 기법, 멀티벡터 공격 가능 |
방어 기법
- 네트워크 수준 방어:
- 방화벽(Firewall) 및 IDS/IPS로 비정상 트래픽 차단
- 라우터/스위치에서 Rate Limiting 설정
- 애플리케이션 수준 방어:
- CAPTCHA 적용, 요청 검증 강화
- 캐싱 및 로드밸런싱으로 서버 부담 분산
- 전문 보안 서비스 활용:
- CDN(Content Delivery Network)과 WAF(Web Application Firewall) 활용
- 클라우드 기반의 DDoS 대응 서비스 활용
네트워크 보안과 Cloudflare
- Cloudflare: 글로벌 CDN 및 보안 업체로, WAF(웹 방화벽), DDoS 방어, DNS 보호, CDN 최적화 등을 제공함
- DDoS 방어 방식:
- Anycast 네트워크: 공격 트래픽을 전 세계 여러 데이터센터로 분산시켜 흡수
- 자동 필터링: 정상 요청과 비정상 요청을 실시간으로 구분해 차단
- Rate Limiting: 특정 IP/세션이 과도한 요청을 보내면 자동 차단
- 추가 기능:
- SSL/TLS 암호화 지원
- Zero Trust 보안 (기업용 접근제어 서비스)
- 봇 관리 솔루션 (정상 사용자와 봇 구분)
- 전 세계 웹사이트 중 상당수가 Cloudflare를 사용하며, 특히 대규모 DDoS 공격 방어 분야에서 업계 최상위 수준임