34
웹웹웹웹웹웹 웹웹웹웹웹웹 DDoS DDoS 웹웹 웹웹 Trinoo Trinoo 웹웹 웹웹

웹엔지니어링 DDoS 공격

  • Upload
    kieu

  • View
    210

  • Download
    0

Embed Size (px)

DESCRIPTION

웹엔지니어링 DDoS 공격. Trinoo 공격. 목 차. 1. DDoS 공격이란 무엇인가 ? DDoS 공격의 개요 DDoS 구성도 DDoS 공격절차 2. DDoS 공격의 종류 3. DDoS 공격의 피해사례 4. DDoS 공격실습 5. 보안대책 6. 후기 7. 참고문헌. 1. DDoS 공격이란 무엇인가 ?. DDoS 공격의 개요 - PowerPoint PPT Presentation

Citation preview

Page 1: 웹엔지니어링 DDoS  공격

웹엔지니어링웹엔지니어링DDoS DDoS 공격공격

TrinooTrinoo 공격공격

Page 2: 웹엔지니어링 DDoS  공격

목 차목 차 1. DDoS1. DDoS 공격이란 무엇인가공격이란 무엇인가 ?? DDoSDDoS 공격의 개요공격의 개요 DDoS DDoS 구성도구성도 DDoS DDoS 공격절차공격절차 2. DDoS2. DDoS 공격의 종류공격의 종류 3. DDoS3. DDoS 공격의 피해사례공격의 피해사례 4. DDoS4. DDoS 공격실습공격실습 5. 5. 보안대책보안대책 6. 6. 후기후기 7. 7. 참고문헌참고문헌

Page 3: 웹엔지니어링 DDoS  공격

1. DDoS1. DDoS 공격이란 무엇인가공격이란 무엇인가 ??

DDoSDDoS 공격의 개요공격의 개요 Denial of ServiceDenial of Service 란 란 multi-taskingmulti-tasking 을 지원하는 을 지원하는

운영체제에서 발생할 수 있는 공격 방법으로서 운영체제에서 발생할 수 있는 공격 방법으로서 구체적으로 한 사용자가 시스템의 리소스를 독점구체적으로 한 사용자가 시스템의 리소스를 독점 (hoggin(hogging)g) 하거나하거나 , , 모두 사용해 버리거나모두 사용해 버리거나 , , 파괴하여서 이 파괴하여서 이 시스템이 다른 사용자들에게 올바른 서비스를 제공하지 시스템이 다른 사용자들에게 올바른 서비스를 제공하지 못하게 만드는 것을 말한다못하게 만드는 것을 말한다 . DDOS(Distributed Denial of . DDOS(Distributed Denial of Service : Service : 분산 서비스 거부 공격분산 서비스 거부 공격 ) ) 은 은 DOS DOS 공격을 보다 공격을 보다 효과적이며 강력하게 공격하기 위한 방법으로 여러대의 효과적이며 강력하게 공격하기 위한 방법으로 여러대의 장비를 이용하여 공격을 하는 것을 말한다장비를 이용하여 공격을 하는 것을 말한다 ..

Page 4: 웹엔지니어링 DDoS  공격

DDoSDDoS 공격의 개요공격의 개요 DDoSDDoS 공격은 시스템의 정상적인 수행에 문제를 야기 시공격은 시스템의 정상적인 수행에 문제를 야기 시 키는 모든 행위를 키는 모든 행위를 denial of service (DoS) denial of service (DoS) 공격이라고 공격이라고 부르기 때문에 이를 위해서는 매우 다양한 방법이 존재부르기 때문에 이를 위해서는 매우 다양한 방법이 존재 할 수 있다할 수 있다 . . 이러한 이러한 DoSDoS 가 고의적으로 발생할 수도 가 고의적으로 발생할 수도

있지있지 만 사용자 의 의도와는 상관없이 실수로 발생 할 수도 있만 사용자 의 의도와는 상관없이 실수로 발생 할 수도 있 다는 사실이다다는 사실이다 . . 비록 비록 denial of servicedenial of service 는 시스템에 치명는 시스템에 치명 적인 문제적인 문제 (( 루트 권한의 획득루트 권한의 획득 , , 시스템이나 사용자 시스템이나 사용자

데이터데이터 의 파괴나 변조의 파괴나 변조 )) 를 끼치지는 못하지만 시스템의 정상적를 끼치지는 못하지만 시스템의 정상적 인 수행에 문제인 수행에 문제 (network (network 이나 시스템 서비스 등의 마비이나 시스템 서비스 등의 마비 )) 를 일으킴으로써 사용자들의 많은 불편을 주게 한다를 일으킴으로써 사용자들의 많은 불편을 주게 한다 . .

