콘텐츠로 바로가기

DoS-DDoS Mitigation

시스템의 가용한 하드웨어 자원을 고갈시키려는 서비스 거부 공격의 물리적 원리를 이해하고, 수조 개의 요청 속에서도 유효한 트래픽을 선별해내는 방어 물리학을 다룹니다.

sys.entry
M

Me

hyunyoun's Blog

posts7 min read

1. Overview

DoS-DDoS 완화 역학(DoS-DDoS Mitigation, DDM)은 시스템의 '호흡(Resource)'을 가로막아 하드웨어를 질식시키려는 거대한 수리적 파동을 분산시키고, 쓰레기 데이터 속에서 보석 같은 사용자의 요청만을 물리적으로 골라내는 '가용성(Availability) 수호 물리학'입니다.

학습자는 단일 공격자의 DoS와 수만 대의 좀비 PC를 동원하는 DDoS의 결합적 파괴력을 배웁니다. 특히, 네트워크 계층(L3/4)의 대역폭 공격과 애플리케이션 계층(L7)의 논리 고갈 공격의 물리적 차이를 익히고, 이를 정화하는 스크러빙(Scrubbing) 센터의 수리적 수순을 배웁니다. 이를 통해 블랙 프라이데이나 악의적인 공격 상황에서도 서비스가 단 1초도 멈추지 않는 하이엔드 탄력성 운영 역량을 확보합니다.

2. Scope & Boundaries

In-Scope

  • Attack Vectors: Syn Flood, UDP Reflection, HTTP Flood 등 물리적 자원 고갈 기제
  • Botnet Dynamics: 수만 대의 하드웨어 노드가 지령에 따라 동시에 움직이는 군집 물리
  • Detection Metrics: 초당 패킷 수(PPSPPS), 초당 비트 수(BPSBPS), 초당 요청 수(RPSRPS)의 이상 수치 감지
  • Filtering Techniques: Rate Limiting, CAPTCHA, IP Reputation 필터링의 수리적 적용
  • Content Delivery Networks (CDN): 전 세계 하드웨어 거점으로 공격 트래픽을 물리적 분산시키는 법

Out-of-Scope

  • 해커가 좀비 PC를 만드는 악성코드(Malware) 감염 기술 상세 (10-XX-XX 영역으로 이관)
  • 방화벽 내부의 단순 패킷 차단 규칙 문법 (10-02-01 FII 영역에서 분담)

Boundaries

  • DDM vs. FII: FII(10-02-01)가 '적군 한 명을 골라내는 정밀 사격'이라면, DDM은 '밀려오는 거대 파도를 제방(CDN/Scrubbing)으로 막고 물길을 돌리는 대규모 토목 공사'에 비유하여 구분합니다.

3. Counterexample

  • 단순히 "트래픽 많으면 서버 늘리기"라 설명하는 것은 DDM 학습이 아닙니다. 왜 DDoS 공격 상황에서 무작위 오토스케일링을 수행하는 것이 '공격자에게 비싼 하드웨어 비용을 선물하는 자폭 행위'가 되는지 수리적으로 증명할 수 있어야 하며, **속도 제한(Rate Limit)**을 너무 엄격히 설정했을 때 선량한 다수 사용자의 물리적 접근이 차단되는 '거짓 양성(FalsePositiveFalse Positive)'의 경제적 손실을 논증하지 못한다면 DDM의 본질을 이해하지 못한 것입니다.

4. Prerequisites

  • Networking & Communication (Basic): 08-01-XX의 TCP 핸드쉐이크, UDP 비연결성, HTTP 헤더 이해가 필수입니다.
  • Capacity Planning & Resilience Engineering (Recommended): 09-04-04의 하드웨어 임계점 및 부하 테스트 이해가 권장됩니다.

