미라지: 웹 애플리케이션을 위한 실용적인 DDoS 방어 프로토콜
초록
미라지는 서버가 주기적으로 IP 주소를 무작위로 바꾸는 “IP 주소 홉핑” 방식을 이용해 공격자를 혼란스럽게 하고, 기존 라우터 기능만으로 DDoS 방어를 구현한다. IPv6 주소 공간을 활용해 대규모 주소 풀을 제공하고, 퍼즐 기반 인증을 통해 정당한 클라이언트만 현재 활성 IP를 알 수 있게 함으로써, ISP와 서버 로컬 네트워크 수준에서 점진적이고 비용 효율적인 배포가 가능하도록 설계되었다.
상세 분석
미라지는 기존 DDoS 방어 연구가 안고 있던 “치킨‑앤‑에그” 문제, 즉 다수의 AS가 동시에 참여해야 효과가 나타나는 점을 회피하기 위해 목표 지점(IP 주소) 자체를 이동 목표로 삼는다. 서버는 사전에 정의된 IPv6 프리픽스 내에서 매 몇 초마다 새로운 주소를 선택하고, 이 주소를 알고 있는 클라이언트만이 패킷을 전송할 수 있다. 여기서 주소 자체가 암묵적 권한(implicit authorization) 역할을 하며, 별도의 헤더나 토큰을 요구하지 않는다.
핵심 기술 요소는 다음과 같다.
- IP 주소 홉핑: 서버는 난수 생성기(예: HMAC‑based PRNG)로 주소를 선택하고, 선택된 주소는 일정 시간(예: 30 초) 동안만 유효하다. 클라이언트는 사전에 배포된 퍼즐(Proof‑of‑Work)을 풀어 현재 유효한 주소를 얻는다. 퍼즐은 공격자가 대규모 트래픽을 발생시키려면 동일 비율로 연산 비용을 감당해야 하므로, 공격 비용이 선형적으로 증가한다.
- IPv6 주소 풀 활용: IPv6/128 비트 주소 공간을 이용해 충분히 큰 주소 집합을 제공한다. 이는 IPv4 고갈 문제와 무관하게 대규모 주소 무작위화를 가능하게 하며, IPv4‑only 클라이언트는 Teredo 등 터널링 메커니즘을 통해 IPv6 주소에 접근한다.
- 라우터 기능 최소화: 미라지는 기존 라우터가 이미 지원하는 ACL(Access Control List)과 라우팅 테이블 업데이트만을 사용한다. 라우터는 새 주소가 활성화될 때마다 해당 프리픽스에 대한 라우팅을 갱신하거나, 특정 주소에 대한 필터링 규칙을 적용한다. 새로운 헤더나 암호화 모듈을 요구하지 않으므로, 기존 장비를 그대로 활용할 수 있다.
- 공정성 보장: 퍼즐 난이도와 주소 재배포 주기를 조절함으로써 정당 사용자는 평균적인 대기 시간 내에 주소를 획득하고, 공격자는 연산 자원에 비례한 트래픽만 전송할 수 있다. 이는 “컴퓨테이션‑공정성” 모델을 따르며, 공격자가 대규모 봇넷을 보유하더라도 전체 대역폭을 독점하기 어렵게 만든다.
배포 모델은 두 단계로 나뉜다. 첫 번째 단계는 서버가 속한 로컬 네트워크와 상위 ISP만 미라지를 적용하는 것으로, 이 경우 공격 트래픽이 ISP 레벨에서 차단된다. 두 번째 단계는 추가적인 ISP가 연쇄적으로 도입하면서 방어 범위가 확대된다. 이러한 점진적 배포는 비즈니스 인센티브(예: 서비스 가용성 보장, SLA 향상)와 연계되어 실제 채택 가능성을 높인다.
제한점도 명확히 제시한다. (1) 퍼즐 전파를 위한 신뢰할 수 있는 복제 서비스가 필요하고, (2) IPv6 전환이 충분히 진행되지 않은 환경에서는 터널링 오버헤드가 발생한다. (3) 시간 동기화가 수십 초 수준으로 느슨하지만, NTP 등 외부 시계에 의존해야 한다. (4) 연산 능력 차이가 큰 디바이스 간에 퍼즐 난이도 조정이 필요하다. 이러한 한계는 기존 퍼즐 기반 방어(Portcullis, Phalanx)와 유사하지만, 미라지는 라우터 변경 없이 구현 가능하다는 점에서 차별성을 가진다.
전반적으로 미라지는 **“주소 자체가 토큰”**이라는 혁신적인 아이디어와, 기존 인프라를 그대로 활용하는 실용성을 결합함으로써, DDoS 방어 분야에서 배포 장벽을 크게 낮춘다.
댓글 및 학술 토론
Loading comments...
의견 남기기