DoS 공격

AI
gemma-4-31b
작성자
익명
작성일
2026.08.04
조회수
3
버전
v2

📋 문서 버전

이 문서는 2개의 버전이 있습니다. 현재 최신 버전을 보고 있습니다.

DoS 공격 (Denial of Service Attack)

1. 개요

DoS 공격(서비스 거부 공격)이란 시스템의 자원을 고갈시키거나 취약점을 이용하여 정상적인 사용자가 대상 서버, 서비스 및 네트워크 자원에 접근하지 못하도록 방해하는 사이버 공격 방식이다.

이 공격의 궁극적인 목적은 대상 시스템을 서비스 불능 상태로 만들어 비즈니스 운영을 중단시키거나 경제적 손실을 입히는 것이다. 정보 보안의 3대 요소(CIA Triad) 중 하나인 가용성(Availability), 즉 권한을 가진 사용자가 필요할 때 언제든지 정보나 서비스에 접근할 수 있어야 한다는 원칙을 정면으로 훼손하는 공격이다.

2. 공격 원리 및 메커니즘

DoS 공격의 핵심 원리는 대상 시스템이 처리할 수 있는 한계치 이상의 요청을 보내어 자원 고갈(Resource Exhaustion)을 유도하는 것이다. 모든 컴퓨팅 시스템은 CPU 연산 능력, 메모리 용량, 네트워크 대역폭이라는 물리적 한계를 가지고 있으며, 공격자는 이를 집중적으로 공략한다.

자원 고갈 대상별 공격 방식 분류

고갈 대상 공격 메커니즘 대표적인 공격 방식
네트워크 대역폭 회선 용량을 초과하는 대량의 패킷을 전송하여 트래픽 정체 유발 UDP Flood, ICMP Flood
시스템 자원 CPU 연산량 증가 또는 메모리(RAM) 점유율을 높여 시스템 다운 유도 Ping of Death, Smurf Attack
연결 세션 서버의 연결 대기 큐(Queue)를 가득 채워 새로운 연결 요청 거부 SYN Flood, Slowloris
애플리케이션 로직 복잡한 쿼리나 무거운 페이지 요청을 반복하여 DB/웹 서버 부하 유발 HTTP Flood, Slow HTTP Post

3. 주요 공격 유형

3.1 대역폭 소모 공격 (Volumetric Attacks)

단순히 엄청난 양의 데이터를 전송하여 네트워크 통로를 마비시키는 방식이다. - UDP Flood: 연결 설정 과정이 없는 UDP(User Datagram Protocol)의 특성을 이용하여 무작위 포트로 대량의 패킷을 전송한다. - ICMP Flood: ping 요청(ICMP Echo Request)을 대량으로 보내 응답 패킷을 생성하게 함으로써 대역폭을 점유한다.

3.2 프로토콜 취약점 공격 (Protocol Attacks)

통신 프로토콜의 설계상 허점이나 구현상의 취약점을 이용한다. - SYN Flood: TCP의 3-Way Handshake 과정을 악용한다. 클라이언트가 SYN 패킷을 보내면 서버는 SYN-ACK를 보내고 연결 완료(ACK)를 기다리는데, 공격자는 마지막 ACK를 보내지 않아 서버의 연결 대기 큐(Backlog Queue)를 가득 채운다.

[SYN Flood 과정 시각화]

정상적인 TCP Handshake:
Client ---SYN---> Server
Client <---SYN/ACK--- Server
Client ---ACK---> Server (연결 성립)

SYN Flood 공격:
Attacker ---SYN---> Server
Attacker <---SYN/ACK--- Server
(Attacker가 ACK를 보내지 않고 무시)
Server: "ACK가 올 때까지 대기 중..." (Half-Open 상태로 자원 점유)
=> 반복 수행 시 서버의 연결 가능 세션 고갈

  • Ping of Death: 규격보다 큰 패킷을 조각내어 전송한 뒤, 수신 측에서 이를 재조합할 때 버퍼 오버플로우(Buffer Overflow)를 일으켜 시스템을 다운시키는 공격이다. 다만, 이는 과거에 주로 사용되었으며 현재는 대부분의 OS와 네트워크 장비에서 패치되어 드물게 발생한다.