Page 5: 웹엔지니어링 DDoS  공격

DDoS DDoS 공격의개요공격의개요

그러므로 시스템 관리자들은 그러므로 시스템 관리자들은 denial of servicedenial of service 가 고의적가 고의적 으로 발생했던 실수로 발생하게 되었든 이를 재빨리 감지으로 발생했던 실수로 발생하게 되었든 이를 재빨리 감지 하여 신속히 문제를 해결함으로써 사용자들에게 적절한 하여 신속히 문제를 해결함으로써 사용자들에게 적절한 서비스를 제공할 수 있게 해주어야 한다서비스를 제공할 수 있게 해주어야 한다 . . 하지만 대부분하지만 대부분 의 의 denial of servicedenial of service 공격의 특징 이 공격을 감지하여 이공격의 특징 이 공격을 감지하여 이 를 막기가 매우 어렵다는 것이므로 이 공격의 심각성을 를 막기가 매우 어렵다는 것이므로 이 공격의 심각성을 가히 인식할 수 있겠다가히 인식할 수 있겠다 . .

Page 6: 웹엔지니어링 DDoS  공격

DDoS DDoS 구성도구성도

Page 7: 웹엔지니어링 DDoS  공격

DDoSDDoS 구성도구성도

공격하는 사람은 공격하는 사람은 ClientClient 뒤에 있다뒤에 있다 . Handler. Handler 는 특수한 프는 특수한 프

로그램이 돌아가도록 구성된 호스트이며로그램이 돌아가도록 구성된 호스트이며 , , 각 각 HandlerHandler 는 는

여러개의 여러개의 agentagent 들을 조정할수 있다들을 조정할수 있다 . . 또한또한 , , 특수한 프로특수한 프로

그램이 돌아가도록 구성된 호스트이다그램이 돌아가도록 구성된 호스트이다 . . 각 각 agentagent 는 는

target target 호스트에 호스트에 packet packet 스트림을 보낸다스트림을 보낸다 . . 공격자들은 공격자들은

DDOSDDOS 공격을 위해 공격을 위해 Trinoo, TFN, TFN2K, StacheldrahtTrinoo, TFN, TFN2K, Stacheldraht

와같은 프로그램들을 사용한다와같은 프로그램들을 사용한다 . DDoS. DDoS 공격을 위해 공격공격을 위해 공격

자는 수 백대에서 수 천대까지의 호스트들이 필요하다자는 수 백대에서 수 천대까지의 호스트들이 필요하다 . .

Page 8: 웹엔지니어링 DDoS  공격

DDoSDDoS 구성도구성도

호스트들은 대부분 Linux 나 Sun 워크스테이션이지만 ,

이 툴들은 다른 Platform 에서도 가능하다 . host 를 구성

하고 툴을 설치하는 과정은 자동으로 이루어지는데 , 이

과정은 다음과 같은 단계로 나뉜다

Page 9: 웹엔지니어링 DDoS  공격

DDoSDDoS 구성도구성도

1) 1) 취약점을 찾기위해 엄청나게 많은 흐스트들을 검사취약점을 찾기위해 엄청나게 많은 흐스트들을 검사 하는 하는 ScanScan 단계를 시작한다단계를 시작한다 . .

2) access2) access 권한을 얻기 위해 취약점을 가진 호스트들을 권한을 얻기 위해 취약점을 가진 호스트들을 공략한다공략한다 ..

3) 3) 각 호스트에 툴을 설치한다각 호스트에 툴을 설치한다 .. 4) 4) 공략된 호스트들 이용해서 더 많은 공략된 호스트들 이용해서 더 많은 scaningscaning 과 공략과 공략 을 한다을 한다

Page 10: 웹엔지니어링 DDoS  공격

DDoSDDoS 구성도구성도

