디도스(DDoS) 공격의 원리와 서버를 보호하는 방어 메커니즘

    1. 서론: 사이트가 순간적으로 마비되는 사이버 위협

    인터넷 서비스를 운영하거나 게임, 쇼핑몰, 금융 사이트를 이용할 때 어김없이 들려오는 대표적인 보안 위협이 바로 디도스(DDoS, 분산 서비스 거부) 공격입니다.

    단순한 해킹이 시스템 내부의 비밀번호를 뚫고 정보를 탈취하는 방식이라면, 디도스는 서버가 처리할 수 있는 물리적 한계치를 초과하는 쓰레기 트래픽을 한꺼번에 퍼부어 서비스를 마비시키는 무력 시위형 공격입니다.

    최근에는 공격 기법이 더욱 정교해지고 공격에 동원되는 기기(IoT 장비, 감염된 PC 등)의 수도 기하급수적으로 늘어나면서 기업들의 필수 대비 항목이 되었습니다. 오늘 포스팅에서는 디도스 공격의 작동 원리와 계층별 공격 유형, 그리고 이를 차단하기 위한 최신 서버 방어 메커니즘을 완벽히 파헤쳐 보겠습니다.

    2. 디도스(DDoS) 공격의 기본 작동 원리

    디도스(Distributed Denial of Service)의 핵심 키워드는 ‘분산(Distributed)’에 있습니다. 단 한 대의 컴퓨터가 보내는 공격은 서버의 방화벽에서 쉽게 IP를 차단할 수 있지만, 전 세계 수만~수십만 대의 기기가 동시에 공격을 감행하면 방어가 급격히 어려워집니다.

    Plaintext

    [공격자 (Attacker)]
           │
           ▼
    [C&C 명령 서버] ──> [봇넷 (Botnet: 감염된 PC, IoT 기기 수십만 대)]
                                       │
                                       ▼ (동시 대량 트래픽 퍼붓기)
                               [타깃 타겟 서버 마비]
    

    ① 악성코드 감염과 봇넷(Botnet) 형성

    공격자는 먼저 인터넷에 연결된 수많은 PC, 스마트폰, IP 카메라, 공유기 등의 보안 약점을 노려 악성코드를 감염시킵니다.

    • 이렇게 해커의 명령에 조종당하는 기기들을 ‘좀비 PC’ 또는 ‘봇(Bot)’이라고 부르며, 이들이 모인 거대한 네트워크 집단을 ‘봇넷(Botnet)’이라고 합니다.

    ② C&C(Command & Control) 서버의 중앙 명령

    공격자는 C&C 서버를 통해 감염된 봇넷 전체에 “특정 날짜, 특정 시간에 특정 IP 주소로 대량의 신호를 보내라”는 명령을 일제히 내립니다.

    ③ 대역폭 및 자원 고갈

    명령을 받은 수만 대의 좀비 기기들은 일시에 목표 서버로 데이터 패킷을 쏘아 보냅니다. 서버는 정상적인 유저의 접속 요청과 쓰레기 트래픽을 구분하지 못해 처리 능력이 한계에 다다르고, 결국 서비스가 멈추거나 다운됩니다.

    3. 디도스 공격의 주요 유형 (계층별 분류)

    디도스 공격은 OSI 7 계층 네트워크 모델 중 어떤 영역을 노리느냐에 따라 크게 세 가지 형태로 나뉩니다.

    ① 대역폭 공격 (Volumetric Attacks) – L3/L4 계층

    네트워크 회선 자체의 통로를 막아버리는 형태입니다.

    • UDP Flood / ICMP Flood: 대용량 데이터 패킷을 서버가 위치한 네트워크 통로에 무차별로 퍼부어 전송 통로(대역폭) 자체를 가득 채워버립니다.

    ② 프로토콜 공격 (Protocol Attacks) – L3/L4 계층

    서버나 통신 장비(방화벽, 로드밸런서)의 연결 처리 자원을 고갈시키는 방식입니다.

    • SYN Flood: 인터넷 연결 확립 과정(3-Way Handshake)을 악용하여, 서버에게 연결 요청 신호(SYN)만 보낸 뒤 응답을 받지 않고 대기 상태로 만들어 서버의 접속 대기 메모리를 가득 차게 만듭니다.

    ③ 응용 프로그램 공격 (Application Layer Attacks) – L7 계층

    가장 정교하고 막기 어려운 공격입니다. 웹 서버(HTTP)의 특정 기능을 집중적으로 호출합니다.

    • HTTP GET/POST Flood: 사람이 직접 웹사이트를 조회하는 것처럼 위장하여, 데이터베이스 처리가 많이 필요한 복잡한 검색이나 게시물 읽기 요청을 초당 수만 건씩 연속으로 보냅니다. 데이터베이스와 웹 서버 CPU가 과부하로 뻗게 됩니다.

    4. 디도스 공격을 막아내는 4가지 핵심 방어 메커니즘

    과거에는 개별 서버실에 고가의 하드웨어 방화벽을 두는 방식으로 대응했지만, 오늘날의 대규모 디도스 공격은 클라우드 기반의 멀티 레이어 방어 시스템을 통해 차단합니다.

    ① 클라우드 기반 DDoS 스크러빙 센터 (Scrubbing Center)

    Cloudflare, Akamai, AWS Shield와 같은 전문 보안 기업들은 전 세계 거점에 대용량 스크러빙 센터(정화 센터)를 운용합니다.

    • 공격이 발생하면 타깃 서버로 향하는 모든 트래픽을 보안 기업의 스크러빙 센터로 우회시킵니다.
    • 스크러빙 센터에서 정상 유저의 트래픽(Clean Traffic)과 공격용 쓰레기 트래픽(Dirty Traffic)을 실시간으로 필터링한 뒤, 깨끗한 트래픽만 실제 원본 서버로 전달합니다.

    ② Anycast BGP 라우팅 기술

    공격 트래픽을 한 곳으로 모이게 두지 않고, 전 세계 수십 개의 데이터 센터로 분산시켜 흡수하는 기술입니다.

    • 1Tbps 규모의 거대한 공격이 들어오더라도 전 세계 50개 거점 서버가 각각 20Gbps씩 나누어 처리하므로, 특정 서버가 다운되지 않고 공격을 부드럽게 흡수할 수 있습니다.

    ③ 챌린지 및 캡차(CAPTCHA) 검증 (L7 방어)

    사람과 봇(Bot)을 구분하기 위한 검증 시스템입니다.

    • 유저가 웹사이트에 접속할 때 브라우저에 자바스크립트를 몰래 실행시켜 정상적인 웹 브라우저인지 검증하거나, “사람인지 확인하는 퀴즈(CAPTCHA)”를 띄웁니다.
    • 단순 자동화 프로그램인 매크로나 봇은 자바스크립트를 실행하지 못하거나 퀴즈를 풀지 못하므로 그 자리에서 즉시 차단됩니다.

    ④ 임계값 기반 트래픽 제한 (Rate Limiting)

    단일 IP 주소나 특정 세션에서 짧은 시간 동안 들어오는 요청 횟수를 제한하는 방식입니다.

    • 예를 들어 “동일한 IP에서 1초에 50회 이상의 HTTP 요청이 들어올 경우 10분간 해당 IP 차단”과 같은 규칙을 설정하여 웹 서버의 과부하를 사전에 차단합니다.

    5. 디도스 공격 유형별 대응 체계 요약표

    구분공격 대상 영역대표적인 공격 기법주요 방어 메커니즘
    대역폭 공격네트워크 회선 (L3/L4)UDP Flood, DNS 증폭 공격Anycast 라우팅, 스크러빙 센터 대용량 차단
    프로토콜 공격연결 처리 장비 (L4)SYN Flood, Ping of DeathSYN Cookie 기술, 상태 기반 방화벽 차단
    응용 공격웹 응용 프로그램 (L7)HTTP GET/POST FloodRate Limiting, JS 챌린지, CAPTCHA 검증

    답글 남기기

    이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다