공부/정보보안기사 실기

[Section 04] 네트워크 기본 학습 (222~ 256pg)

남쪽마을밤송이 2022. 4. 19. 10:16

 [13 분산 서비스 거부 (DDoS : Distibuted Denial of Service) 공격] 

개요

  • 분산 서비스 거부(DDoS) 공격은 분산된 다수의 좀비 PC/디바이스(악성 봇)에 의해 공격대상 시스템의 서비스를 마비시키는 공격 형태를 의미한다.
  • 일반적인 공격 구조를 살펴보면 다음과 같이 크게 4가지 구성 요소로 이루어져있다.
    • 공격자 : C&C 서버에 공격 명령을 전달하는 해커의 컴퓨터를 말한다. 봇 마스터라고도 한다.
    • 명령제어(C&C) 서버 : 공격자로부터 직접 공격 명령을 전달받는 시스템을 말하며 전달받은 명령은 관리하는 다수의 좀비 PC/디바이스에게 전달한다. 마스터 또는 C2 서버라고도 한다.
    • 좀비 PC/디바이스 : C&C 서버로부터 전달받은 명령을 실행하여 공격대상에 실제 공격을 수행하는 PC/디바이스를 말한다. 봇, 슬레이브, 에이전트라고도 한다.
    • 공격대상 : 공격의 대상이 되는 시스템을 말한다.
  • 일반적인 공격 절차는 다음과 같다.
    • 공격자는 각 봇을 관리하고 명령을 내리는 C&C 서버를 구축한다.
    • 스팸 메일이나 악의적인 웹사이트 등을 통해 불특정 다수의 PC에 봇을 배포해 감염을 시도한다.
    • 사용자가 봇 프로그램을 다운로드해 실행하면 봇에 감염된다.
    • 봇이 C&C 서버에 접속함으로써 감염 PC는 봇넷의 일원으로 추가된다.
    • 공격자가 C&C 서버에 명령을 내리면 C&C 서버는 봇에 명령을 전달한다.
    • 봇은 명령에 따라 다양한 공격을 수행하며 스스로 다른 PC로 봇의 전파를 시도한다.