이 과정이 자동으로 이루어지기 때문에이 과정이 자동으로 이루어지기 때문에 , , 공격자가 하나공격자가 하나 의 호스트를 공략하고 툴을 설치하는데 의 호스트를 공략하고 툴을 설치하는데 55 초가 채 걸리지 초가 채 걸리지 않는다않는다 . . 다시 말해서다시 말해서 , 1, 1 시간 안에 수 천대의 호스트들을 시간 안에 수 천대의 호스트들을 공략할 수 있다공략할 수 있다

Page 11: 웹엔지니어링 DDoS  공격

DDoSDDoS 구성도구성도

intrusion intrusion 및 및 client(handler), daemonclient(handler), daemon 프로그램 설치 단계프로그램 설치 단계 - - 이 단계는 전통적인 의미의 해킹으로서이 단계는 전통적인 의미의 해킹으로서 mastermaster 와 와 agentagent 로 이용할 수백 내지 수천개의 시스템에 침입하여 로 이용할 수백 내지 수천개의 시스템에 침입하여 rootroot 권한을 획득한 후 그곳에 권한을 획득한 후 그곳에 clientclient 와 와 daemondaemon 프로그램을 프로그램을 심어놓는 것이다심어놓는 것이다 . . 이 작업을 위해서는 단시간내 많은 이 작업을 위해서는 단시간내 많은 시스템을 연달아 시스템을 연달아 remoteremote 해킹할 수 있는 자동화된 최신 해킹할 수 있는 자동화된 최신 해킹툴이 이용된다해킹툴이 이용된다 . .

Page 12: 웹엔지니어링 DDoS  공격

DDoSDDoS 공격절차공격절차1. 1. 계정을 훔쳐서 공격에 필요한 툴을 저장하기 위한 공간계정을 훔쳐서 공격에 필요한 툴을 저장하기 위한 공간 을 확보한다을 확보한다 ..2. 2. 공격이 가능한 적당한 공격이 가능한 적당한 DaemonDaemon 을 선정하기 위하여 을 선정하기 위하여 scasca

n n 작업을 수행한다작업을 수행한다 ..3. Daemon3. Daemon 이 될수 있는 시스템들의 취약점들 찾아 이 될수 있는 시스템들의 취약점들 찾아 root root shellshell 을 습득 하여 을 습득 하여 DDoS DDoS 공격을 수행하기 위한 교두보공격을 수행하기 위한 교두보 를 마련한다를 마련한다 ..4. DDoS 4. DDoS 공격을 하기 위한 공격을 하기 위한 Network Network 망을 구성하고 필요한 망을 구성하고 필요한 파일들을 복사한다파일들을 복사한다 ..5. 5. 복사한 파일들을 복사한 파일들을 backgroundbackground 에서 실행하여 공격 에서 실행하여 공격

준비를 갖춘다준비를 갖춘다

Page 13: 웹엔지니어링 DDoS  공격

DDOS DDOS 공격도구 종류공격도구 종류

Page 14: 웹엔지니어링 DDoS  공격

TRINOOTRINOO

1.1. 기본구조기본구조

Page 15: 웹엔지니어링 DDoS  공격

TRINOOTRINOO

2.2. 연결방법연결방법(1)(1) 연결 연결 : telnet : telnet 프로그램으로 프로그램으로 HandlerHandler 프로그램이 설치된프로그램이 설치된 MasterMaster와 와 TCP connectionTCP connection 을 생성한다을 생성한다(2)(2) 인중 인중 : : 연결된후 암호를 입력한다연결된후 암호를 입력한다 . . 이때 이미 인증된 연결이 이때 이미 인증된 연결이 존재 존재 하면 그 연결 하면 그 연결 clientclient 의 의 host IPhost IP 를 출력해주는데를 출력해주는데 , , 이것은 이것은 Trinoo AttackerTrinoo Attacker 를 찾기위한 방법으로 사용될수 를 찾기위한 방법으로 사용될수 있다있다 ..(3)COMMAND : Master(3)COMMAND : Master 에서 정의된 에서 정의된 COMMANDCOMMAND 를 사용해서 를 사용해서 Master Master

와 와 DaemonDaemon 을 제어 할수있다을 제어 할수있다 ..

Page 16: 웹엔지니어링 DDoS  공격