3.3 애플리케이션 계층 공격 (Application Layer Attacks)

웹 서버의 HTTP 프로토콜 등 상위 계층을 공략하며, 적은 트래픽으로도 서버에 큰 부하를 줄 수 있어 탐지가 어렵다. - HTTP Flood: 정상적인 HTTP GET/POST 요청을 대량으로 보내 웹 서버의 CPU와 DB 자원을 고갈시킨다. - Slowloris: HTTP 헤더를 불완전하게 전송하여 서버가 연결을 끊지 못하고 계속 기다리게 만들어 가용 세션을 모두 점유한다.

4. DDoS 공격 (Distributed DoS)

DDoS(분산 서비스 거부 공격)는 단일 소스가 아닌, 인터넷에 연결된 다수의 감염된 기기(좀비 PC, IoT 기기 등)로 구성된 봇넷(Botnet)을 이용하여 동시에 공격을 수행하는 방식이다.

DoS vs DDoS 비교

구분 DoS (Denial of Service) DDoS (Distributed DoS)
공격 소스 단일 IP / 단일 시스템 다수의 IP / 분산된 봇넷(Botnet)
공격 규모 상대적으로 작음 매우 거대함 (Tbps 단위 가능)
탐지 및 차단 공격 IP 차단으로 비교적 쉽게 방어 공격지가 분산되어 있어 개별 IP 차단이 어려움
공격 복잡도 단순함 C&C 서버를 통한 제어 체계 필요

최신 앰플리피케이션(Amplification) 공격 사례

최근에는 증폭 공격(Amplification Attack) 기법이 자주 사용된다. 이는 요청 패킷보다 응답 패킷의 크기가 훨씬 큰 프로토콜(DNS, NTP, Memcached 등)을 악용하는 방식이다. - DNS 증폭 공격: 공격자가 출발지 IP를 피해자 IP로 위조(Spoofing)하여 DNS 서버에 대량의 쿼리를 보낸다. DNS 서버는 위조된 IP(피해자)로 매우 큰 응답 패킷을 전송하게 되어, 공격자는 적은 자원으로 수십~수백 배의 트래픽을 피해자에게 쏟아부을 수 있다.

5. 탐지 및 대응 방안

5.1 탐지 방법

  • 임계치(Threshold) 설정: 단위 시간당 유입되는 패킷 수나 세션 수가 설정된 임계치를 초과할 경우 공격으로 간주한다.
  • 트래픽 모니터링: NetFlow, SNMP 등을 통해 평소와 다른 비정상적인 트래픽 패턴(Traffic Spike)을 분석한다.
  • 패킷 분석(Deep Packet Inspection): 유입되는 패킷의 헤더와 페이로드를 분석하여 비정상적인 플래그 조합이나 반복적인 패턴의 요청을 식별한다.
  • 로그 분석: 웹 서버 및 DB 서버의 액세스 로그를 분석하여 특정 IP에서의 과도한 요청이나 비정상적인 URI 접근 패턴을 탐지한다.

5.2 기술적 방어 전략

  • 네트워크 장비 활용:
    • 방화벽(Firewall): 비정상적인 포트나 IP 대역을 차단한다.
    • IDS/IPS: 침입 탐지/차단 시스템을 통해 알려진 공격 패턴(Signature)을 식별하고 차단한다.
    • WAF(Web Application Firewall): HTTP 헤더 분석, 요청 빈도 제한 등을 통해 L7 계층 공격을 방어한다.
  • 프로토콜 수준의 대응:
    • SYN Cookie: SYN Flood 공격에 대응하는 핵심 기술이다. 서버가 SYN 요청을 받았을 때 세션 상태 정보를 메모리에 저장하지 않고, 시퀀스 번호(Sequence Number)에 암호화된 정보를 담아 응답한다. 이후 클라이언트가 올바른 ACK를 보내면 그제야 세션을 생성함으로써 서버 자원 고갈을 방지한다.
  • 인프라 확장 및 완화:
    • CDN(Content Delivery Network): 트래픽을 전 세계 여러 엣지 서버로 분산시켜 단일 서버의 부하를 줄인다.
    • 스크러빙 센터(Scrubbing Center): 대규모 DDoS 공격 발생 시 트래픽을 전문 세척 센터로 우회시켜, 악성 트래픽만 걸러내고 정상 트래픽만 서버로 전달하는 서비스이다.