봇/봇넷 살펴보기

  • 개요
    • 봇은 소프트웨어적 로봇을 줄임말로 보안상 결함을 이용해 원격에서 해당 시스템을 제어할 수 있는 프로그램을 말한다. 이러한 악성 봇에 감염된 PC/디바이스를 "좀비 PC/디바이스"라고 한다.
      • 일반적으로 봇은 웜/바이러스, 백도어, 스파이웨어, 루트킷 등 다양한 악성코드들의 특성을 복합적으로 가지고 있다.
      • 봇은 공격자(봇 마스터)의 명령에 따라 활동하며 공격자가 감염된 PC/디바이스를 제어하여 정보 유출, 스팸 메일 발송, 디도스 공격, 트래픽 스니핑, 키 로깅 등 다양한 형태의 공격을 수행한다.
    • 봇넷이란 악성 소프트웨어인 봇에 감염된 다수의 좀비 PC/디바이스로 구성된 네트워크를 말한다. 좀비들은 C&C 서버와 직접 통신하거나 좀비들 간에 서로 통신을 수행하면서 공격자의 명령을 수행한다.
      • 합법적인 분산 네트워크로 봇넷 기술을 활용할 수 있지만 일반적으로 봇넷이라 하면 악의적인 의도를 가진 불법 네트워크를 의미한다.
    • 봇넷은 명령/제어를 위해 사용하는 프로토콜에 따라 IRC 봇넷, HTTP 봇넷, P2P 봇넷으로 분류할 수 있으며 네트워크 구성에 따라 중앙 집중형 방식과 분산형 방식으로 분류할 수 있다.
  • 봇넷 명령 제어 방식
    • 중앙 집중형 명령/제어 방식
      • 초기에는 구조가 유연하고 널리 사용되는 IRC의 특성을 이용한 IRC 봇넷이 주를 이루었으나 탐지 및 대응을 보다 어렵게 하기 위해 인터넷 상에서 많이 사용되는 웹 프로토콜인 HTTP를 기반으로 진화하였다.
      • 다수의 도메인을 확보하여 중앙 집중형 명령/제어를 하기 위한 C&C 서버로 등록하고 다수의 좀비들이 C&C 서버와 연결되어 명령을 수행하는 구조이다.
      • 명령/제어 구조가 비교적 간단하지만 C&C 서버가 탐지 및 차단되면 전체 봇넷이 중단될 가능성이 있다.
      • 대표적인 봇넷 유형에는 IRC 봇넷, HTTP 봇넷이 있다.
    • 분산형 명령/제어 방식
      • 참여 멤버(좀비/봇)들이 모두 C&C 역할을 수행하여 그룹에 명령을 전파하는 분산 제어 방식으로 중앙 관리를 위한 별도의 도메인 및 C&C 서버가 불필요하다.
      • 주로 봇넷을 보호하고 네트워크가 끊어지는 것을 방지하기 위한 방식으로 참여 멤버 모두 C&C 역할을 수행하므로 탐지 및 차단이 어렵다.
  • DNS 싱크홀 서비스
    • 악성 봇에 감염된 PC가 해커의 명령을 받기 위해 C&C 서버로 연결을 시도할 때 C&C 서버 대신 싱크홀 서버로 우회시켜 더이상 해커로부터 조종 명령을 받지 않도록 해주는 시스템/서비스를 말한다.
    • 싱크홀의 사전적 의미는 땅이 가라앉아 생긴 구덩이를 의미한다. 악성 봇을 미리 파놓은 구덩이로 유도하는 방식으로 이해할 수 있다.
    • 한국인터넷진흥원에서 국내 주요 ISP 업체 및 가입기관과의 협력을 통해 DNS 싱크홀을 운영하고 있다.
    • DNS 싱크홀 동작 과정은 다음과 같다.
      • 사전 단계로 KISA에서 배포한 알려진 C&C 서버 목록을 ISP 등 DNS 싱크홀 적용기관의 DNS 서버에 주기적으로 업데이트한다.
      • 악성 봇에 감염된 PC가 싱크홀이 적용된 DNS에 C&C 서버에 대한 질의를 요청한다.
      • DNS는 악성 봇 PC에 싱크홀 서버 IP 주소를 반환한다.
      • 이를 통해 악성 봇 PC는 C&C 서버가 아닌 싱크홀 서버로 접속하여 공격자의 명령으로부터의 피해를 방지할 수 있다.