DaemonDaemon 과 과 Handler Handler 상호인식과정상호인식과정1.1. DaemonDaemon 프로그램이 시작되면 자신의 프로그램이 시작되면 자신의 Master IPMaster IP 주소로 주소로 31335/UDP31335/UDP 를 를

통해서 “통해서 “ *HELLO*”*HELLO*” 문자를 전송한다문자를 전송한다 ..2.2. DaemonDaemon 프로그램으로부터 접촉을 받은 프로그램으로부터 접촉을 받은 HandlerHandler 프로그램은 프로그램은 Agent IPAgent IP

주소로 주소로 27444/udp27444/udp 를 통해서 “를 통해서 “ png”png” 명령어를 전송한다명령어를 전송한다 ..3.3. 다시 다시 DaemonDaemon 프로그램은 “프로그램은 “ PONG”PONG” 문자열을 문자열을 Master IPMaster IP 주소로 주소로 31335/u31335/u

dpdp 를 통해서 전송한다를 통해서 전송한다 ..

Page 17: 웹엔지니어링 DDoS  공격

DaemonDaemon 과 과 Handler Handler 상호인식과정상호인식과정

전의 과정을 통해서전의 과정을 통해서 ,Master,Master 는 자신이 통제할 는 자신이 통제할 AgAgentent 의 의 IPIP 주소를 관리할수 있게된다주소를 관리할수 있게된다 ..

그런다음그런다음 , Handler , Handler 프로그램은 자신이 통제할 프로그램은 자신이 통제할 AAgentgent 의 목록을 파일로 관리하며 파일의 내용은 의 목록을 파일로 관리하며 파일의 내용은 BlowfishBlowfish 로 암호화 되어있다로 암호화 되어있다 . . 이것은이것은 , Master , Master 시스템이 노출되었을 때 해당 시스템이 노출되었을 때 해당 AgentAgent 시스템까지 시스템까지 노출되는것을 방지하기 위함이다노출되는것을 방지하기 위함이다 ..

Page 18: 웹엔지니어링 DDoS  공격

Handler Handler 명령어명령어

Page 19: 웹엔지니어링 DDoS  공격

Handler Handler 명령어명령어위와 같이 위와 같이 MasterMaster 가 가 AgentAgent 를 제어하는 필요한 를 제어하는 필요한 명령어를 제공한다명령어를 제공한다 . .

이러한 명령어들은 문자열의 형태로 그대로 이러한 명령어들은 문자열의 형태로 그대로 전송되므로 네트워크 패킷을 잡아낸 다음 특정한 전송되므로 네트워크 패킷을 잡아낸 다음 특정한 문자열들을 찾아내면 문자열들을 찾아내면 TrinooTrinoo 의 의 Handler Handler 또는 또는 DaemoDaemonn 의 존재를 알아낼 수도 있다의 존재를 알아낼 수도 있다 ..

Page 20: 웹엔지니어링 DDoS  공격

DaemonDaemon 명령어명령어

Page 21: 웹엔지니어링 DDoS  공격

DaemonDaemon 명령어명령어위의 명령어들은 직접 위의 명령어들은 직접 AttackerAttacker 가 사용하지 가 사용하지 않는다않는다 ..

단지 단지 AttackerAttacker 의 명령을 통해서 의 명령을 통해서 HandlerHandler에서 생성된 에서 생성된 DaemonDaemon 제어용 명령어이다제어용 명령어이다 ..

Page 22: 웹엔지니어링 DDoS  공격

TFNTFN

Tribe Flood NetworkTribe Flood Network 의 약자로서 의 약자로서 MixerMixer 라는 독일의 해커에 라는 독일의 해커에 의해서 개발되었다의해서 개발되었다 ..

TrinooTrinoo 와는 달리 와는 달리 AttackerAttacker 가 가 MasterMaster 로 접근하기 위한 별도의 로 접근하기 위한 별도의 PPort#ort# 가 준비되어 있지는 않다가 준비되어 있지는 않다 . . 따라서 따라서 AttackerAttacker 가 가 MasterMaster 로 로 접근하려면 접근하려면 TELNETTELNET 등의 프로그램을 사용해서 등의 프로그램을 사용해서 MasterMaster 내에서 내에서 HHandlerandler 를 직접 실행해야 한다를 직접 실행해야 한다 . . 또한 또한 TrinooTrinoo 와는 달리 실행에 와는 달리 실행에 필요한 별도의 암호가 없지만 필요한 별도의 암호가 없지만 MasterMaster 와 와 AgentAgent 모두 모두 ICMPICMP 를 를 사용하므로 사용하므로 rootroot 권한을 필요로 한다권한을 필요로 한다 ..

