본문 바로가기

보안

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

서비스 거부 (DoS: Denial of Service) 공격


Target 시스템이 정상적인 서비스를 할 수 없도록 만드는 공격 = 가용성을 떨어트리는 것이 목적

  • 파괴 공격 : 디스크, 데이터, 시스템 파괴
  • 시스템 자원 소진 공격 : CPU, 메모리, 디스크 등의 자원에 과도한 부하 발생
  • 네트워크 자원 소진 공격 : 과도한 트래픽으로 네트워크 대역폭을 소진

Ping of Death Attack

ICMP 패킷(ping)을 아주 크게 만들어 전송하면 MTU에 의해 다수의 IP 단편화(fragment)가 발생
(이더넷의 경우 MTU가 1500 bytes이므로, IP헤더를 제외하면 ICMP 패킷은 최대 1480bytes)
=> 수신측에서는 재조합 부하, 재조합 버퍼 오버플로우가 발생 ~ 정상적인 서비스를 하지 못한다

  • 대응책
    보통의 ICMP 패킷은 분할하지 않으므로 패킷 중 분할이 일어난 패킷을 공격으로 의심하여 탐지 (ID가 동일하고, offset이 달라짐)
    대부분의 시스템은 반복적으로 들어오는 일정 수 이상의 ICMP 패킷을 무시하게 설정되어 있으므로, 취약점이 있다면 패치한다

Land Attack

출발지 IP와 목적지 IP가 같은 패킷을 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해

  • 대응책
    대부분의 OS는 이러한 패킷을 모두 drop 시키므로 이론상으로만 존재하는 공격
    방화벽에서 출발지와 목적지가 같으면 무조건 drop

Smurf Attack


(Source IP를 Target IP로 설정한 ping을 브로드캐스트 -> target에 다수의 ICMP Reply가 전달되어 서비스 거부 유발)
출발지 IP를 희생자 IP로 위조(spoofing)한 후 증폭네트워크로 ICMP Echo Request를 브로드캐스트함으로써, 다수의 ICMP Echo Reply가 희생자에게 전달되어 서비스 거부를 유발
DRDoS의 일종

  • Directed Broadcast
    IP주소의 호스트 ID 비트를 모두 1로 설정해 broadcast하는 방식
    일반적으로 라우터에서 보안상의 문제로 허용하지 않음

  • 증폭 네트워크 (Amplifier(Bounce) Network)
    ICMP Echo Request 브로드캐스트 메시지를 받아 target에게 다수의/증폭된 ICMP Echo Reply를 전송하는 네트워크

  • 대응책
    스머프 공격의 특성상 공격이 시작되면 단시간에 다수의 ICMP Echo Reply 패킷을 희생자에게 전송 -> 동일한 ICMP Echo Reply 패킷이 다량으로 발생한다면 해당 패킷들을 침입차단시스템을 통해 모두 Drop
    증폭 네트워크로 사용되는 것을 막기 위해 다른 네트워크로부터 자신의 네트워크로 들어오는 Directed Broadcast 패킷을 허용하지 않도록 라우터 설정
    브로드캐스트 주소로 전송된 ICMP Echo Request 메시지에 대해 응답하지 않도록 시스템 설정

Teardrop Attack


IP 패킷의 재조합 과정에서 잘못된 fragment offset 정보로 인해 수신시스템이 문제를 발생하도록 만드는 DoS 공격
IP fragment offset 값을 서로 중첩되도록 조작하여 전송하고 이를 수신한 시스템이 재조합하는 과정에서 오류가 발생, 시스템의 기능을 마비시키는 공격
패킷의 fragment 관련 헤더 값을 조작하는 유사한 공격으로 Bonk, Boink가 있다

  • 대응책
    OS의 보안패치를 모두 설치하여 OS 취약점 해소



  • IP Fragmentation 취약점을 이용한 침입차단시스템 우회 공격 (Not DoS)
    1. Tiny Fragemnt
      IP 헤더보다 작은 fragment를 만들어 침입차단시스템(방화벽)을 우회하여 내부 시스템에 침입하는 공격기법
    2. Fragment Overlap
      IP fragment의 offset 값을 조작해 서비스 포트 필드를 중첩시켜서 재조합이 되고 나면 침입차단시스템에서 허용하지 않는 서비스에 접근 가능하게 만드는 공격 기법

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



[DDoS 공격 구조] - 중앙집중형 명령제어 방식의 봇넷구조 (가장 일반적)


DDoS 공격은 분산된 다수의 좀비 PC/디바이스 (악성 봇)에 의해 Target 시스템의 서비스를 마비시키는 공격 형태
크게 4가지 구성요소로 이루어진다

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

