[보.알.남] 데이터 폭탄으로 상대방 컴퓨터 마비시키는 플러딩 공격

2022-10-24 00:41
  • 카카오톡
  • 네이버 블로그
  • url
2009년 7·7 디도스 대란의 한 축...대역폭 및 서비스 마비 공격으로 구분
유형별 네트워크 방화벽의 접속 임계치 설정 등 단계적 차단 작업 필요


[보안뉴스 김영명 기자] 플러딩(Flooding)이란 어떤 노드에서 온 하나의 패킷(데이터 전송에 사용되는 데이터 묶음)을 라우터에 접속돼 있는 다른 모든 노드로 전달하는 것으로, 네트워크에서 수정된 라우팅 정보를 모든 노드에 빠르게 배포하는 수단으로 사용되고 있다. 하지만 플러딩 공격(Flooding Attack)은 악의적으로 한꺼번에 많은 양의 데이터를 보내 상대방의 서비스를 운용할 수 없게 만드는 서비스 거부 공격을 뜻한다.


[이미지=utoimage]

네트워크 플러딩 공격은 오랫동안 서비스 거부 공격의 표준 도구로 활용됐다. 기본 개념은 합법적인 서비스 요청을 처리할 수 없도록 특정 서버 또는 서비스에 막대한 양의 트래픽을 보내는 것이다. 이와는 다르게 합법적인 트래픽이 대상 서버 또는 서비스에 도달할 수 없도록 네트워크 정체를 형성하기 위해 특정 네트워크 세그먼트에 대량의 트래픽을 보낼 수도 있다.

플러딩 공격은 지금으로부터 13년 전인 2009년에 발생해 우리나라에 큰 충격을 안겼던 7·7 DDoS(Distributed Denial of Service) 공격의 한 축으로 볼 수 있다. DDoS 공격은 크게 대역폭 소진 공격과 서비스(애플리케이션) 마비 공격으로 나눌 수 있는데, 대역폭 소진 공격의 대표적인 공격 유형에는 △UDP/ICMP 플러딩 공격 △SYN(Synchronize sequence numbers) 플러딩 공격이 있으며, 서비스(애플리케이션) 마비 공격에는 HTTP GET 플러딩 공격이 있다.

한국과학기술정보연구원(KISTI)이 발표한 ‘DDoS 공격 유형별 분석보고서’를 중심으로 플러딩 공격의 정의와 유형 분류, 대응법을 살펴본다.

DDoS 공격 유형, 대역폭 소진 및 서비스 마비 공격으로 구분
DDoS 공격(Distributed Denial of Service : 분산 서비스 거부 공격)은 크게 대역폭 소진 공격과 서비스(애플리케이션) 마비 공격으로 나눌 수 있다. 그리고 공격 형태에서는 UDP, ICMP 등이 활용된다.

UDP(User Datagram Protocol)는 ACK와 같은 응답을 송신 쪽으로 돌려보내지 않는다는 특징이 있으며, ICMP(Internet Control Message Protocol)는 네트워크 장비들이 서로 연결됐는지 확인하는 ping에서 사용하는 프로토콜을 의미한다. SYN은 일반적인 통신을 하기 위해 반드시 사용해야 하는 패킷이며, 서비스 유형에 따라 SYN 패킷의 사용량에는 차이가 있다.

대역폭 소진 공격은 △UDP/ICMP 플러딩 공격과 △TCP Traffic 플러딩 공격 △IP 플러딩 공격 등 3개로 구분되며, 네트워크 인프라를 공격대상으로 한다. 서비스(애플리케이션) 마비 공격은 △HTTP Traffic 플러딩 공격 △HTTP Header/Option Spoofing 플러딩 공격 등으로 구분할 수 있으며, 웹서버와 보안장비 등에 피해를 준다.


▲ACL로 UDP-ICMP를 차단하는 설정의 예시[이미지=KISTI]

UDP/ICMP 플러딩 공격, 네트워크 대역폭 잠식해 DoS 상태 유발
UDP/ICMP 플러딩 공격은 소스 IP를 변조하거나 실제 IP를 이용해 UDP/ICMP 패킷을 다량으로 전송, 네트워크 대역폭을 잠식시켜 DoS 상태를 유발하는 수법이다.

일반적으로 UDP/ICMP 플러딩 공격을 수행할 때 하나의 좀비 PC에서 발생시키는 패킷은 크기와 전송 간격이 다양하며,방화벽으로 모든 패킷이 몰리게 돼 보통 초 단위의 짧은 시간에 대량의 패킷이 집중될 수밖에 없다.