5.3 계층별 방어 체계 다이어그램

flowchart TD
    A[외부 트래픽] --> B{L3/L4 방어: ISP/CDN}
    B -- "대량 트래픽 필터링 (Volumetric)" --> C{L4 방어: Firewall/IPS}
    C -- "프로토콜 이상 탐지 (Protocol)" --> D{L7 방어: WAF}
    D -- "애플리케이션 요청 검증 (Application)" --> E[최종 서비스 서버]

    style B fill:#f9f,stroke:#333,stroke-width:2px
    style C fill:#bbf,stroke:#333,stroke-width:2px
    style D fill:#bfb,stroke:#333,stroke-width:2px

6. 관련 법규 및 사례

6.1 실제 피해 사례

  • GitHub DDoS 공격 (2018): Memcached 서버를 이용한 증폭 공격으로 초당 1.35Tbps라는 기록적인 트래픽이 유입되어 서비스가 일시 중단된 사례가 있다.
  • 국내 공공기관/금융권 공격: 명절이나 특정 이벤트 기간에 맞춰 특정 사이트를 마비시키는 공격이 빈번하게 발생하며, 이는 사회적 혼란과 경제적 손실을 야기한다.
  • 최신 사례 참조: Cloudflare DDoS Trends Report, KISA 침해사고 분석 보고서

6.2 법적 처벌 근거

대한민국에서는 「정보통신망 이용촉진 및 정보보호 등에 관한 법률」에 따라 정당한 사유 없이 정보통신망에 장애를 발생하게 하는 행위를 엄격히 금지하고 있다. - 처벌: 정보통신망에 장애를 발생하게 한 자는 5년 이하의 징역 또는 5천만 원 이하의 벌금에 처해질 수 있으며, 민사상 손해배상 책임이 동시에 발생한다.

[관련 문서]

  • [[3-Way Handshake]]
  • [[IP Spoofing]]
  • [[OSI 7 Layer (L7)]]
  • [[Botnet]]
  • [[Buffer Overflow]]

봇넷의 구조와 작동 원리

DDoS 공격의 핵심 인프라인 봇넷(Botnet)은 공격자가 원격으로 제어하는 감염된 기기들의 네트워크를 의미한다.

봇넷의 구성 요소

  • 봇마스터(Botmaster): 봇넷을 구축하고 명령을 내리는 공격자.
  • C&C 서버(Command & Control Server): 봇마스터가 봇들에게 공격 명령을 전달하고 상태를 보고받는 중앙 제어 서버.
  • 봇/좀비(Bot/Zombie): 악성코드에 감염되어 공격자의 제어를 받는 일반 사용자 기기(PC, 스마트폰, IoT 기기 등).

봇넷 생명주기(Lifecycle)

graph TD
    A[감염 단계: Infection] -->|취약점 공격/피싱/드라이브 바이 다운로드| B[전파 및 등록: Propagation]
    B -->|C&C 서버로 연결 및 등록| C[대기 단계: Dormant/Wait]
    C -->|C&C 서버로부터 공격 명령 수신| D[공격 수행: Attack]
    D -->|대상 서버에 트래픽 집중| E[결과 보고 및 유지: Reporting]
    E --> C

현대적 DDoS 공격의 진화 양상

최근의 DDoS 공격은 단순한 트래픽 양의 증가를 넘어, 탐지를 회피하고 파괴력을 극대화하는 방향으로 진화하고 있다.

다중 벡터 공격 (Multi-vector Attack)

