DDoS 공격

2019. 10. 8. 19:18정보보안

DDoS의 공격원리 : 분산 서비스 공격은 여러 대의 호스트가 하나의 목표물에 대하여 공격을 가하는 형태를 말한다. 공격자는 중간에 몇 개의 에이전트를 컨트롤 할 수 있는 마스터를 가지게 된다. 공격자는 중간에 몇 개의 에이전트를 컨트롤 할 수 있는 마스터를 가지게 된다. 공격자는 마스터에게 공격에 대한 명령을 내리게 되면 마스터는 다시 에이전트에게 공격 명령을 내려 하나의 목표를 공격하게 되는 것이다.

1. TRINDO

 (1) UDP flood 서비스 방해 공격을 이용하는 DDoS 공격 프로그램이다. 공격 시에는 위의 공격 절차대로 몇 개의 서버들과 많은 수의 클라이언트들로 이루어진다. 마스터에 접속하여 서비스 방해공격을 수행하라고 명령을 내리면 마스터는 특정한 시간 동안 데몬들과의 통신을 통해 타겟 서버를 공격하게 된다. 

 (2) 공격자가 마스터 서버에게 tcp 27665번 포트를 통해 공격명령을 내린다. 이때 패스워드를 요구한다.

 (3) 명령을 받은 마스터 서버는 데몬들에게 udp 27444번 포트를 통해 명령한다. 마스터 서버는 실행 가능하다고 확인된 모든 데몬들에게 브로드캐스트 주소로 요청을 보낼 것을 명령할 수 있다.

2. TFN

 (1) UDP flood 공격, TCP SYN flood 공격, ICMP echo 요청 공격, ICMP 브로드캐스트 공격(smurf 공격)을 할 수 있는 막강한 기능을 하고 있다. Trinoo와 마찬가지로 공격자가 클라이언트 프로그램으로 일련의 TFN server들에게 공격 명령을 보냄으로써 작업이 이루어진다.

 (2) TFN 마스터는 ID 필드와 패킷의 위치인수를 가진 16bit 바이너리 값의 ICMP echo reply 패킷을 사용하여 데몬과 통신을 한다고 한다. 또, 공격자가 제공한 데몬들의 IP 주소 목록을 숨기기 위해 암호화를 사용하기도 한다.

3. Stacheldraht 

 (1) 전작인 trinoo나 TFN처럼 stacheldraht도 클라이언트와 데몬 프로그램으로 구성된다. 하지만, stacheldraht는 DDoS 공격 프로그램의 약점을 보완하여 개발되었다.

 (2) 그 예를 하나 들자면, 공격 시스템으로부터 마스터 시스템의 연결에서 암호문이 아닌 평문으로 오가는 데이터들이 TCP 세션 하이재킹이나 RST sniffing등, 일반적으로 알려진 TCP 기반 취약점을 극복하게 되었다. 이는 공격 시스템에서 마스터 시스템으로의 통신을 위해 기존 TELNET에 비슷한 형식의 암호화 통신 프로그램을 추가하였기 때문이다.

4. TFN2K

 (1) TFN의 진보된 프로그램으로도 볼 수 있다. 프로그램의 제작 역시 TFN을 제작한 Mixter에 의해 만들어졌고 TFN이 기본적으로 제공하는 DoS 공격 외에 추가로 5개의 공격이 더 가능하다.

 (2) TFN2K에서 제공하는 공격은 change IP antispoof-level, change packet size, bind root shell, UDP flood, TCP/SYN flood, ICMP/PING flood, ICMP/Smurf flood, MIX flood, TARGA3 flood등이 있다. TFN2K는 분산모드로 작동하기 때문에 클라이언트 모듈과 서버 모듈로 구분되어 있다. 클라이언트 모듈은 서버 모듁을 제어하는 모듁로서 서버에게 언제 어떤 공격을 누구에게 할 것인지를 지시한다.

DRDos 공격 원리 : 깁슨리서치라는 회사에서 2002년 1월 웹서비스가 불가하게 되었다. 깁슨리서치 웹서버로 흘러들어온 패킷을 분석해 봤더니 소스 IP가 werio.net, qwest.net등에 속하는 주소로 나타났다. 이 패킷의 근원지는 포트 179번이고 정상적인 SYN/ACK 패킷이다. 웹서비스 요청에 대해 포트 80으로 응답하는 것처럼 이 SYN/ACK패키도 BGP 포트 179번으로부터 나오고 있었다. 악의의 SYN패킷들은 정상의 TCP 서버에 의해 SYN/ACK패킷으로 반사되고 grc.com 대역폭을 공격하는 데 사용되고 있었다. 

5. 서비스 방해공격 대응방안

 (1) 입력 소스 필터링 방법 : SYN패킷을 이용한 DoS 공격의 경우, SYN 패킷의 근원지 주소가 위조된 것이므로 공격의 근원을 알아내는 것은 어려우며 패킷이 공격 대상 서버에 도착한 뒤에 근원을 알아내는 것은 불가능하다. 또한 네트워크는 패킷을 목적지 주소만을 이용하여 전달하므로 근원을 검증하는 유일한 방법은 입력 소스 필터링을 이용하는 것 뿐이다.

 (2) 적절한 라우터 설정 및 블랙홀 NULL 처리 : 현재의 IPv4에서는 IP스푸핑을 제거하는 것이 불가능하므로 이 문제를 이용한 DoS 공격에 대해서는 완벽한 해결책이 없는 상태이다. 그러나 엄격한 네트워크 트래픽 관리는 통하여 네트워크로 유입되거나 이로부터 유출되는 IP스푸핑 패킷을 감소시킬 수는 있다. 즉, 라우터를 적절히 구성함으로써 공격당할 가능성을 줄이거나, 해당 사이트 내의 시스템이 공격의 근원이 될 가능성을 감소시킬 수 있다.

 (3) 위장한 IP주소 필터링 : 자신의 네트워크에서 소스 IP주소가 위장되어서 나가는 패킷을 막는다. 대부분의 서비스 거부공격은 소스 IP를 위장하여 공격하므로 라우터나 침입차단시스템에서 위장된 주소를 가진 패킷을 차단한다. 

 (4) 라우터의 egress 필터링 기능 : ingress는 외부 인터넷으로부터 들어오는 packet을 의미하며, egress는 내부 네트워크에서 외부로 나가는 패킷을 말한다. egress 필터링이란 지정한 IP로부터의 패킷만이 라우터를 통과하게끔 패킷 필터링을 하는 것이며, 지정되지 않은 IP로부터의 패킷은 모두 drop된다.

 (5) DoS, DDoS 방지 전용 솔루션 도입 : 최근에는 관련 전용 솔루션이 개발되어 제품화된 상용 솔루션이 많아서, 서버나 네트워크 장비에서 방어가 힘들 경우에는 전용 솔루션을 도입하고 각종 ISP에서 제공하는 긴급 서비스 방해공격 대피소 등의 서비스를 제공하고 있다. 

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

PKI 구성방식  (0) 2019.10.08
SSO  (0) 2019.10.08
네트워크 스캐닝  (0) 2019.10.08
DoS  (0) 2019.10.07
암호 알고리즘  (0) 2019.10.07