UDP/ICMP 플러딩 공격의 방어와 피해 완화를 위해서는 네트워크 스위치에서 ACL(Access Control List) 기반의 프로토콜 차단이나 방화벽의 임계치 설정 기능을 사용하면 가능하다.

먼저 ACL(Access Control List) 설정을 이용한 차단 방법은 웹서버 또는 운영장비에 대한 접근제어 목록에 차단하고자 하는 프로토콜 정보를 ACL에 UDP/ICMP DROP 정보로 설정해 차단하면 된다.

두 번째는 인바운드 패킷에 대한 임계치 설정을 이용한 차단이다. 운영장비로 유입되는 인바운드 패킷을 기준으로 PPS(Packet Per Second) 수치를 유입되는 수치보다 낮게 설정(예 : 10)해 임계치 이상의 UDP/ICMP 트래픽의 유입을 차단할 수 있다.


▲TCP Syn 플러딩 공격의 흐름[이미지=KISTI]

SYN 플러딩 공격, 대량 SYN 패킷 생성해 차후 연결 요청 무시
SYN 플러딩의 공격기법은 TCP 연결과정(3-Way Handshaking)의 첫 단계인 SYN 패킷 전송 단계에서 공격자는 대량의 SYN 패킷을 생성해 서버로 전달하면, TCP 연결요청을 수용할 때 사용하는 서버의 대기 큐가 가득 차게 돼 그 이후로 들어오는 연결요청을 무시하도록 하는 DoS 상태를 유발하게 된다.

SYN 플러딩 공격이 발생할 때 서버는 자신이 연결하지 않은 출발지에서 유입되는 다양한 패킷을 처리하고 확인하는 과정에서 과부하를 일으키게 된다.

SYN 플러딩 공격을 방어하고 피해를 완화하기 위해서는 TCP 프로토콜이 연결 지향성(Connection-Oriented)이라는 점을 이용하고, TCP 연결과정에 위배된 TCP 패킷이 유입될 경우 비정상적인 트래픽으로 구분해 차단하는 방법이 가장 효과적이다. 또한, 정상적인 트래픽의 임계치에 따라 비정상적으로 많은 트래픽을 유발하는 출발지 IP를 확인하고 이에 대해 차단하는 임계치 기반의 DDoS 방어를 하는 것이 필요하다.

먼저 임계치 기반의 SYN 플러딩을 차단하는 방법은 방화벽의 IP당 SYN 요청에 대한 PPS 임계치를 단계적으로 조정해 차단할 수 있다.

두 번째로 First SYN Drop(Spoofed) 설정에 의한 차단이다. SYN 패킷을 보내는 클라이언트가 진짜 존재하는지를 파악해 차단하는 방법으로 클라이언트로부터 전송된 첫 번째 SYN을 Drop해 재요청 패킷이 도착하는지를 확인하고 Spoofing 여부를 판단하고 차단하면 된다.

HTTP GET 플러딩 공격, 애플리케이션 마비 공격의 대표적 사례
HTTP GET 플러딩 공격은 서비스(애플리케이션) 마비 공격의 대표 유형이다. HTTP 메시지는 헤더(Header)와 보디(Body)로 구성되며 헤더에는 보낼 메시지의 형식을, 보디에는 실제 보낼 메시지의 내용을 정의한다. HTTP 메시지는 TCP를 통해 최소 1개 이상의 패킷으로 분할 전송된다.

HTTP GET 플러딩 공격에는 △Get 플러딩 △GET 플러딩 with Cache-Control(CC Attack)이 있다. 이밖에도 HTTP Header/Option Spoofing 플러딩 공격은 △Slow HTTP POST DoS △Slow HTTP Header DoS(Slowloris) △Slow HTTP Read DoS 공격으로 나뉜다.


▲Get 플러딩 공격 패킷의 예[이미지=KISTI]

Get 플러딩 공격, 같은 URL 반복 요청해 용량 초과 서비스 불가
Get 플러딩 공격은 공격자가 동일한 URL을 반복 요청해 웹 서버가 URL에 해당되는 데이터를 클라이언트에게 회신하기 위해 서버 자원을 사용하도록 하는 공격이다. 웹서버는 한정된 HTTP 처리 커넥션 용량을 가져 용량 초과시 정상적인 서비스가 어렵다.