5. Learning Map

  1. Waves of Garbage: 시스템을 무너뜨리는 거대한 데이터 파도(Attack Vector)들의 물리적 정체를 밝힙니다.
  2. The Sieve of Logic: 대역폭 소모 공격을 물리적으로 걸러내고 무력화하는 방패를 구축합니다.
  3. Smart Sorting: 겉보기에 정상인 요청 속에 숨은 '비정상적 논리'(L7 공격)를 수리적으로 골라냅니다.
  4. Infinite Elasticity: 전 세계 클라우드 하드웨어를 방패 삼아 성벽 자체가 휘어지며 충격을 흡수하는 하이엔드 방어선을 완성합니다.

6. Learning Topics

Basic

Core: DoS 공격의 유형과 자원 고갈 (Attack Physics)

  • Why to Learn: 우리 서비스가 왜 갑자기 느려지는지, 그것이 단순 접속 폭주인지 공격인지 물리적으로 구분하기 위해서입니다.
  • What to Learn:
    • Connection Exhaustion: TCP 세션을 가득 채워 신규 하드웨어 연결을 막는 법
    • Bandwidth Sapping: NIC 카드와 전선을 쓰레기 데이터로 가득 채우는 물리 기제
    • Vulnerability Exploitation: 서버의 특정 수리적 허점을 찔러 CPU를 100%로 만드는 공격
  • How to Learn:
    • 가상의 랩 환경에서 'Syn Flood' 공격을 재현하고, 서버의 'Backlog Queue' 수치가 물리적으로 포화되는 현상 확인 실습
    • 공격이 시작된 시점의 하드웨어 리소스 그래프(MetricMetric)에서 평소와 다른 '기울기'를 수리적으로 식별하는 훈련
  • Implement: 현재 열려있는 세션 수를 감시하여 비정상 증가를 알리는 기초 FloodWatch

Core: 분산 공격 모니터링과 탐지 (Detection Mechanics)

  • Why to Learn: 공격의 징후를 1초라도 빨리 알아내어야 하드웨어 셧다운이라는 최악의 상황을 막을 수 있기 때문입니다.
  • What to Learn:
    • PPS/BPS/RPS Baseline: 평상시 시스템이 버티는 물리적 호흡량의 수치 기준 수립
    • Traffic Profiling: 국가별, 프로토콜별 유입량의 수리적 정규 분포 분석
    • Early Warning Systems: 임계치 돌파 시 물리적 대응(Redirection 등)을 트리거하는 기제
  • How to Learn:
    • 1주일간의 트래픽 데이터를 엑셀에 넣고, '정상 범위'를 나타내는 표준 편차(σ\sigma) 수릿값 도출 실습
    • 대규모 트래픽 발생 시 로그 파싱(ParsingParsing) 속도가 지연되어 탐지가 늦어지는 물리적 한계점 연구
  • Implement: 초당 요청 수가 급증할 때 자동으로 경고를 뱉는 TrafficThreshold 알고리즘

Practical

Core: 계층별 완화 기술 (Mitigation Strategies)

  • Why to Learn: 무지성 차단이 아닌, 서비스 가동률을 유지하면서 공격만 정교하게 물리적으로 발라내기 위해서입니다.
  • What to Learn:
    • L3/4 Mitigation: 애니캐스트(Anycast) 라우팅을 이용한 하드웨어 분산 수법
    • L7 Mitigation: HTTP 요청 헤더의 '생소한 패턴'을 수리적으로 지목하여 기각하는 법
    • Rate Limiting: 특정 물리적 원천(IP, User)의 요청 빈도를 수치적으로 제약
  • How to Learn:
    • Nginx의 limit_req 모듈을 사용하여, 1초에 10번 이상 요청하는 IP를 물리적으로 일시 차단하는 실습
    • 클라우드 기반 DDoS 방어 시스템(Cloudflare 등)에서 'Challenge(CAPTCHA)'를 통해 사람과 봇을 수리 구별하는 과정 분석
  • Implement: 윈도우 타임 기반으로 특정 간격 내의 요청을 제어하는 TokenBucket 로직

Advanced