MasterMaster 와 와 AgentAgent 의 통신에는 의 통신에는 ICMP ECHO_REPLYICMP ECHO_REPLY 메시지를메시지를 사용하므로 별도의 사용하므로 별도의 PORT#PORT# 를 얻어둘 필요가 없어 쉽게 탐지 를 얻어둘 필요가 없어 쉽게 탐지

되지 않는다되지 않는다 ..

Page 23: 웹엔지니어링 DDoS  공격

TFNTFN 의 구조의 구조

Page 24: 웹엔지니어링 DDoS  공격

StacheldrahtStacheldraht

StacheldrahtStacheldraht 는 “는 “ Trinoo”Trinoo” 의 네트워크 구조와 “의 네트워크 구조와 “ TFN”TFN” 의 의 다양한 공격방법 그리고 다양한 공격방법 그리고 CommunicationCommunication 상의 상의 encryptionencryption기능을 포함한 기능을 포함한 DDOSDDOS 공격 도구이다공격 도구이다 ..

암호화를 위해서 암호화를 위해서 AttackerAttacker 가 직접 사용하는 가 직접 사용하는 TELNETTELNET 과 과 비슷한 프로그램비슷한 프로그램 (TELNETC)(TELNETC) 를 제공하는데 이 프로그램이 를 제공하는데 이 프로그램이 AttackerAttacker 과 과 MasterMaster 간의 암호화된 통신을 보장한다간의 암호화된 통신을 보장한다 ..

따라서 따라서 AttackerAttacker 와 와 MasterMaster 간의 통신에 대해서는 간의 통신에 대해서는 네트워크 패킷을 분석한다고 하더라도 네트워크 패킷을 분석한다고 하더라도 StacheldrahtStacheldraht 의 의 여부를 판단하기 쉽지않다여부를 판단하기 쉽지않다 ..

Page 25: 웹엔지니어링 DDoS  공격

StacheldrahtStacheldraht 의 구조의 구조

Page 26: 웹엔지니어링 DDoS  공격

DDoSDDoS 공격의 피해사례공격의 피해사례 DDoS 공격이 성공했을 때 기업에 미치는 유 · 무형적 피 해는 실로 엄청나다 . 네트워크가 완전히 다운되는 경우 는 논외로 친다고 할지라도 , 단지 네트워크 속도가 급감 하고 서비스가 불안정하게 되는 경우만 생각해보더라도 심각한 결과를 초래하게 될 것이다 . 서비스를 24 시간 이 용하고 있는 수많은 고객들이 짜증과 불만족을 느끼며 급격하게 경쟁사로 이탈하게 될 수도 있고 , SLA( 서비스 수준협약 , Service Level Agreement) 에 위배되어 막대 한 규모의 금전적인 피해보상을 하는 경우도 있을 수 있 다 . 또한 대규모의 집단소송에 휘말릴 가능성도 배제할 수 없을 것이며 , 이로 인한 기업 이미지 실추 , 주가하락 , 매출감소 등 파장은 실로 엄청날 것이다 .

Page 27: 웹엔지니어링 DDoS  공격

DDoSDDoS 공격의 피해사례공격의 피해사례 실제로 DDoS 공격에 노출되었던 기업들의 금전적인 피 해액수만 보더라도 현기증이 날 지경이다 . 시장조사 기관 인 포레스트 , IDC 등에서 집계한 객관적인 통계치를 보면 , 시스코사가 24 시간 동안 서비스 마비 상황에 이르게 되 면 3 천만 달러 ( 약 400억 원 ) 의 금전적인 손실이 직접적으 로 발생한다고 한다 . 양키 그룹의 집계에 의하면 2000년 2 월에 발생했던 아마존 , 야후 , 이베이 , E- 트레이드 등 미 국의 대표적인 인터넷 사이트들에 대한 대규모의 DDoS 공 격에 의한 직접적인 피해 액수는 12 억 달러 ( 약 1 조 5 천억 원 ) 에 이른다 . 또한 , 2001 년 1 월에 마이크로소프트사의 인 터넷 사이트가 며칠 동안 DDoS 공격을 받았을 때 발생했던 손실 규모는 5 억 달러 ( 약 6 천 5 백억 원 ) 로 집계되었다 .