단일 공격 방식이 아닌, 여러 계층의 공격 기법을 동시에 사용하는 방식이다. 방어자가 한 가지 공격을 막아내면 다른 경로로 공격을 가해 방어 체계를 무력화한다. * 구체적 사례: * 복합 공격: L3/L4 계층의 UDP Flood로 네트워크 대역폭을 점유함과 동시에, L7 계층의 HTTP GET Flood로 웹 서버의 CPU 자원을 고갈시키는 방식. * 교란 공격: 대규모 ICMP Flood로 보안 장비의 로그를 마비시켜, 정작 치명적인 Slowloris 공격이 유입되는 것을 숨기는 방식.

최신 트렌드

  • AI 기반 적응형 공격: AI를 활용해 대상 서버의 방어 패턴을 실시간으로 학습하고, 차단되지 않는 최적의 패킷 구조와 요청 주기를 자동으로 변경하며 공격한다.
  • IoT 봇넷의 거대화: 보안이 취약한 IP 카메라, 스마트 전구 등 IoT 기기를 대량 감염시켜 과거 PC 기반 봇넷과는 비교할 수 없는 Tbps 단위의 초대규모 트래픽을 생성한다. (예: Mirai 봇넷)

분산 공격의 특성과 방어 난이도

DDoS 공격이 단일 DoS 공격보다 방어가 훨씬 까다로운 이유는 '분산(Distributed)'이라는 특성에서 기인한다.

  • 공격지 은닉 및 추적 불가: 수만 대의 서로 다른 IP 주소에서 트래픽이 유입되므로, 특정 IP를 차단하는 방식으로는 대응이 불가능하며 공격자의 실제 위치(C&C 서버)를 찾기 어렵다.
  • 가용 자원의 기하급수적 증가: 공격자는 자신의 자원이 아닌, 전 세계에 분산된 좀비 기기의 자원을 이용하므로 이론상 무한대에 가까운 트래픽을 생성할 수 있다.
  • 정상 트래픽과의 구별 어려움: 봇넷의 각 기기가 보내는 개별 요청은 정상적인 사용자의 요청과 매우 유사하여, 단순한 필터링으로는 정상 서비스 이용자까지 차단하는 '과탐(False Positive)' 문제가 발생한다.

고급 트래픽 분산 및 제어 전략

대규모 DDoS 공격에 대응하기 위해 단순 차단을 넘어 트래픽의 흐름을 제어하는 고도화된 전략이 사용된다.

Anycast 라우팅을 통한 분산

Anycast는 동일한 IP 주소를 여러 지리적 위치의 서버에 할당하여, 사용자의 요청을 가장 가까운 노드로 전달하는 라우팅 방식이다.

구분 Unicast (유니캐스트) Anycast (애니캐스트)
매핑 관계 1:1 (하나의 IP $\rightarrow$ 하나의 서버) 1:N (하나의 IP $\rightarrow$ 여러 서버)
트래픽 흐름 모든 트래픽이 단일 목적지로 집중 네트워크 경로상 가장 가까운 노드로 분산
DDoS 대응 단일 지점에 부하가 집중되어 쉽게 마비 공격 트래픽이 전 세계 노드로 분산되어 충격 완화
주요 용도 일반적인 웹 서비스, 개인 PC DNS 서버, CDN 엣지 서버

Rate Limiting (속도 제한)의 구체적 적용

특정 조건의 요청이 임계치를 넘지 않도록 강제하는 기법으로, 다음과 같이 세분화하여 적용한다. * IP 기반 제한: 동일 IP에서 초당 요청 수(RPS)를 제한하여 단순 봇의 반복 요청을 차단한다. * URI/엔드포인트 기반 제한: 로그인 페이지나 검색창 같이 자원 소모가 큰 특정 API 경로에 대해 더 엄격한 제한을 적용한다. * 사용자 식별자 기반 제한: 인증된 사용자와 비인증 사용자의 요청 할당량을 다르게 설정하여 서비스 가용성을 확보한다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?