이때는 일반적으로 임계치 기반의 방어 기법을 적용하면 된다. 즉, HTTP Get 플러딩 시 수행되는 TCP 연결 요청의 임계치 값과 HTTP Get 요청의 임계치 값의 모니터링을 통해 비정상으로 많은 트래픽을 발생하는 출발지 IP를 선별 차단하는 것이다. 이때 세션 연결 기반 공격의 경우 출발지 IP는 변조될 수가 없으므로 출발지 IP 기준의 임계치로 방어가 가능하다.

향후 이러한 세션 기반 공격의 경우 다수의 사용자를 이용한 DDoS 공격이 이뤄지면 하나의 출발지 IP당 발생하는 DDoS 공격 트래픽 양은 방어 장비에서 설정된 임계치 정책보다도 더 작게 공격할 수 있는 위험이 있다. 따라서 DDoS 공격을 세밀하게 방어하기 위해서는 정상적으로 HTTP Get 요청을 하는지에 대한 정밀한 검사 기법이 요구된다.

Get 플러딩 공격을 막기 위해서는 세 가지 대응방안이 있다. 첫 번째는 콘텐츠 요청에 대한 임계치 설정 차단으로, Get 플러딩 공격은 특정한 동적 콘텐츠 데이터를 다량으로 요청하는 것이 특징이므로 IP마다 콘텐츠 요청이 가능한 횟수에 임계치를 설정하면 방어가 가능하다.

두 번째는 시간별 웹페이지 URL 접속 임계치 설정 차단으로, URL의 시간별 임계치를 설정해 임의의 시간 내 설정한 임계치 이상의 요청에는 해당 IP를 차단목록으로 등록하는 방법이다.

세 번째는 웹스크래핑(Web-Scraping) 기법을 이용한 차단이다. L7 스위치를 운영하는 경우, 웹스크래핑 기능을 이용하면 요청 패킷에 대해 특정 쿠키 값이나 자바스크립트를 보내 클라이언트로부터 원하는 값이 재요청 패킷(응답 패킷)에 없는 경우 해당 패킷을 차단하면 된다.
[김영명 기자(boan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

연관 뉴스

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


과월호 eBook List 정기구독 신청하기

    • 가시

    • 인콘

    • 엔텍디바이스코리아

    • 이노뎁

    • 다봄씨엔에스

    • 아이디스

    • 씨프로

    • 웹게이트

    • 엔토스정보통신

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 비엔비상사

    • 원우이엔지
      줌카메라

    • 지인테크

    • 그린아이티코리아

    • 이화트론

    • 다누시스

    • 테크스피어

    • 렉스젠

    • 슈프리마

    • 혜성테크윈

    • 시큐인포

    • 미래정보기술(주)

    • 효성인포메이션시스템

    • 비전정보통신

    • 경인씨엔에스

    • 지오멕스소프트

    • 성현시스템

    • 디비시스

    • 다후아테크놀로지코리아

    • 동양유니텍

    • 이앤엠솔루션

    • 세연테크

    • 트루엔

    • 위트콘

    • 투윈스컴

    • 이에스티씨

    • (주)우경정보기술

    • 주식회사 에스카

    • 이오씨

    • 넥스트림

    • 넷앤드

    • 에스지앤

    • 베스핀글로벌

    • 체크막스

    • 프렌트리

    • 신우테크
      팬틸드 / 하우징

    • 에프에스네트워크

    • 앤디코

    • 케이제이테크

    • 알에프코리아

    • 사라다

    • 아이엔아이

    • 포엠아이텍

    • 새눈

    • 창성에이스산업

    • 한국씨텍

    • 태정이엔지

    • 네티마시스템

    • 에이앤티코리아

    • 유투에스알

    • 구네보코리아주식회사

    • (주)일산정밀

    • 이스트컨트롤

    • 에스에스티랩

    • 에이앤티글로벌

    • 주식회사 알씨

    • 현대틸스
      팬틸트 / 카메라

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 유에치디프로

    • 두레옵트로닉스

    • 엘림광통신

    • 티에스아이솔루션

    • 포커스에이치앤에스

    • 보문테크닉스

    • 휴젠

    • 메트로게이트
      시큐리티 게이트

    • 글로넥스

    • 신화시스템

    • 세환엠에스(주)

    • 유진시스템코리아

    • 카티스

    • 유니온커뮤니티

Copyright thebn Co., Ltd. All Rights Reserved.

MENU

회원가입

PC버전

닫기