공격 절차

  1. attacker는 각 Bot을 관리하고 명령을 내리는 C&C 서버를 구축 (혹은 취약한 웹서버 해킹하여 C&C 서버로 활용하기도)
  2. 스팸메일이나 악의적 웹사이트 등을 통해 불특정 다수의 PC에 봇을 배포해 감염 시도
  3. 사용자가 봇 프로그램을 다운로드해 실행하면 봇에 감염
  4. 봇이 C&C 서버에 접속함으로써 좀비PC는 봇넷의 일원으로 추가됨
  5. 공격자가 C&C 서버에 명령을 내리면 C&C 서버는 봇에 명령 전달
  6. 봇은 명령에 따라 다양한 공격을 수행하며 스스로 다른 PC로 봇의 전파를 시도

봇(Bot)/봇넷(Botnet)

  • Bot
    보안상 결함을 이용해 원격에서 해당 시스템을 제어할 수 있는 프로그램
    악성 봇에 감염된 PC/디바이스 '좀비 PC/디바이스'
    웜/바이러스, 백도어, 스파이웨어, 루트킷 등 다양한 악성코드들의 특성을 복합적으로 가짐
    봇은 공격자(봇 마스터)의 명령에 따라 활동하며 공격자가 감염된 좀비 PC를 컨트롤하여 정보유출, 스팸메일 발송, DDoS 공격, 트래픽 스니핑, 키 로깅 등 다양한 형태의 공격을 수행
  • Botnet
    악성 소프트웨어인 봇에 감염된 다수의 좀비 PC/디바이스로 구성된 네트워크
    좀비들은 C&C 서버와 직접 통신하거나 좀비들간에 서로 통신을 수행하며 공격자의 명령 수행
    명령/제어를 위해 사용하는 프로토콜에 따라 IRC 봇넷, HTTP 봇넷, P2P 봇넷으로 분류
    네트워크 구성에 따라 중앙 집중형 방식(IRC, HTTP 봇넷), 분산형 방식(P2P 봇넷)으로 분류

봇넷 명령제어 방식


  • 중앙 집중형 명령/제어 방식
    초기에는 구조 유연한 IRC 봇넷이 주 (Rbot 등) -> 탐지 및 대응을 보다 어렵게 하기위해 HTTP 기반으로 진화 (Robax 등)
    다수의 도메인을 확보하여 중앙집중형 명령/제어를 하기 위한 C&C 서버로 등록하고 다수의 좀비들이 C&C 서버와 연결되어 명령 수행하는 구조
    (+) 명령/제어 구조가 간단
    (-) C&C 서버가 탐지 및 차단되면 전체 봇넷이 중단될 가능성

  • 분산형 명령/제어 방식
    참여멤버(좀비/봇)들이 모두 C&C 역할을 수행하여 그룹에 명령 전파 ~ 중앙 관리 위한 별도의 도메인 및 C&C 서버가 불필요
    주로 봇넷을 보호하고 네트워크가 끊기는 것을 방지하기 위한 방식
    멤버 모두가 C&C 역할을 수행하므로 탐지 및 차단이 어려움
    대표적 유형으로 P2P 봇넷(Storm, Peacomm 등)이 있다

DNS 싱크홀(sinkhole) 서비스


악성 봇에 감염된 PC가 해커의 명령을 받기 위해 C&C 서버로 연결을 시도할 때 C&C 서버 대신 싱크홀 서버로 우회시켜 더이상 해커로부터 조종 명령을 받지 않도록 해주는 시스템/서비스
악성 봇을 미리 만들어둔 싱크홀 서버로 유도하는 방식으로 이해하면 됨
KISA에서 국내 주요 ISP 업체 및 가입기관과의 협력을 통해 DNS 싱크홀을 운영

  • 동작 과정
    1. 사전 단계로 KISA에서 배포한 C&C 목록을 ISP 등 DNS 싱크홀 적용기관의 DNS 서버에 업데이트 작업을 주기적으로 진행
    2. 악성 봇에 감염된 PC가 싱크홀이 적용된 DNS에 C&C 서버에 대한 질의를 요청
    3. DNS는 좀비PC에 싱크홀 서버 IP 주소를 반환
    4. 이를 통해 좀비 PC는 C&C 서버가 아닌 싱크홀 서버로 접속하여 공격자의 명령으로부터 피해 방지

'보안' 카테고리의 다른 글

보안기사 - 무선랜  (0) 2020.04.26
보안기사 - DDoS, DRDoS  (0) 2020.04.25
보안기사 - Port Scanning  (0) 2020.04.22
보안기사 - 네트워크 관리 명령어  (0) 2020.04.22
보안기사 - TCP, UDP  (0) 2020.04.22