DoS, DDoS, DRDoS 에 대해 알아보도록 하겠습니다.
DoS 는 Denial of Service 의 약자로 서비스를 할 수 없게 하는 것을 뜻합니다.
DDoS, DRDoS 모두 서비스를 할 수 없게 만드는 공격입니다.
DoS 의 공격 특징
- 네트워크 자원 소진 : 네트워크 대역폭(Bandwidth)을 소진하도록 과도한 부하를 발생시킵니다.
- 시스템 자원 소진 : CPU, 메모리, 디스크 등 자원에 과도한 부하를 발생시킵니다.
- 가용 디스크 자원 고갈
- 가용 메모리 자원 고갈
- 가용 프로세스 자원 고갈
-자원 파괴 : 디스크, 데이터, 시스템을 파괴합니다.
DoS -> DDoS -> DRDoS식으로 발달했으며, 최근에는 IoT 를 활용하여 스마트 TV, 휴대폰 등 IP가 있는 단말기를 활용한 DDoS, DRDoS 까지 나와 단말기 보안에 대해 중요성도 얘기가 많이 나옵니다.
DoS, DDoS, DRDoS의 공통점은 정상적으로 서비스 사용할 수 없도록 만드는 공격이며, 차이점은 다음과 같습니다.
DOS
|
DDOS
|
DRDOS
|
|
정의
|
시스템을 악의적으로 공격해 해당 시스템의 자원을 부족하게 하여 원래 의도된 용도로 사용하지 못하게 하는 공격이다.
특정 서버에게 수 많은 접속 시도를 만들어 다른 이용자가 정상적으로 서비스 이용을 할 수 없게 만드는 서버 공격방법
|
여러 대의 좀비PC에서 한 웹 서버에 비정상적인 트래픽을 흘려보내 웹 서버가 과도한 트래픽 소모 및 프로세스 진행, 과도한 입출력등을 통해 서버가 정상적으로 서비스 이용을 할 수 없게 만드는 서버 공격방법
|
DRDOS의 공격 방식은 IP 헤더에 들어가는 송신자 IP 주소를 피해자의 IP로 조작하여, 정상적인 서비스를 하는 서버들에게 어떤 요청을 보낸다 그렇게 하면 일반적으로 서버들은 패킷의 송신자 IP를 보고 그 IP로 응답을 하므로 엉뚱하게 피해자에게 모든 응답이 되돌아가게 된다. 이를 고속으로 반복하여 피해자에게 대량의 트래픽을 유발시켜 정상적으로 서비스 이용을 할 수 없게 만드는 서버 공격방법
|
작동원리
|
공격자 -> 공격대상
|
공격자 -> 좀비PC -> 공격대상
|
공격자 -> 취약서버 -> 공격대상
|
에이전트 여부
|
X
|
O
|
X
|
더 자세히 알아보도록 하겠습니다.
Ⅰ. DoS
1) DoS(Denial of Service Attack, 서비스 거부 공격) 정의
- 컴퓨터의 자원을 고갈 시키기 위한 공격으로 특정 서비스를 계속적으로 호출하여 CPU, Memory, Network
등 자원을 고갈 시킵니다.
- 소프트웨어 취약점을 이용하는 공격과 IP Header를 변조하여 공격하는 로직 공격, 무작위로 패킷을 발생시키
는 플러딩 공격으로 구분됩니다.
- 웹 서버 또는 서버의 서비스 기능을 일시적 또는 무기한으로 방해 또는 중단을 시킵니다.
2) DOS 증상
- 비정상적인 CPU, Memory, 네트워크 사용량 증가로 인한 성능 저하
- 특정 웹사이트 혹은 모든 웹 사이트 접근 불가
- 특정 전자 우편의 급속히 증가
- 인터넷과 지역망을 연결하는 라우터의 대역폭이 공격으로 소진되면 전체 네트워크에 문제발생
(공격이 큰 규모로 이루어지면 전체 지역의 인터넷 접속이 영향을 받을 수도 있습니다.)
3) DOS 공격기법
- 서비스 거부 공격은 라우터, 웹, 전자우편, DNS 서버 등 모든 네트워크 장비를 대상으로 이루어질 수 있음.
DOS 공격은 몇가지 방법으로 침투 할 수 있다. 다섯 가지 기본 공격 유형은 다음과 같습니다.
(전산 자원을 소진, 구성 정보를 교란, 상태 정보를 교란, 물리적 전산망 요소를 교란, 원래 사용자와
공격대상 사이 통신 매체 차단)
- ICMP Flood: 스머프 공격(Smurf Attack)라고도 부르는 이 공격은 네트워크 장치 설정이 잘못되었을 경우
어떤 특정 전산망의 방송 주소로 전달된 패킷이 망 상의 어떤 특정 컴퓨터가 아니라 망의 모든 컴퓨터에 전달될
수 있다는 점을 이용한다. 전산망은 이 경우 스머프 증폭기의 역할을 한다. 이러한 공격에서 가해자는 대량의 IP
패킷을 보내면서 그 발신 주소를 표적 주소로 한다. 전산망의 대역폭이 신속히 소진되어 정상 패킷이 목적지에
도달하지 못하게 됩니다. 인터넷 상의 DoS 공격에 대항하기 위해 스머프 증폭기 등록처와 같은 서비스에서 이용
될 소지가 있는 잘못 설정된 전산망을 기록, 대응하여야 합니다.
- Ping Flood는 표적에 압도적인 수의 핑 패킷을 보낸다. 보통 유닉스 계열의 호스트에서 ping 명령을 이용
표적 보다 더 큰 대역폭만 있으면 되기 때문에 쉬운 공격수단입니다.
- SYN Flood는 TCP/SYN 패킷의 Flood를 보내면서 대개 송신자 주소를 위조한다. (SYN은 SYnchronize
Sequence Numbers의 약자로 TCP 패킷 머리 부분의 한 bit) 각각의 패킷은 접속 요청으로 취급됩니다.
서버는 한쪽만 열린 접속 부 프로세스를 만들고 TCP/SYN-ACK 패킷을 보낸 후 송신자 주소로부터의 패킷을
기다리게 된다. (ACK도 TCP 패킷 머리 부분의 한 bit) 그러나 송신자 주소가 위조된 것이므로 응답은 돌아오지
않는다. 이러한 한쪽만 열린 접속으로 서버에서 사용 가능한 접속의 수가 차면 공격이 지속되는 동안 정당한 요
청에 답을 할 수 없게 된다.
- Tear Drop는 패킷이 겹치거나, 패킷의 크기가 과대한 망가진 IP 조각을 보냅니다.
TCP/IP 조각 재조립 코드에 버그가 있기 때문입니다.
Ⅱ. DDOS
1) DDoS(Distributed Denial of Service attack) 정의
- DOS는 분산 서비스 거부 공격(Distributed Denial of Service attack)을 뜻하는 것으로 DOS에서 한 단계 진화
- 기본 원리는 그냥 여러 대의 컴퓨터에서 한 웹 서버에 비정상적인 트래픽을 흘려보내 웹 서버가 과도한 트래픽
소모 및 프로세스 진행, 과도한 입출력등을 통해 서버가 먹통이 되게 만드는 기본적인 서버 공격방법
2) DDOS의 공격 기법
여러 대의 좀비 PC를 활용하여 한 웹 서버에 비정상적인 트래픽을 흘려보내 웹 서버가 과도한 트래픽 소모 및 프로세스 진행, 과도한 입출력등을 통해 서버가 정상적인 서비스를 하지 못하도록하는 서버 공격방법.
- 좀비 PC
· 유포한 악성코드를 통해서 PC들을 순식간에 좀비 PC로 만든 뒤 공격 시 Agent 로 활용합니다.
· 감염된 수많은 컴퓨터가 일제히 서버에게 대량의 트래픽을 전송하여 서버가 허용하는 트래픽 용량을 넘어서게
되면 정상적인 클라이언트가 서버로 접속할 수 없게 된다.
· 좀비 PC측의 피해는 컴퓨터가 느려지는 정도. 그 외에 좀비 PC에서 개인정보를 꺼내가기도 한다.
※좀비pc로 감염되지 않으려면
1. 윈도우 기준으로 정기적인 윈도우 업데이트
2. 백신 설치 및 최신버전 사용 / 주기적인 검사
3. P2P 사용 조심
Ⅲ. DRDOS (Distributed Denial of Service)
1) DRDOS 정의
- DDoS (Distributed Denial of Service) 보다 한층 발전된 서비스 거부 공격 기술로 DRDoS (Distributed Reflection Denial of Service Attack, 분산 반사 서비스 거부 공격) 라는 공격 기술이 존재합니다. 이 기술의 근간은 IP Spoofing으로, Internet Protocol의 약점과 서버들의 응답성을 악용한 공격입니다.
- DRDOS의 공격 방식은 IP 헤더에 들어가는 송신자 IP 주소를 피해자의 IP로 조작하여, 정상적인 서비스를 하는 서버들에게 어떤 요청을 보낸다 그렇게 하면 일반적으로 서버들은 패킷의 송신자 IP를 보고 그 IP로 응답을 하므로 엉뚱하게 피해자에게 모든 응답이 되돌아가게 된다. 이를 고속으로 반복하여 피해자에게 대량의 트래픽을 유발, DDoS 공격의 형태로 만든 것이 바로 DRDoS이다.
-여기서 IP가 위조된 패킷을 받아 피해자에게 의도치 않게 공격을 가하게 되는 서버들을 반사체(Reflector), 또는 반사 서버(Reflection Server) 라고 하며, 인터넷 상에 연결 되어 외부의 요청에 대한 응답을 하는 어떠한 컴퓨터라도 반사체로 악용 될 가능성이 있다. 물론 여러분의 PC와 스마트폰도 반사체가 될 수 있습니다.
2) DRDOS 특징
IP Spoofing을 사용하므로 일단 IP가 위조 되어 있어 로그가 무의미해지며 반사체의 존재로 인해 공격 근원지 자체가 네트워크 전체로부터 숨겨지므로 실제 공격자의 추적이 굉장히 어려워진다.
피해자 시점에서는 공격자가 반사체로 보이겠지만 반대로 반사체 시점에서는 피해자가 서비스를 악용한듯이 로그가 나오게 된다는 것이다. 즉 공격자가 싸움을 유도해서 반사체와 피해자끼리 치고 받고 싸우고 있긴 한데 얘내 둘을 아무리 뒤져봤자 실제 공격자의 정보가 귀신 같이 없다. 이 때문에 DDoS와는 달리 공격자에 대한 아무런 단서가 남지 않아 공권력을 동원해도 검거가 쉽지 않으며 그래서 세계적으로도 큰 결점 없이 구현된 DRDoS 공격의 검거 사례가 손에 꼽을정도로 적다.
3) DRDOS 공격 기법
공격자가 응답 데이터를 부담하지 않는다는 점을 응용하여 실제 공격시에 반사체로부터 가능한한 큰 응답을 끌어내 공격 규모를 극적으로 향상시킬 수 있다. 결과적으로 실제로 공격자가 공격한 규모에 비해 피해자가 받는 공격 규모가 커진다.
문제는 이게 단순히 20~30% 수준이 아니라 적어도 수십배, 많으면 수백배씩 말도 안되는 납득이 불가능한 수준으로 공격 규모가 커진다는 것이다. 이로 인해서 실제 공격자가 단독으로 공격을 전개하더라도 어지간한 DDoS 이상의 공격 규모가 구현되고 좀비PC까지 동원해서 구현되기라도 하면 수백Gbps~수Tbps급의 국제적 규모가 되어버려 매우 심각한 문제를 일으키고 있으며, 이정도가 되면 방어 설정을 할 수 있고 없고가 문제가 아니라 공격 크기 자체가 문제가 된다. 다만 생각보다 증폭 성능을 높게 유지하는게 어렵기 때문에 전문가가 아닌 이상 DDoS처럼 쉽게 의미 있는 수준의 공격이 시전되지는 않는다.
'네트워크' 카테고리의 다른 글
NAT(Network Address Translocation)에 대해 알아보겠습니다 (0) | 2022.12.10 |
---|---|
ESM, SIEM, SOAR에 대해 알아보도록 하겠습니다. (0) | 2022.12.06 |
DoS, DDoS, DRDoS 에 대해 알아보도록 하겠습니다. (0) | 2022.12.04 |
VLAN 에 대해 알아보겠습니다. (0) | 2022.12.02 |
L4 / L7 (Load Balancing) 에 대해 알아보겠습니다. (0) | 2022.11.30 |