DDoS 공격의 원리와 방어 전략
DDoS 공격의 원리와 방어 전략
DDoS 공격은 오늘날 가장 흔하고 파괴적인 사이버 공격 중 하나입니다. 웹사이트 운영자, 서버 관리자라면 반드시 이해하고 대비해야 할 주제입니다. 이 글에서는 DDoS의 작동 원리부터 실제 사례, 그리고 IP 관점에서의 방어 전략까지 상세히 다룹니다.
DDoS란 무엇인가?
DoS(Denial of Service) 공격은 단일 시스템에서 대상 서버에 과도한 요청을 보내 서비스를 마비시키는 공격입니다. 반면 DDoS(Distributed Denial of Service) 는 수천에서 수백만 대의 분산된 시스템이 동시에 공격하는 방식입니다. 공격 트래픽이 여러 출처에서 발생하기 때문에 단순히 하나의 IP를 차단하는 것으로는 방어할 수 없습니다.
DDoS 공격의 3가지 유형
볼류메트릭 공격 (Volumetric Attack)
네트워크 대역폭 자체를 압도하는 공격입니다. UDP Flood는 대량의 UDP 패킷을 무차별적으로 전송하며, DNS Amplification은 작은 DNS 쿼리를 보내 수십 배 큰 응답이 피해자에게 전달되도록 합니다. 응답 증폭 비율이 최대 70배에 달할 수 있어 매우 위험합니다.
프로토콜 공격 (Protocol Attack)
서버의 연결 자원을 고갈시키는 공격입니다. SYN Flood는 TCP 3-way 핸드셰이크의 첫 단계(SYN)만 반복 전송하여 서버가 반개방(half-open) 연결을 유지하느라 자원을 소진하게 만듭니다. Ping of Death는 비정상적으로 큰 ICMP 패킷을 전송하여 시스템을 충돌시킵니다.
애플리케이션 계층 공격 (Application Layer Attack)
가장 탐지가 어려운 유형입니다. HTTP Flood는 정상적인 HTTP 요청을 대량으로 전송하여 웹 서버의 처리 능력을 초과시킵니다. Slowloris는 HTTP 연결을 의도적으로 느리게 유지하여 서버의 동시 연결 수를 소진시킵니다. 정상 트래픽과 구분이 어렵기 때문에 단순 임계값 기반 탐지로는 방어가 힘듭니다.
봇넷의 역할
DDoS 공격의 핵심 인프라는 봇넷(Botnet) 입니다. 공격자는 악성코드에 감염된 수만 대의 좀비 PC와 IoT 기기(IP 카메라, 공유기, 스마트 가전 등)를 원격으로 제어합니다. 2016년 Mirai 봇넷은 보안이 취약한 IoT 기기 약 60만 대를 동원하여 대규모 공격을 수행했습니다. IoT 기기는 기본 비밀번호를 변경하지 않는 경우가 많아 봇넷에 편입되기 쉽습니다.
유명 DDoS 공격 사례
| 사례 | 연도 | 규모 | 특징 |
|---|---|---|---|
| GitHub | 2018 | 1.35 Tbps | Memcached 증폭 공격, 역대 최대 규모 |
| Dyn DNS | 2016 | ~1.2 Tbps | Mirai 봇넷, Twitter/Netflix 등 대규모 서비스 장애 |
| AWS | 2020 | 2.3 Tbps | CLDAP 반사 공격, AWS Shield로 방어 |
GitHub 공격은 Memcached 서버를 악용한 증폭 공격으로, 불과 몇 분 만에 1.35Tbps의 트래픽이 몰렸지만 CDN 기반 방어 덕분에 약 10분 만에 완화되었습니다.
효과적인 방어 전략
CDN/WAF 활용
Cloudflare, AWS Shield, Akamai 같은 서비스는 전 세계에 분산된 엣지 서버에서 악성 트래픽을 필터링합니다. 오리진 서버에 도달하기 전에 공격을 흡수하므로 가장 효과적인 1차 방어입니다.
레이트 리미팅
동일 IP에서 비정상적으로 많은 요청이 들어올 때 자동으로 제한합니다.
limit_req_zone $binary_remote_addr zone=ddos:10m rate=30r/s;
location / {
limit_req zone=ddos burst=50 nodelay;
}
IP 블랙리스트/허용 목록
위협 인텔리전스 피드를 활용하여 알려진 악성 IP를 사전에 차단하고, 신뢰할 수 있는 IP만 허용하는 화이트리스트를 관리합니다. 정기적으로 블랙리스트 확인 도구를 통해 자신의 IP 상태를 점검하는 것도 중요합니다.
Anycast 네트워크
하나의 IP 주소를 여러 지리적 위치의 서버에 할당하여, 공격 트래픽을 자동으로 여러 노드로 분산시킵니다. 특정 노드가 과부하되더라도 다른 노드가 서비스를 유지할 수 있습니다.
IP 관점에서 본 DDoS
DDoS 공격에서 가장 까다로운 문제 중 하나는 공격자 IP 추적의 어려움입니다. 공격자는 IP 스푸핑(spoofing) 을 통해 패킷의 출발지 IP를 위조합니다. 특히 UDP 기반 공격에서는 TCP처럼 핸드셰이크가 없으므로 위조가 매우 쉽습니다. 수십만 개의 서로 다른 위조된 IP에서 트래픽이 들어오면, 실제 공격 출처를 특정하는 것은 사실상 불가능에 가깝습니다.
이러한 이유로 ISP 수준의 BCP38 인그레스 필터링과 같은 근본적인 대책이 중요하며, IP 평판 데이터베이스를 활용한 사전 차단도 효과적입니다.
마무리
DDoS 공격은 규모와 기법이 지속적으로 진화하고 있습니다. 단일 방어 수단으로는 충분하지 않으며, CDN, WAF, 레이트 리미팅, IP 필터링을 조합한 다중 계층 방어가 필수입니다. 네트워크 보안의 기초를 더 알고 싶다면 네트워크 보안 기초 가이드를 참고하세요.
내 IP가 블랙리스트에 등재되었는지 확인하고 싶다면 블랙리스트 확인 도구를 사용해 보세요. IP 기반 보안 점검의 첫걸음입니다.
관련 글: 네트워크 보안 기초 | IP 블랙리스트 가이드