Information Security ˗ˋˏ ♡ ˎˊ˗

Security/Network

[Attack] 네트워크 기반 공격 – 분산 서비스 거부 공격(DDoS)

토오쓰 2021. 10. 26. 15:47

분산 서비스 거부 공격(DDoS: Distributed Denial of Service)

1. 정의

분산된 다수의 좀비 PC/디바이스 (악성 봇)에 의해 Target 시스템의 서비스를 마비시키는 공격 형태

 

2. 구성요소 4가지

  1. 공격자 : C&C 서버에 공격 명령 전달하는 해커의 컴퓨터 (bot master)
  2. 공격대상 (Target) : 공격의 대상이 되는 시스템
  3. C&C (Command & Control) 서버 : 공격자로부터 직접 공격 명령을 전달받는 시스템 (master). 전달받은 명령은 관리하는 다수의 좀비 PC에게 전달
  4. Zombie PC/디바이스 : C&C 서버로부터 전달받은 명령을 실행하여 Target 에게 실제 공격을 수행하는 PC/디바이스 (bot, slave, agent)

 

3. DDoS공격의 사례

1) 트리누(Trinoo) 공격

  • UDP Flood 서비스 거부 공격 유발하는 데 사용되는 도구로 몇 개의 서버와 많은 수의 클라이언트로 이루어짐
  • 공격자는 트리누 마스터에 접속하여 하나 혹은 여러 개의 IP 주소를 대상으로 서비스 거부 공격을 수행하라고 명령을 내린다.

2) TFN(Tribed Flood Network) 공격

  • 트리누의 발전형
  • UDP Flood 외 TCP SYN flood 공격, ICMP echo 요청 공격, ICMP 브로드캐스트 공격(Smurf 공격) 가능

3) Stacheldraht 공격

  • 공격자와 마스터 사이에 암호화 통신 보장(TELNETC)
  • 네트워크 패킷 분석 시 Stacheldraht의 여부를 판단하기가 어렵다.

4) TFN2K 공격

  • TFN의 발전된 형태. 통신에 특정 포트가 사용되지 않고 암호화
  • 조금 더 다양한 OS에서 사용 가능
  • 프로그램에 의해 UDP, TCP, ICMP가 복합적으로 사용되며, 지정한 TCP 포트에 백도어 실행 가능

 

4. HTTP 관련 DDoS 공격 유형

1) HTTP Traffic Flooding 공격

  • GET Flooding
    • TCP 3-way handshaking 과정을 통해 정상 접속한다.
    • 특정 페이지를 HTTP의 GET Method를 통해 무한대로 실행시킨다. 
    • 시스템에 과부화 발생
  • GET Flooding with Cache-Control Attack (CC Attack)
    • HTTP 메시지의 캐시 옵션을 조작
    • 캐싱 서버가 아닌 웹서버가 메시지를 처리하도록 하여 캐싱 서버의 기능을 무력화하고 웹서버의 자원 소진시킨다.
  • 동적 HTTP Request Flooding 공격
    • 웹 방화벽 차단 기법을 우회하기 위해 지속적으로 요청 페이지를 변경하여 웹페이지를 요청

2) HTTP Header/Option Spoofing Flooding 공격

2-1) Slow HTTP POST DoS

  • POST 지시자를 통해서 서버에 전송할 다량의 데이터를 장시간에 걸쳐 분할 전송
  • 서버는 POST 데이터를 모두 수신하지 않았다고 판단하여 연결을 장시간 유지하기 때문에 부하가 발생한다.

2-2) Slow HTTP Header DoS(Slowloris)

  • 헤더 정보를 조작하여 구분할 수 없게 한다.
  • 웹 서버는 아직 HTTP 헤더 정보가 전달되지 않아서 서버는 장시간 연결 유지
  • 개행 문자, \r\n, 0x0D 0x0A

2-3) Slow HTTP Read DoS

  • TCP 윈도우 크기 및 데이터 처리율을 감소시킨 후 HTTP 데이터를 송신
  • 웹서버가 정상적으로 응답하지 못하도록 DoS 상태를 유발
  • 서버는 정상으로 회복될 때까지 대기상태에 빠짐

3) HULK(Http Unbearable Load King) DoS

  • 웹서버의 가용량(최대 접속 가능 클라이언트 수)을 모두 사용하도록 하여 정상적인 서비스가 불가능하도록 유도
  • GET Flooding 공격 중 하나이다.

 

4) SIP(Session Initiation Protocol) Flood

  • 하나의 INVITE request 메시지가 상당한 양의 자원을 소모하게 한다는 것을 이용
  • 수많은 INVITE request를 위조된 시작 주소에 넣어 전송하는 공격
  • SIP Proxy 서버에 부하
    • SIP: VoIP 전화 연결에 많이 사용하는 프로토콜

 

 

5. 유형에 따른 차단 정책

[대역폭 소진 공격 대응 방안]

  • 공격 유형: UDP Flooding, ICMP Flooding
    • 방화벽이나 웹서버 상단의 라우터 해당 프로토콜을 차단하는 ACL 정책 적용
  • 공격 유형: TCP Flooding
    • 프로토콜로 기준으로 차단하는 것에 한계가 있음
    • Source IP별 PPS 임계치 설정

[웹서버 자원 소모 대응 방안]

  • 공격 유형: SYN Flooding
    • Source IP별 PPS 임계치 설정
    • 패킷 헤더 검사를 통한 비정상적인 옵션 필드 가진 패킷 차단
  • 공격 유형: Slow Header Flooding, Slow Data Flooding
    • 완료되지 않은 연결 상태 유지
    • 요청에 대한 타임아웃 설정

[DB 커넥션 부하 유발 대응 방안]

  • 공격 유형: Get Flooding, Post Flooding
    • 다량의 HTTP 요청으로 웹서버와 DB 연동에 부하
    • 클라이언트 요청 수에 대한 임계치 초과하는 IP 차단
    • HTTP 표준에 맞지 않는 필드 값을 차단 시그니처로 설정

 

 

참고)

https://kaite-story.tistory.com/64

 

[정보보안기사 25] 서비스 거부 공격(DoS, DDoS, DrDoS)

서비스 거부 공격(DoS) 시스템에 과도한 부하 를 일으켜 시스템의 사용을 방해 하는 공격 방식(가용성 침해) TCP SYN Flooding Attack TCP 연결 과정 중에 3-way handshaking 과정에서 Half-Open 연결 시도가 가능.

kaite-story.tistory.com

https://gusudss.tistory.com/26

 

보안기사 - 서비스 거부 공격(DoS, DDoS)

서비스 거부 (DoS: Denial of Service) 공격 Target 시스템이 정상적인 서비스를 할 수 없도록 만드는 공격 = 가용성을 떨어트리는 것이 목적 파괴 공격 : 디스크, 데이터, 시스템 파괴 시스템 자원 소진

gusudss.tistory.com