Page 28: 웹엔지니어링 DDoS  공격

TRINOO TRINOO 공격공격 (master)(master)

trinoo trinoo 컴파일 컴파일 make make 및 마스터의 실행및 마스터의 실행

Page 29: 웹엔지니어링 DDoS  공격

TRINOO TRINOO 공격공격 (daemon)(daemon)

Daemon Daemon 컴파일 및 실행컴파일 및 실행

Page 30: 웹엔지니어링 DDoS  공격

TRINOO TRINOO 공격공격 (attacker)(attacker)

Trinoo Trinoo 마스터로 접속 및 마스터로 접속 및 paradise.dankook.paradise.dankook.ac.kr ac.kr 공격공격

Page 31: 웹엔지니어링 DDoS  공격

TRINOO TRINOO 공격공격 (( 결과결과 ))

Page 32: 웹엔지니어링 DDoS  공격

보안 대책보안 대책 1. 1. 각각의 각각의 DDoSDDoS 툴은 통신을 위해 특정포트를 사용한다툴은 통신을 위해 특정포트를 사용한다 . . 따라서 특정 포트가 열려 있는지 검사하면 마스터나 따라서 특정 포트가 열려 있는지 검사하면 마스터나 데몬이 설치되어 있는 시스템을 찾아낼 수 있다데몬이 설치되어 있는 시스템을 찾아낼 수 있다 .. 이렇이렇 게 데몬이 설치된 시스템을 찾는 툴에는 게 데몬이 설치된 시스템을 찾는 툴에는 rid-1.0rid-1.0 DDoSPing,DDoS scanDDoSPing,DDoS scan 등이 있다등이 있다

2. TCP Dump2. TCP Dump 로 네트워크의 패킷 중 마스터와 데몬의 통로 네트워크의 패킷 중 마스터와 데몬의 통 신 패킷을 찾는 것이다신 패킷을 찾는 것이다 .27444,32770.27444,32770 과 같이 특정한 포과 같이 특정한 포 트를 알고 있으므로 평소에 트를 알고 있으므로 평소에 TCP DumpTCP Dump 결과를 파일로 결과를 파일로 저장시켜 둔 다음저장시켜 둔 다음 , DDoS, DDoS 공격에 사용되는 포트에 해당공격에 사용되는 포트에 해당 하는 패킷이 있는지 체크해본다하는 패킷이 있는지 체크해본다 ..

Page 33: 웹엔지니어링 DDoS  공격

후 기후 기

레포트를 하면서 웹 해킹에 대해서도 보다 많은 것을 알레포트를 하면서 웹 해킹에 대해서도 보다 많은 것을 알 게 됐고 직접 해킹이란 것을 해보았지만 정말 걸음마수게 됐고 직접 해킹이란 것을 해보았지만 정말 걸음마수 준에 지나지 않았다는 것을 깨달았다준에 지나지 않았다는 것을 깨달았다 . . 네트워크에 대한 네트워크에 대한 기초도 많이 부족하고 처음 리눅스를 사용하였다는 것기초도 많이 부족하고 처음 리눅스를 사용하였다는 것 에 많은 부끄러움을 느꼈다에 많은 부끄러움을 느꼈다 . .

Page 34: 웹엔지니어링 DDoS  공격

참고문헌참고문헌 * * 인포섹 인포섹 (2003/04/14 )(2003/04/14 ) * * 네트워크 시스템 관리자를 위한 해킹과네트워크 시스템 관리자를 위한 해킹과 보안보안 (( 사이버출판사사이버출판사 )) * * 웹해킹웹해킹 (( ㈜피어슨 에듀케이션코리아㈜피어슨 에듀케이션코리아 )) * * http://www.krcert.or.kr/http://www.krcert.or.kr/ * http://www.hackerschool.org/main.htm* http://www.hackerschool.org/main.htm