봇넷의 보안장비 우회 기법

  • 개요
    • 일반적으로 봇넷을 구성하는 좀비 PC나 랜섬웨어 등의 악성코드는 C&C 서버에 접속하는 과정에서 C&C 서버 도메인에 대한 질의를 수행한다.
      • 보안장비 관점에서는 C&C 서버 도메인이나 IP 주소 등이 알려지면 이를 블랙리스트로 등록하여 탐지 및 차단 수행
      • 공격자 관점에서는 확보한 봇넷 멤버들의 지속적 유지를 위해 보안장비를 통해 탐지되지 않도록 하는 것이 중요
    • 따라서 공격자들은 봇넷 참여 멤보들의 C&C 서버 접속 과정에서 보안장비에 의해 탐지되지 않도록 하기 위한 다양한 보안 장비 우회 기법을 적용하고 있다. 대표적인 기법은 다음과 같다.
      • Fast Flux 기법
      • DGA 기법
      • Domain Shadowing 기법
  • Fast Flux 기법
    • 하나의 C&C 서버 도메인에 다수의 IP 주소를 할당하여 DNS 질의시마다 지속적으로 IP 주소가 변경되도록 하는 기법을 말한다.
      • Flux의 사전적 의미는 지속적인 변화이다. 즉, 도메인 질의시마다 C&C 서버 IP응답을 빠르게 지속적으로 변화시킨다는 의미이다.
      • 미리 확보해 둔 다수의 C&C 서버 IP 주소들을 DNS레코드에 추가하고 TTL값을 매우 작게 주어 빠르게 라운드 로빈 방식으로 응답이 되도록 한다.
    • 만약 보안장비에 의해 Fast Flux IP 중에 어느 하나가 차단된다고 해도 다른 IP를 통해 지속적으로 C&C 서버에 접속할 수 있다.
      • DNS 질의 자체를 탐지할 수 있는 7계층 보안장비가 없는 상황이라면 Fast Flux IP 일부만 차단해서는 C&C 서버로의 접속을 완전히 차단할 수 없다.
  • DGA(Domain Generation Algorithm) 기법
    • 약속된 규칙(알고리즘)에 따라 C&C 서버 도메인을 지속적으로 동적 생성하여 도메인 기반의 탐지 및 차단을 우회할 수 있는 기법을 말한다.
      • 다수의 임시 C&C 서버 도메인이 동적으로 생성되기 때문에 보안장비 입장에서는 이를 모두 탐지하고 차단하기가 매우 어렵다.
      • 컨피커 웜에 의해 DGA 기법이 처음 알려졌으며 Locky(시스템 날짜 기반으로 도메인명 생성), WannyCry 랜섬웨어 등에서 사용됨
    • 알고리즘에 따라 도메인을 다수 생성하기 때문에 공격자는 해당 알고리즘에 따라 생성될 수 있는 도메인 중 하나를 DNS 서버에 새롭게 등록하는 방식을 사용한다. 만약 등록한 도메인이 블랙리스트로 차단된다면 다른 도메인명을 재등록한다.
  • Domain Shadowing 기법
    • 알려진 합법적인 도메인의 서브 도메인을 C&C 서버 도메인으로 사용하여 도메인 기반의 탐지 및 차단을 우회할 수 있는 기법을 말한다.
      • 적법한 절차로 도메인을 소유하고 있는 도메인 관리자의 개인정보 등을 탈취하여 도메인 소유자 몰래 많은 서브 도메인을 등록시켜놓고 사용하는 기법
      • 드라이브 바이 다운로드 공격 도구인 앵글러 익스플로잇 도구에서 탐지 회피를 위한 기술로 사용되어 알려짐
    • 주로 드라이브 바이 다운로드(DBD) 공격에서 악성코드 유포지로 흘러가는 길목에 사용되는 경유지 도메인을 서브 도메인으로 사용한다.

DDoS 공격유형

  • UDP/ICMP Flooding : 공격자는 다량의 UDP/ICMP 패킷을 서버로 전송하여 서버가 보유한 네트워크 대역폭을 가득 채워 다른 정상적인 클라이언트의 접속을 원활하지 못하도록 유발시키는 공격
  • DNS Query Flooding : 공격자는 UDP 프로토콜 기반의 서비스를 제공하는 DNS에 대해 DNS 쿼리 데이터를 다량으로 서버에 전송하여 DNS의 정상적인 서비스를 방해하는 공격
  • TCP SYN Flooding :  공격자는 다량의 SYN 패킷을 서버로 전달하여 서버의 대기큐를 가득 채워 새로운 클라이언트의 연결요청을 무시하도록 장애를 유발시키는 공격
  • TCP Flag Flooding : TCP의 Flag값을 임의로 조작하면 여러 형태의 패킷을 생성할 수 있는데, 서버는 이러한 패킷을 수신하는 경우 해당 패킷을 검증하기 때문에 서버의 자원을 소모시키는 공격이다.
  • TCP Session Flooding : TCP 3-way Handshake 과정을 과도하게 유발함으로써 서비스의 과부하를 유발하는 공격
  • HTTP Continuation : 서버로 전달되는 패킷에 HTTP Header 없이 Data만 채워 웹서버가 지속적으로 데이터 수신을 위해 TCP 자원을 사용하도록 하는 공격
  • HTTP GET Flooding : 공격자는 동일한 URL을 반복 요청하여 웹서버가 URL에 해당되는 데이터를 클라이언트에게 회신하기 위해 서버 자원을 사용하도록 하는 공격
  • HTTP GET Flooding with Cache-Control : 공격자는 HTTP 메시지의 캐시 옵션을 조작하여 캐싱 서버가 아닌 웹서버가 직접 처리하도록 유도하여 캐싱 서버의 기능을 무력화하고 웹서버의 자원을 소모시키는 공격
  • Slow HTTP POST DoS :
  • Slow HTTP Header DoS :
  • Slow HTTP Read DoS :
  • 해시도스 공격 :
  • 헐크도스 공격 : 

