1 / 51

목차

목차. Dos 공격이란 ? Dos 공격의 종류 Ping of Death SYN Flooding Boink, Bonk, Teardrop Land Win Nuke Smurf 와 Fraggle Mail Bomb 시스템자원고갈공격 DDos 공격이란 ? DDos 공격의 종류 Trinoo TFN & TFN 2K Stacheldraht. DoS 공격. (Denial of Service : 서비스 거부 ). 1. DoS 공격의 이해.

vaughan
Download Presentation

목차

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 목차 • Dos 공격이란? • Dos 공격의 종류 • Pingof Death • SYN Flooding • Boink, Bonk, Teardrop • Land • Win Nuke • Smurf와 Fraggle • Mail Bomb • 시스템자원고갈공격 • DDos 공격이란? • DDos 공격의 종류 • Trinoo • TFN & TFN 2K • Stacheldraht

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

  3. 1. DoS 공격의 이해 공격대상이 수용할 수 있는 능력 이상의 정보나 사용자 또는 네트워크의 용량을 초과 시켜 정상적으로 작동하지 못하게 함 DoS 공격의 종류 1. 파괴 공격 : 디스크나 데이터, 시스템의 파괴 2. 시스템 자원의 고갈 : CPU, 메모리, 디스크의 사용에 과다한 부하를 가중시킴 3. 네트워크 자원의 고갈 : 쓰레기 데이터로 네트워크의 대역폭을 고갈시킴

  4. Dos 공격의 종류 • Pingof Death • SYN Flooding • Boink, Bonk, Teardrop • Land • Win Nuke • Smurf, Fraggle • Mail Bomb • 시스템자원고갈공격 5

  5. 2. DoS 공격 1. Ping of Death 공격의 기본은 Ping을 이용하여 ICMP 패킷을 정상적인 크기보다 아주 크게 만드는 것.

  6. Ping of death 실습 실행명령 C:\>ping -n 100 -l 65500 172.16.0.3 공격대상에서의 TCPDump

  7. 2. Syn Flooding 서버 별 한정되어 있는 동시 사용자 수를 존재하지 않는 클라이언트가 접속한 것처럼 속여 다른 사용자가 서버에서 제공하는 서비스를 받지 못하게 하는 것.

  8. TCP 3Way 핸드 쉐이킹 정상적인 3Way 핸드 쉐이킹

  9. Syn Flooding 공격 시 3Way 핸드 쉐이킹

  10. Syn Flooding 공격 컴파일 : gcc -o synk synk.c 공격 실행 : root# ./synk 0 172.16.0.3 80 80

  11. Syn Flooding 공격의 TCP Dump Root# tcpdump eth0

  12. Syn Flooding 공격 시 서버 측의 ‘netstat –an’결과 Root# netstat -an

  13. Syn Flooding 보안 대책 • - 백 로그 큐 사이즈 늘리기 방법 • - Syn cookies 기능 설정방법 • - 시스템 튜닝 방법 • TCP Intercept • * Intercept Mode • * Watch Mode • - 라우터의 egress 필터링

  14. 3. Boink, Bonk, Teardrop Boink, Bonk, TearDrop은 패킷의 순서, 손실된 패킷의 유무, 손실된 패킷의 재전송 요구 등 3가지 사항을 위반함으로써 공격 대상 시스템에 DoS 공격을 가하는 것.

  15. Boink, Bonk Bonk는 처음 패킷을 1번으로 보낸 후 두 번째, 세 번째 패킷 모두 시퀀스 넘버를1번으로 조작해서 보냄 Boink 공격은 처음 패킷을 정상적으로 보내다가 중간에서 계속 일정한 시퀀스 넘버로 보냄 TearDrop 패킷을 겹치게 또는 일정한 간격의 데이터가 빠지게 전송

  16. New TearDrop 공격 시 서버 측의 TCP Dump 결과 Root# tcpdump eth0

  17. New Tear Drop 공격 컴파일 : gcc -o newtear newtear.c 공격 실행 : root# ./newtear 222.222.222.222 172.16.0.3 –t 80 –n 180

  18. 4. LAND - 패킷을 전송할 때 출발지 IP와 목적지 IP을 공격대상자의IP으로 보냄 - 시스템은 처음 시도된 Syn에 대한 Reply 패킷을 출발지 IP 주소 값을 참조하여 그 값을 목적지 IP 주소 값으로 설정하여 패킷을 보낸다. 하지만 이 값은 자기자신의 IP 주소 값이므로 네트워크 밖으로 나가지 않고 자신에게 다시 돌아온다. - Syn Flooding처럼 동시 사용자 수를 점유해버리며, CPU 부하까지 올림

  19. LAND 공격 컴파일 :gcc -o land land.c 공격 실행 : root# ./land 172.16.0.3 172.16.0.3 80 80

  20. LAND 공격 시 서버측의 TCP Dump 결과 Root# tcpdump eth0

  21. 5. Win Nuke(OOB) • 상대방 시스템에 139번 포트를 스캔하여 열려 있는지 확인 • NetBIOS 패킷에 URG(Urgent)를 On 상태로 하여 패킷을 전송 • 공격대상은 수많은 Urgent 패킷을 인식하고 모든 시스템의 세션을 닫은 뒤 재 연결을 요구

  22. WinNUKE 공격

  23. 6. Smurf, Fraggle 공격자가 172.16.0.255로 ICMP Request 패킷으로 Direct 브로드 캐스트를 했을 경우 다음과 같이 패킷이 전달

  24. ICMP Requset 패킷을 전달받은 에이젼트들은 공격대상에게 ICMP Replay 패킷을 보냄

  25. Smurf 공격 컴파일 : root# gcc -o smurf smurf.c 공격 실행 : root# ./smurf 172.16.0.3 bcast 0 5 512

  26. Smurf 공격의 TCP Dump

  27. 7. Mail Bomb • - 흔히 폭탄 메일이라고 함 • 스팸 메일도 이와 같은 종류 • 메일 서버는 각 사용자에게 일정한 양의 디스크 공간을 할당하는데, 메일이 폭주하여 디스크 공간을 가득 채우면 정작 받아야 하는 메일을 받을 수 없음 윈도우용 Mail Bomber Upyours

  28. Sendmail을 이용한 메일 보내기 Sendmail은 telnet을 이용한다. telnet으로 로컬 IP 주소를 쓰고 있으며, SMTP 포트 번호인 25번을 뒤에 써주면 Sendmail에 접속할 수 있다. Sendmail에 접속한 후 ‘mail from :' 뒤에 보내는 사람의 주소를 써준다.이메일은 어떤 주소를 써도 무방하다.

  29. 스팸 메일에 대한 보안 설정 • - 특정한 곳에서 계속 스펨 메일이 올 경우 메일 서버로부터의 SNMP Relay 기능을 정지시킴 • 동일 또는 유사한 E-Mail 이 3회 이상 특정 서버에 전달 될 경우 TCP/IP 의 RESET 신호를 클라이언트와 서버에게 동시에 보냄으로써 더 이상의 E-Mail이 서버에 전달 못되게 함으로 서버를 보호 • 또한 이러한 사실을 System, Network관리자에 알려 공격자 IP Address를 방화벽에서 차단하도록 설정 • System 최신의 버전으로 Upgrade합니다.

  30. 스팸 메일에 대한 보안 설정 SNMP Relay 기능을 정지 : /etc/mail/access 파일을 이용해서 해보자. ‘access’파일에서는 IP 주소, 이메일 주소, 도메인 별로 제한하거나 Relay를 허락해줄 수 있다.

  31. 8. System Resource Exhaustion Attack • 가용 Disk 자원의 고갈 • 2. 가용 Memory 자원의 고갈 • 3. 가용 Process 자원의 고갈

  32. 8. System Resource Exhaustion Attack 1. 가용 Disk 자원의 고갈 파일을 생성하고 생성한 파일에 1000바이트씩 계속해서 써 나가는 프로그램이다.

  33. 1. 가용 Disk 자원의 고갈 공격 중 가용 디스크 공간의 확인

  34. 1. 가용 Disk 자원의 고갈 프로세스 확인 및 제거

  35. 2. 가용 Memory 자원의 고갈 다른 특별한 함수 없이 malloc 함수를 통해 메모리 할당만 계속적으로 수행하는 프로그램이다. 디스크 고갈 공격보다 시스템 자원을 더 많이 차지하는 프로그램으로 터미널 창 하나만을 띄우는 데도 몇 분을 소모하게 만드는 공격이다.

  36. 3. 가용 Process 자원의 고갈 fork( )라는 프로세스 할당 함수만이 무한대로 쓰이고 있다

  37. Quota 설정 1. /etc/vfstab 파일을 vi 에디터로 연다. 2. 쿼타를 설정하고자 하는 파티션의 뒷 부분에 usrquota 옵션을 더해준다. 3. mount -o remount /home 명령을 통해 설정된 마운트를 적용할 수 있다. 4. 적용된 마운트를 확인하기 위해 mount를 실행시키면 usrquota 옵션이 들어가 있는 것을 확인할 수 있다. 5. 이제 쿼타 적용을 위해 touch /home/quota.user로 쿼타를 적용하고자 하는 파티션의 가장 상위 디렉토리에 quota.user를 생성한다. 권한을 600(rw- --- ---)으로 주고, quotacheck를 하면 이제 quota.user 파일에 사용자별 쿼타 데이터베이스를 설정하고 적용할 수 있다.

  38. Quota 설정 6. wishfree란 아이디에 quota를 적용하기 위해서 edquota wishfree 명령어를 입력하면 다음과 같이 vi 에디터가 뜬다. 소프트에 10MB, 하드에 15MB를 지정하였다. 15MB 이상은 절대로 쓸 수 없다. 사용자는 10MB 이상을 쓸 수 있지만, 1주일 동안 경고를 받게 되며, 1주일이 지난 다음에는 파일을 생성할 수 없다. 이렇게 지정한 후 저장한 다음 quotaon /home이라고 입력하면 /home에 대한 쿼타가 적용되며, quotaoff /home이라고 입력하면 설정된 쿼타가 해제된다.

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

  40. 2. DDoS 공격 • Dos 공격의 업그레이드 버젼 • DDoS 공격은 특성상 대부분의 공격이 자동화된 툴을 이용 • 공격의 범위가 방대 • 최종 공격대상 이외에도 공격을 증폭시켜주는 중간자가 필요

  41. DDoS 공격의 구성 요소 1. 공격자(Attacker) : 공격을 주도하는 해커의 컴퓨터 2. 마스터(Master) : 공격자에게서 직접 명령을 받는 시스템으로 여러 대의 에이전트(Agent)를 관리하는 시스템 3. 핸들러(handler) : Master에서 그 역할을 수행하는 프로그램 4. 에이전트(Agent) : 공격대상(Target)에 직접적인 공격을 가하는 시스템 5. 데몬 : Agent 에서 그 역할을 수행하는 프로그램

  42. DDoS 공격의 일반적인 순서 • 계정을 획득하여 스니핑이나 버퍼 오버 플로우 등의 공격으로 설치 권한이나 루트 권한을 획득 • 2. 네트워크 블록 별로 스캐닝을 실시, 원격에서 버퍼 오버 플로우를 일으킬 수 있는 취약한 서비스를 제공하는 서버를 파악 • 3. 취약한 시스템의 리스트를 확인한 뒤, 실제 공격을 위한 Exploit을 작성 • 4. 권한을 획득한 시스템에 침투하여 Exploit을 컴파일하여 설치 • 5. 설치한 Exploit로 공격을 시작한다.

  43. DDoS 공격의 종류 • Trinoo 공격 • 2. TFN(Tribal Flood Network), TFN 2K • 3. Stacheldraht 44

  44. 1. Trinoo • 1999년 6월 말부터 7월 사이에 퍼지기 시작 • 미네소타 대학의 사고 주범, 원래 이름은 Trin00 • 처음 솔라리스 2.x 시스템에서 발견, 최소 227 개의 시스템이 공격에 쓰였던 것으로 알려져 있음 • UDP를 기본으로 하는 공격을 시행하며 rpc.statd, rpc.cmsd, rpc.ttdb 데몬이 주 공격대상 주요 이용 포트

  45. 2. TFN, TFN 2K - Teletubby Flood Network라고 불리기도 함 - Trinoo와 마찬가지로 ‘statd, cmsd, ttdb' 데몬의 취약점을 공격 - 마스터에 클라이언트라는 용어를 쓰고 있음, 클라이언트를 구동하면 패스워드가 사용되지 않고, 클라이언트와 데몬 간에는 ICMP Echo Request 패킷이 사용되며, TCP, UDP 연결도 이루어지지 않는다. 따라서 이를 모니터링하는 일은 쉽지 않다. 클라이언트의 각 명령은 ICMP Echo Request 패킷에 16비트 이진수로 데몬에 전송되며, 시퀀스 넘버는 0x0000으로 설정되어 있어, TCP Dump로 모니터링하면 ping의 최초 패킷처럼 보이기 때문이다. TFN은 공격자 시스템과 마스터 시스템간 연결이 암호문이 아닌 평문으로 전달되는 약점을 가지고 있다. 이는 데이터가 다른 해커나 관리자에게 스니핑되거나 세션 하이 재킹될 수 있으며, 공격자를 노출시키는 등 치명적일 수 있다.

  46. TFN 2K의 특징 1. 통신에 특정 포트가 사용되지 않고 암호화되어 있으며, 프로그램에 의해 UDP, TCP, ICMP가 복합적으로 사용되며 포트 또한 임의로 결정된다. 2. TCP Syn Flooding, UDP Flooding, ICMP Flooding, Smurf 공격을 쓰고 있다. 3. 모든 명령은 CAST-256 알고리즘으로 암호화된다. 4. 지정된 TCP 포트에 백도어를 실행시킬 수 있다. 5. 데몬은 인스톨 시 자신의 프로세스 이름을 변경함으로써, 프로세스 모니터링을 회피한다. 6. UDP 패킷의 헤더가 실제 UDP 패킷보다 3바이트만큼 더 크다. 7. TCP 패킷의 헤더의 길이는 항상 0이다. 정상적인 패킷이라면 절대로 0일 수 없다.

  47. 3. Stacheldraht Stacheldraht는 독일어로서 '철조망'이라는 뜻이다 1999년 10월 처음 출현한 것으로 알려져 있으며, TFN을 발전시킨 형태다. Stacheldraht 역시 TFN2K처럼 공격자와 마스터, 에이전트, 데몬과의 통신에 암호화 기능이 추가되었다. 공격자가 마스터에 접속하면, 마스터는 현재 접속을 시도한 이가 올바른 공격자인지 확인하기 위해 패스워드 입력을 요구한다. 이때 입력되는 패스워드는 최초 설치되기 전에 ‘Authentication‘의 ‘Passphrase’를 사용하여 암호화된 상태로 공격자에게서 핸들러로 보내진다.

  48. DDoS 공격에 대한 대책 각각의 DDoS 툴은 통신을 위해 특정 포트를 사용한다. 때문에 특정 포트가 열려 있는지 검사하면, 마스터나 데몬이 설치되어 있는 시스템을 찾아낼 수 있다. 다양한 툴이 있으며, rid-1.0, DDoS ping, DDoS scan 등이 있다

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

More Related