Core: 하이엔드 스크러빙과 탄력적 방어 (Scrubbing & Resilience)

  • Why to Learn: 대륙 규모의 거대 공격(Tbps급)이 들어와도 이를 물리적으로 소화하고 정화해내기 위함입니다.
  • What to Learn:
    • Scrubbing Center: 대량의 트래픽을 물리적으로 우회시켜 '깨끗한 패킷'만 돌려보내는 공정
    • Auto-Scaling Interaction: 공격 트래픽에 반응해 하드웨어를 늘리는 것이 아닌, '정상 트래픽' 보존을 위해 자원을 물리 할당하는 전략
    • BGP Flowspec: 라우터 레벨에서 공격 패킷의 수리적 특성을 전파하여 전 세계적으로 차단하는 법
  • How to Learn:
    • 거대 규모 DDoS 대응 사례(Spamhaus 공격 등)를 분석하여, 수백 Gbps 하드웨어 대역폭이 어떻게 수리적으로 분산/소멸했는지 연구 실습
    • 'Chaos Engineering' 팀과 협업하여 부하 테스트 시점에 인위적인 DDoS 공격을 섞어 시스템의 복원 물리 검증
  • Implement: 공격 규모에 따라 하드웨어 보호 수준을 실시간으로 스케일 변경하는 ArmorOrchestrator

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
DDoS 수많은 하드웨어 기기를 동원해 특정 서버의 자원이나 네트워크를 과부화시켜 마비시키는 공격입니다. 기본 외부 위협 Botnet / PPS DoS 한 명의 소행이 아님 P3:CyBOK core
Rate Limiting 주어진 시간 내에 요청할 수 있는 물리적 횟수를 수리적으로 제한하여 시스템을 보호하는 수법입니다. 기본 자원 관리 Quota / Bucket Blocking 무조건 막는 것과 다름 Industry core
Scrubbing Center 네트워크 트래픽을 물리적으로 우회시켜 악성 패킷을 걸러내고 깨끗한 것만 전달하는 특수 세척 시설입니다. 실무 대규모 방어 Filter / Greening Firewall 일반 데이터센터와 다름 Industry core
Syn Flood TCP 연결 과정의 수리적 빈틈을 이용해 서버의 접속 대기 큐를 가득 채우는 물리 고갈 공격입니다. 추천 하위 계층 공격 Handshake / Backlog Half-open 데이터 전송이 목적 아님 Industry core

8. References

Primary

Secondary

  • [DDoS Attacks: Evolution, Detection and Mitigation] — Academic deep dive.
  • [High Performance Web Sites] Steve Souders — Context for application-level availability.

Industry

  • [Cloudflare: What is a DDoS attack?] — Modern industry perspectives.
  • [AWS: Shield Best Practices for DDoS Resiliency] — Compliance and infra design.

9. Final Checklist

Primary

  • 'L3/4 공격'과 'L7 공격'이 하드웨어 자원(대역폭 vs CPU/MEM)을 물리적으로 고갈시키는 근본 차이를 설명 가능한가? (P3)
  • 'DDoS' 방어에서 'Anycast' 기술이 거대한 물리적 패킷 부하를 수리적으로 어떻게 평균화시키는지 기술할 수 있는 가? (P3)

Secondary

  • 'Rate Limiting'의 'Fixed Window' 방식이 윈도우 경계에서 발생하는 '순간적 트래픽 스파이크'를 왜 못 막는지 논증할 수 있는 가?
  • UDP Reflection 공격이 수리적으로 증폭(AmplificationAmplification) 값을 갖는 물리적 원리를 패킷 구조를 통해 소통 가능한가?

Industry

  • 실무 인프라에서 DDoS 방어 솔루션 도입 시 발생하는 '비용(CostCost)'과 '사용자 지연(LatencyLatency)'의 수치적 반비례 관계를 제안할 수 있는 가? (SFIA)
  • CAPTCHA 노출 빈도가 단순 봇 차단을 넘어 실제 하드웨어 전환율(ConversionConversion)에 미치는 물리적 영향을 분석할 수 있는 가?