네트워크 대역폭 소진 공격 실습

  • UDP Flooding 공격
    • 개요
      • 공격자는 다량의 UDP 패킷을 서버로 전송하여 서버가 보유한 네트워크 대역폭을 소진시켜 다른 정상적인 클라이언트의 접속을 원활하지 못하도록 유발시키는 공격
  • ICMP Flooding 공격
    • 개요
      • 공격자는 다량의 ICMP 패킷을 서버로 전송하여 서버가 보유한 네트워크 대역폭을 소진시켜 다른 정상적인 클라이언트의 접속을 원활하지 못하도록 유발시키는 공격

서버/서비스 소진 공격 실습

  •  TCP SYN Flooding 공격
    • 개요
      • TCP SYN Flooding 공격은 TCP 연결 설정 과정의 취약점을 이용한 공격으로 공격대상 시스템의 TCP 연결자원을 소진시켜 외부로부터 TCP 연결 요청을 받을 수 없는 상태로 만드는 서비스 거부 공격 기법이다.
    • 공격원리
      • Client가 Server로 SYN 요청을 보내면 Server는 SYN+ACK 응답을 보내고 해당 연결 요청 정보를 incomplete connection queue에 저장한다.
      • Client로부터 ACk를 받아 연결이 완료되면 위의 큐에 있던 연결 요청 정보를 completed connection queue로 이동, accept() 시스템 콜을 통해 클라이언트와 통신할 연결소켓이 생성되면서 연결 요청 정보는 삭제된다.
      • TCP SYN Flooding 공격은 다수의 TCP 연결을 완료하지 않아 incomplete connection queue를 꽉 차게 만들어 더이상 새로운 연결요청을 받을 수 없도록 하는 공격이다. backlog queue의 크기는 incomplete + complete queue 크기이다.
      • 공격자는 출발지 IP를 도달 불가능한(존재하지 않는) IP로 위조한 SYN요청을 보내 서버 측의 SYN+ACK 요청에 대한 ACK 응답이 발생하지 않도록 만든다.
      • 위조된 출발지 IP 중에는 실제 존재하는 IP도 있으며, 이 경우 상대방으로부터 RST 응답이 발생하는 것을 확인할 수 있다.
    • 대응책
      • 완전한 3-way handshaking이 이루어지지 않는다면 백로그 큐가 소비되지 않도록 설정한다. 대표적으로 SYN Cookie 설정을 이용할 수 있다.
      • 방화벽 또는 DDoS 대응장비를 이용하여 동일 Client의 연결 요청에 대한 임계치 설정을 통해 과도한 연결요청이 발생하는 것을 차단한다.
      • FIst SYN Drop 설정을 한다. 연결 요청 패킷을 보내는 클라이언트가 실제로 존재하는지를 파악하는 방법으로 클라이언트로부터 전송된 첫 번째 SYN은 Drop하여 재요청 패킷이 도착하는지 확인하여 출발지 IP가 위조되었는지 판단한다. 대부분의 공격툴이 다량의 SYN 요청을 생성할 뿐 패킷 Drop시 재전송을 수행하지 않는다는 점을 이용한 방법이다.
      • 백로그 큐의 크기를 늘려준다. 이 방법은 임시적인 조치는 되지만 대규모 공격이 발생했을때는 순식간에 큐가 차므로 효과를 보기 어렵다.
      • SYN+ACK 에 대한 대기 시간을 줄인다. 단 대기시간을 너무 줄이면 정상요청에 문제가 생길 수 있다.
  • HTTP GET Flooding 공격
    • 개요
      • HTTP GET Flooding 공격은 공격자가 동일한 동적 컨텐츠에 대한 HTTP GET 요청을 다량으로 발생시켜 공격대상 웹서버가 해당 요청을 처리하기 위해 서버 자원을 과도하게 사용하도록 하여(부하를 유발하여) 정상적인 요청을 처리하지 못하도록 하는 서비스 거부 공격이다.
    • 웹서버 access 로그 분석
    • 패킷 캡처 도구 ngrep : L7 계층 프로토콜 패킷의 데이터부를 ASCII 형식으로 보고자 할 때 유용한 패킷 캡처 도구이다. 
  • Hulk DoS 공격
    • 개요
      • HTTP GET Flooding 공격은 공격자가 동일한 주소에 대한 HTTP GET 요청을 다량으로 발생시키지만 Hulk DoS 공격은 공격대상 웹사이트 주소(URL)을 지속적으로 변경하면서 다량으로 GET 요청을 발생시키는 서비스 거부 공격이다.
      • 주소(URL)를 지속적으로 변경시키는 이유는 임계치 기반의 디도스 대응장비를 우회하기 위함이다. 특정 자원에 접근하는 횟수를 제한하는 임계치 기반 디도스 대응 장비의 경우 주소가 계속 변경되면 서로 다른 주소로 인식하여 정상적인 차단이 불가능해진다.
    • 패킷 캡처
      • 공격자의 HTTP 요청 URL 정보를 보면 파라미터를 계속 변경시키면서 다수의 요청을 발생시키고 있다.
  • Hash DoS 공격
    • 개요
      • 웹서버는 클라이언트(웹 브라우저) HTTP 요청을 통해 전달되는 파라미터를 효율적으로 저장하고 검색하기 위한 자료구조로 해시테이블을 주로 사용한다.
      • 공격자는 이러한 특성을 악용하여 조작된 많은 수의 파라미터를 POST 방식으로 웹서버로 전달, 웹서버는 다수의 해시충돌이 발생하게 되고 결과적으로 정상적인 파라미터 조회 시 많은 CPU 자원을 소모하게 된다. 이러한 방식의 서비스 거부 공격을 Hash DoS 공격이라고 한다.
    • 패킷 캡처
      • 20번 패킷을 보면 공격자가 POST 방식으로데이터 전달을 요청하고 있는데 특히 Content-Length 헤더필드를 보면 1375852  bytes의 데이터 전달을 시도함을 알 수 있다.
      • 22번 패킷을 보면 공격자가 요청 메시지 바디를 통해 전달하는 데이터를 볼 수 있다. 다수의 조작된 파라미터 정보가 보이고 있다.
      • 요청 파라미터 정보는 '파라미터명=파라미터값&파라미터 구분자'로 구성되어 있다.
      • 해당 TCP 연결에 대한 전체 스트림 정보를 살펴보면 매우 많은 조작된 파라미터 정보가 전달되는 것을 확인할 수 있다.

Slow 계열 공격 실습

  •  Slow HTTP Header DoS (Slowloris) 공격
    • 개요
      • HTTP 요청 메시지는 요청 라인, 요청 헤더, 빈 라인, 메시지 바디로 구성되어 있다. 개행은 CRLF를 의미하는 것으로 16진수값으로 표현한다.
      • 요청 헤더를 보면 여러 헤더 필드들로 구성되어 있고 각 헤더 필드는 개행을 통해 구분이 된다. 마지막 헤더 필드에 대한 개행처리가 되고 나면 요청 헤더의 끝을 식별하기 위한 빈 라인이 추가된다.
      • 기본적으로 웹서버는 클라이언트의 HTTP 요청 메시지가 들어오면 먼저 요청 헤더부까지 모두 수신한 후 헤더 필드들을 분석하여 이후 메시지 바디부를 어떻게 처리할지 결정하게 되는데, 공격자는 이 부분의 취약점을 이용하여 공격을 수행할 수 있다.
      • 공격자가 만약 요청 헤더의 끝, 즉 빈 라인을 전달하지 않고 지속적으로 천천히 불필요한 헤더 필드 정보를 전달하면 웹서버는 요청 헤더부를 모두 수신해야 요청 메시지 처리가 가능하기 때문에 이를 모두 수신할 때까지 연결 상태를 유지하면서 대기하게 된다. 이런 방식으로 다수의 연결을 지속시키게 되면 대상 웹서버의 연결 자원이 모두 소진되어 정상적인 요청을 받을 수 없는 상태가 된다.
      • 이와 같은 방식으로 HTTP 요청 헤더 정보를 조작해서 서비스 거부 공격을 수행하는 것을 Slow HTTP Header DoS 일명 Slowrloris 공격이라 한다. DDoS 공격기법과는 달리 웹서버와의 연결 상태를 지속시키는 방식이기 때문에 연결자원을 소진시킬 정도의 트래픽만을 필요하므로 저대역폭 공격이라는 특징이 있다.
    • 실습
      • Content-Length:42이라는 헤더 필드 뒤에 개행(0x0d0a)이 보이며 빈 라인이 없기 때문에 웹서버 입장에서는 헤더 필드가 더 남아있을 것으로 판단하고 연결을 지속시키면서 다음 요청을 대기한다.
      • 이후로도 의미없는 헤더 필드와 개행이 보이며 예상한대로 빈 라인은 전송하지 않아서 웹서버는 추가 헤더 필드가 있는 것으로 판단하고 연결을 지속하며 대기한다.
  • Slow HTTP POST DoS(RUDY) 공격
    • 개요
      • 클라이언트(웹 브라우저)는 HTTP 요청을 통해 데이터를 웹서버로 전달하고자 할 떄 POST 방식을 사용하고, 메시지의 유형과 크기 정보를 전달하기 위해 Content-Type 헤더 필드와 Content-Length 헤더 필드를 사용한다.
      • 기본적으로 웹서버는 Content-Type 헤더 필드를 참고해서 데이터의 유형을 파악하고, Content-Length 헤더 필드를 참고해서 데이터의 길이를 파악한 후 해당 데이터의 길이만큼 읽어 들이는 작업을 수행한다. 공격자는 이 부분의 취약점을 이용하여 공격을 수행할 수 있다.
      • 공격자는 Content-Length를 비정상적으로 크게 설정한 후 매우 소량의 데이터를 지속적으로 천천히 웹서버에 전송하면 웹서버는 Content-Length 헤더 필드에 명시된 크기만큼 데이터를 모두 수신하기 위해 연결 상태를 유지하면서 대기하게 된다. 이런 방식으로 다수의 연결을 지속시키게 되면 대상 웹서버의 연결자원이 모두 소진되어 정상적인 요청을 받을 수 없는 상태가 된다.
      • 이와 같이 POST 방식으로 데이터를 전송하면서 Content-Length 헤더 필드와 전송 데이터를 조작해 서비스 거부 공격을 수행하는 것을 Slow POST DoS, 일명 RUDY 공격이라 한다.
  • Slow HTTP Read DoS 공격
    • 개요
      • TCP의 흐름 제어란 연결된 상호간에 수신 가능한 양만큼만 데이터를 전송하는 제어방식을 의미한다. 즉, 수신측의 수신 버퍼에 충분한 여유 공간이 없다고 송신측에게 알려주면 송신측은 수신측에서 여유 공간이 생겼다고 알려줄 때까지 대기함으로써 흐름 제어를 하게 된다.
      • TCP 헤더의 Window 필드가 수신측에서 수신 가능한 여유 공간의 크기를 담아서 송신측에게 전달하는 헤더 필드이다. 만약 수신측의 수신 버퍼에 여유공간이 0이 되면 Window 필드를 0으로 설정한 "Zero Window Packet"을 전달하고, 이를 수신한 송신측에서는 일정 시간 대기후 수신측 상태를 확인하기 위한 "Zero Window Probe Packet"을 전달한다. 이를 수신한 수신측에서는 여유 공간이 생겼다면 해당 공간의 크기만큼 Window 필드를 설정하여 응답하고 여전히 여유 공간이 없다면 "Zero Window Packet"으로 응답한다.
      • 공격자는 이러한 TCP 흐름 제어 특성을 이용해서 HTTP 요청을 보낸 후 Window 크기를 조작하여 0인 "Zero Window Packet"을 지속적으로 서버측에 전달하여 서버가 요청에 대한 응답 메시지를 전송하지 못하고 연결을 지속적으로 유지하도록 한다. 이런 방식으로 다수의 연결을 지속시키게 되면 대상 웹서버의 연결 자원이 모두 소진되어 정상적인 요청을 받을 수 없는 상태가 된다.
      • 공격자가 TCP 흐름 제어를 이용해서 요청에 대한 응답을 느리게 read 하여 서비스 거부 공격을 수행하는 것을 Slow HTTP Read DoS 공격이라 한다.
  • Slow HTTP Header/POST 공격 대응책
    • 동시 연결에 대한 임계치 설정을 통한 차단
      • 동일한 출발지 IP에서 동시에 연결할 수 있는 연결개수에 대한 임계치를 설정한다.
      • iptables 방화벽을 이용한다면 다음과 같은 룰 설정이 가능하다.
      • 연결 타임아웃 설정을 통한 차단
        • 클라이언트와 웹서버 간에 아무런 데이터 송수신 없이 세션을 유지하는 시간에 대한 타임아웃을 설정하여 연결을 종료한다.
        • Apache 웹서버의 경우 httpd.conf 의 Timeout 지시자를 120에서 작은 값으로 설정한다. 설정 값은 환경에 따라 적절한 값으로 설정한다.
        • 공격자가 방어 정책을 우회하기 위해 데이터 전송 주기를 짧게 가져갈 수 있으므로 이 방안에는 일정한 한계가 있다. 또 너무 작은 Timeout 을 설정하면 정상적인 서비스에 영향을 줄 수도 있다.

 [14 DRDoS (Distibuted Reflection DoS)] 

개요

  • 공격자는 출발지 IP를 공격대상 IP로 위조하여 다수의 반사서버로 요청 정보를 전송, 공격대상은 반사서버로부터 다수의 응답을 받아 서비스 거부 상태가 되는 공격유형을 말한다.
  • DRDoS 공격은 다양한 형태로 나타날 수 있다. 몇 가지 유형을 살펴보면 다음과 같다.
    • TCP의 연결설정과정의 취약점을 이용, 위조된 출발지 주소의 SYN 패킷을 반사서버로 전달하여 SYN+ACK 응답패킷이 공격 대상으로 향하도록 하는 방법
    • ICMP 프로토콜의 Echo Request 와 Echo Response를 이용, 위조된 주소의 Echo Request 를 반사서버로 전달하여 Echo Response가 공격대상으로 향하도록 하는 방법
    • UDP 프로토콜 서비스를 제공하는 서버를 반사서버로 이용하여 그 응답이 공격대상으로 향하도록 하는 방법
  • UDP 프로토콜을 사용하는 DNS, NTP, SNMP, CHARGEN 등의 서비스를 이용한 DRDoS 공격은 크게 반사와 증폭 공격 형태로 나타난다. 공격자는 출발지 IP를 공격대상 IP로 위조하여 취약한 서비스를 사용하는 서버에 대규모의 메시지를 보내고, 서버는 요청에 대한 응답메시지를 공격대상 IP에 반사 시도를 한다. 이때 반사된 응답 메시지는 대량의 트래픽으로 증폭되어 공격 대상에게 전달된다.