th network security essentials - lily.mmu.ac.krlily.mmu.ac.kr/lecture/16is/ch10.pdf ·...

85
NETWORK SECURITY 네트워크 보안 에센셜 ESSENTIALS 4 th EDITION

Upload: others

Post on 05-Sep-2019

1 views

Category:

Documents


0 download

TRANSCRIPT

NETWORK SECURITY

네트워크 보안 에센셜

ESSENTIALS

4th EDITION

10.1 악성 소프트웨어 유형

10.2 바이러스

10.3 바이러스 방어책

10.4 웜

10.5 분산서비스거부 공격

제10장 악성소프트웨어

10.1 악성 소프트웨어 유형

• 악성 소프트웨어

–호스트 프로그램을 필요로 하는 것

• 바이러스

• 논리폭탄

• 백도어

–호스트를 필요로 하지 않는 것

• 웜

• 좀비

3

다른 분류

• 스스로 복제할 수 있는 악성소프트웨어 – 트리거에 의해 활성화되는 프로그램

• 논리폭탄

• 백도어

• 좀비 프로그램

• 스스로 복제 불가한 악성소프트웨어 – 독립적인 프로그램으로서 실행

– 자신의 복제를 만들어 전파 • 바이러스

• 웜

4

악성 프로그램 용어

5

악성 프로그램 용어

6

백 도어

• 백도어(back door) – 트랩도어(trap door)라고도 함

– 프로그램으로 들어가는 비밀 입구

– 이 코드는 어떤 특별한 일련의 입력을 인식하거나, 특정 사용자 ID나 발생할 가능성이 매우 희박한 일련의 사건에 의해 구동되면 시작한다

• 유지후크(maintenance hook) – 통상적 보안접속 절차 없이 접근허락 받음

– 프로그래머는 프로그램 디버그나 검사를 위해 백도어를 상당기간 합법적으로 사용

7

논리폭탄

• 논리폭탄(logic bomb)은 합법적 프로그램 안에 내장된 코드로서 특정 조건이 맞게 되면 ‘터지게(작동을 개시하게)’ 만들어진 논리

• 논리폭탄의 뇌관 – 어떤 특정 파일이 없어지는 순간 – 특정 요일 – 특정 날짜 – 응용 프로그램을 구동하는 특정 사용자

• 일단 논리폭탄의 작용 – 데이터나 전체 파일 수정 – 파일 삭제

• 팀 로이드(Tim Lloyd) 사건

8

트로이 목마

• 트로이 목마(trojan horse)란 감춰진 코드를 갖고 있는 프로그램이나 명령 프로시저로 작동이 되면 원하지 않거나 해가 되는 기능을 수행

9

트로이 목마 3가지 모델

• 원 프로그램의 기능을 계속해서 수행

–추가적으로 별개의 악성 활동을 수행

• 원 프로그램의 기능을 계속해서 수행

–기능을 수정해서 악성 활동을 하게 한다

• 패스워드 수집 로그인 프로그램 트로이 목마 버전

• 프로세스 염탐 프로그램 트로이 목마 버전

• 원 프로그램의 기능을 완전히 대체하는 악성 기능 수행

10

모바일 코드

• 모바일 코드(mobile code)는 여러 플랫폼 집단에 변형되지 않은 채로 이식되고 동일한 기능을 실행할 수 있는 프로그램

• 허가 없는 데이터 접근이나 루트 침해 같은 자신의 익스플로잇(exploits) 수행을 위해 취약점 악용

• 모바일 코드 이동 수단 – Java applets, Active X, JavaScript와 VBScript

• 모바일 코드 작동 방법 – 크로스-사이트 스크립팅(cross-site scripting) – 양방향이고 동적인 웹사이트 – 전자우편 첨부 – 신뢰되지 않은 사이트에서 다운로드하기 – 신뢰되지 않은 소프트웨어 다운로드하기

11

다중-위협 악성 소프트웨어

• 다분할(multipartite) 바이러스 – 여러 방법으로 감염 – 다중 유형 파일이 감염되므로 바이러스 박멸을 위해 감염된 모든 사이트 치료 필요

• 혼합 공격(blended attack) – 다중 방법으로 감염시키거나 전송해서 감염속도와 공격의 강도를 극대화

– 다중 유형 맬웨어를 포함한 패키지 – 혼합 공격의 예

• 님다(Nimda) 공격 – 웜, 바이러스, 모바일 코드의 특성을 모두 가짐

12

Nimda 4가지 배포 방법

• 전자메일(E-mail):

• 윈도우즈 공유(Windows shares):

• 웹 서버(Web servers):

• 웹 클라이언트(Web clients):

13

좀비

• 좀비(zombie)는 인터넷에 연결된 다른 컴퓨터를 몰래 장악하고 그 컴퓨터를 기반으로 공격을 수행하는 프로그램

• 타깃 웹 사이트를 대상으로 한 서비스거부 공격에 이용

14

10.2 바이러스

15

바이러스 속성

• 다른 프로그램을 변형시켜 ‘감염(infect)’시키는 프로그램

• 변형된 형태의 바이러스

–원래 프로그램에 루틴을 주입해서 바이러스 프로그램의 복제를 제작

16

컴퓨터 바이러스 3개 부분

• 감염 메커니즘(Infection mechanism): – 바이러스가 퍼지는 수단

– 자신을 복제

– 감염 벡터(infection vector)라고도 함

• 트리거(Trigger): – 페이로드 활성화나 전달 시기를 정하는 사건이나 조건

• 페이로드(Payload): – 바이러스가 자기 자신을 퍼뜨리는 일 외에 하는 일

– 페이로드는 피해를 줄 수 있고 심각한 피해를 끼치지 않을 수도 있지만 분명히 그 활동을 알 수 있다.

17

바이러스 활동 4단계

• 잠복단계(Dormant phase):

• 확산단계(Propagation phase):

• 트리거단계(Triggering phase):

• 실행단계(Execution phase):

18

바이러스 구조

• 간단한 바이러스의 예

19

바이러스 구조

• 압축 바이러스 논리

20

압축바이러스 활동 절차

• 프로그램 P1이 바이러스 CV에 의해 감염되었다고 가정

• 이 프로그램이 실행요청을 받으면 제어는 바이러스에게로 넘어가서 다음 단계 수행 – 1. 발견된 감염이 안 된 파일 P2에 대해, 바이러스

는 우선 그 파일을 압축하여 P'2를 만든다 • 압축파일은 원래 프로그램보다 바이러스 크기만큼 작게 제작

– 2. 바이러스를 압축된 프로그램의 앞에 붙인다 – 3. 원래의 감염된 프로그램의 압축버전인 P'1의 압축을 푼다

– 4. 압축이 풀린 원래 프로그램을 실행한다

21

압축 바이러스

22

초기 감염

• 초기 예방이 중요

• 바이러스는 시스템의 외부에 있는 어떤 프로그램의 일부일 수 있기 때문에 예방이 어렵다

23

바이러스 유형

• 목표별 바이러스 유형(classification by target)

– 부트 섹터 감염자(Boot sector infector): • 마스터 부트 레코드나 부트 레코드를 감염시키고 바이러스가 포함된 디스크로부터 시스템이 부팅될 때 퍼짐

– 파일 감염자(File infector): • 운영체계나 쉘이 실행 가능하다고 여기는 파일을 감염

– 매크로 바이러스(Macro virus): • 응용 프로그램으로 나타낼 수 있는 매크로 코드를 가진 파일을 감염

24

바이러스 유형

• 은닉 전략에 따른 바이러스 유형

–암호화된 바이러스(Encrypted virus):

–스텔스 바이러스(Stealth virus):

–폴리모픽 바이러스(Polymorphic virus):

–메타모픽 바이러스(Metamorphic virus):

25

스텔스 바이러스(stealth virus)

• 압축을 이용해서 감염되지 않은 프로그램의 길이와 감염된 프로그램의 길이가 동일하도록 제작

• 디스크 I/O 루틴 안에 가로채기 논리(intercept logic)를 심어놓고 이 루틴을 이용하는 디스크의 의심스런 부분을 읽으려는 시도가 있으면 원래의 감염되지 않은 프로그램을 되가져다 놓는다

26

폴리모픽 바이러스 (polymorphic virus)

• 복제 과정에서 기능적으로는 동일하지만 비트패턴에서는 명확하게 다른 변형을 만든다

• 스텔스처럼 변형하는 목적은 안티 바이러스 프로그램을 무력화시키는 것

• 바이러스의 ‘특징’은 복제 될 때마다 달라진다

27

암호화 바이러스의 전략

• 보통 변형엔진(mutation engine)이라고 하는 바이러스의 일부가 랜덤한 암호화키를 생성하여 바이러스의 나머지 부분을 암호화 한다

• 키를 생성하고 암호화/복호화를 담당하는 바이러스 부분을 변형엔진이라고 한다

• 변형엔진 자신은 사용될 때마다 변한다

28

바이러스 키트

• 바이러스-생성 툴 키트를 이용하면 초보제작자도 여러 가지 바이러스를 짧은 시간 안에 제작 가능

• 툴 키트를 이용해서 만든 바이러스는 새로 설계해서 만든 바이러스보다 덜 정교

• 생성될 수 있는 새 바이러스의 엄청난 수 때문에 안티바이러스 구조에 영향을 준다

29

매크로 바이러스

1. 플랫폼과 무관하게 작동 – 거의 모든 매크로 바이러스 는 마이크로소프트 워드 문서를 감

염 – 워드를 지원하는 어떤 하드웨어 플랫폼이나 운영체제도 감염

대상

2. 문서만 감염시키고 코드 실행부분은 감염시키지 않음 – 컴퓨터 시스템에 저장되는 정보는 프로그램이라기보다는 문서

의 형태

3. 쉽게 퍼진다 – 가장 보편적인 방법은 전자메일

4. 시스템 프로그램보다는 사용자 문서를 감염 – 파일 시스템 접근 통제를 제한적으로 사용해서 이들이 퍼지는

것을 막을 수 있다

30

전자메일 바이러스

• 첨부된 파일에 내장된 마이크로소프트 워드 매크로를 이용

• 수신자가 전자메일에 첨부된 파일을 열면 워드 매크로가 동작

1. 전자메일 바이러스는 사용자의 전자메일 패키지 안에 있는 메일링 리스트의 모든 사람에게 자신을 전송

2. 바이러스는 사용자 시스템에 지역적 피해

31

10.3 바이러스 방어책

32

안티바이러스 방법

• 탐지(Detection): – 일단 감염되면 바이러스가 있는지 판단하고 위치를 파악

• 식별(Identification): – 일단 탐지되면 프로그램을 감염시킨 특정 바이러스를 식별

• 제거(Removal): – 특정 바이러스를 식별해냈으면 감염된 프로그램으로부터 바이러스의 흔적을 제거하고 원래 상태로 복구

– 더 이상 퍼지지 않도록 차단

33

안티바이러스 소프트웨어 4세대

• 제1세대: 단순 스캐너(simple scanners)

• 제2세대: 발견 스캐너(heuristic scanners)

• 제3세대: 활동 트랩(activity traps)

• 제4세대: 풍부한 기능을 갖춘 방어(full-featured protection)

34

고도 안티바이러스 기술

• 유전적 복호화(GD: genetic decryption)

• 디지털 면역 시스템(digital immune system)

35

유전적 복호화 (GD: genetic decryption)

• 폴리모픽 바이러스가 포함된 파일이 실행될 때 바이러스는 자신을 복호화 해야만 하기 때문에 이 구조를 탐지하기 위해 실행파일이 GD 스캐너를 거치도록 만든다

• GD 구성요소

– CPU 에뮬레이터(CPU emulator):

– 바이러스 특징 스캐너(Virus signature scanner):

– 에뮬레이션 제어 모듈(Emulation control module):

36

디지털 면역 시스템 (Digital immune system)

• 바이러스 침해로부터 보호를 위해 IBM에 의해 개발된 종합적인 방법

• 인터넷-기반 바이러스 확산방지

• 바이러스 확산이 빨라진 원인은 인터넷 기술의 발전

–통합된 메일 시스템(Integrated mail systems):

–이동-프로그램 시스템(Mobile-program systems):

37

디지털 면역 시스템

38

디지털 면역 시스템 운용 단계

1. 각 PC의 모니터링 프로그램은 시스템 행동, 의심스런 프로그램의 변경 혹은 바이러스가 있다고 여겨지는 증상 등의 다양한 발견도구를 사용

– 모니터링 프로그램은 감염되었다고 생각되는 모든 프로그램을 기관 내의 관리 기계로 전달

2. 관리 기계는 표본 암호화 후 중앙 바이러스 분석기계로 전달

39

디지털 면역 시스템 운용 단계

3. 분석을 위해서 감염된 프로그램이 안전하게 구동되는 환경을 제공

– 사용하는 기술

• 에뮬레이션

• 의심되는 프로그램이 실행되고 관찰할 수 있게 고안된 보호 환경 만들기

– 바이러스분석 기계는 바이러스를 식별하고 제거할 수 있는 처방조치

40

디지털 면역 시스템 운용 단계

4. 처방으로 나온 것을 관리 기계로 전달

5. 관리 기계는 처방을 감염된 클라이언트로 전달

6. 처방을 기관 내의 다른 클라이언트에게도 전달

7. 전 세계에 걸쳐 있는 가입자는 주기적으로 안티바이러스 업데이트를 수신하고 새로운 바이러스로부터 보호

41

행동차단 소프트웨어

• 행동차단 소프트웨어(behavior-blocking software)

–악성 동작을 탐색하기 위해 호스트 컴퓨터의 운영체제에 집중적으로 관심을 갖고 프로그램 행동을 실시간으로 관찰

–악성 동작이 시스템에 영향을 끼칠 기회를 주지 않고 사전에 차단

42

관찰 대상이 되는 행동

• 파일을 열고, 읽고, 제거하고, 수정하려는 시도

• 디스크 드라이브를 포맷하거나 다른 회복할 수 없는 동작을 하려는 시도

• 실행 파일의 논리와 매크로의 스크립트를 수정하는 시도

• 시작 설정(start-up setting) 같은 중요한 시스템 설정변경 시도

• 실행 가능한 내용을 보낼 목적으로 전자메일을 작성하거나 인스턴트 메시징을 이용하는 클라이언트 네트워크 통신 개시

43

행동차단 소프트웨어 동작

44

10.4 웜

• 웜은 자신을 복제하여 네트워크 연결을 통해서 컴퓨터에서 컴퓨터로 그 복제본을 전송

• 일단 한 컴퓨터에 도착하게 되면 웜은 복제를 시작하고 다시 확산시키기 시작

• 전자메일 바이러스는 시스템에서 시스템으로 자신을 확산시키기 때문에 웜(worm)의 성격을 어느 정도 가지고 있다

45

웜이 활용하는 네트워크 수단

• 전자메일 설비(Electronic mail facility):

– 자신의 복제를 다른 시스템에 메일로 전송

• 원격 실행 능력(Remote execution capability):

– 자신의 복제된 웜을 다른 시스템상에서 실행

• 원격 로그인 능력(Remote login capability):

– 웜은 원격 시스템에 로그인하고 한 시스템에서 다른 시스템으로 자신을 복사하는 명령 수행

46

웜 확산단계

1. 호스트 테이블이나 원격 시스템 주소의 저장소를 검사하여 감염시킬 다른 시스템을 탐색

2. 원격 시스템과 연결을 설정

3. 원격 시스템에 자신을 복사하고 그 원격 시스템 안에서 복사본을 구동

47

모리스 웜

• 1998년 Robert Morris가 인터넷에 제공

• 모리스 웜(Morris worm)은 UNIX 시스템에서 퍼지도록 설계

• 확산을 위해 다양한 기술을 사용

48

모리스 웜

1. 원격 호스트에 합법적 사용자로 로그온을 시도 – 지역패스워드 파일을 크래킹하고 발견한 패스워드와 사용자 ID를 이용

– 패스워드를 찾기 위해 패스워드-크래킹 프로그램 구동하는데 크래킹 프로그램은 다음을 수행 a. 각 사용자의 계좌 이름과 이들의 단순한 치환을 시도 b.모리스가 생각했던 내장된 432개의 패스워드 목록을 시도 c. 지역 시스템 디렉터리에 있는 모든 단어를 시도한다.

2. 원격 사용자 위치를 알려주는 finger 프로토콜 버그 이용

3. 메일 송수신 원격 프로세스 디버그 옵션 안 트랩도어 이용

49

웜 확산 모델

• 확산 속도와 감염된 호스트 총 수에 영향을 주는 요인 – 확산 모드 – 이용되는 취약성 – 이전 공격과의 유사성 정도

• 확산 3단계 – 호스트수가 지수적으로 증가 – 감염 속도가 줄어든다

• 확산 증가는 거의 선형적 • 감염 비율은 매우 높다

– 공격 속도는 종료단계

50

웜 확산 모델

51

최근의 웜 공격

• 코드 레드(Code Red) 웜

• 코드 레드 II

• 님다(Nimda)

• SQL 슬래머 웜(Slammer worm)

52

코드 레드(Code Red) 웜

• 침투와 확산에 마이크로소프트 인터넷 정보 서버(IIS: Internet Information Server)의 허점을 이용

• 윈도우즈의 시스템 파일 검사기 기능을 마비

• 다른 호스트로 확산시 랜덤 IP 주소를 조사

• 특정 기간 동안에는 확산만 한다

• 특정 시점이 되면 특정 사이트를 대상으로 수많은 호스트가 엄청나게 많은 패킷을 전송해 처리를 못하도록 하는 서비스거부 공격을 개시

• 활동을 중단하고 주기적으로 재활동

53

코드 레드 II

• 마이크로소프트 IIS를 타깃으로 한 변종

• 희생 컴퓨터에 백도어(backdoor)를 설치해서 해커가 직접 행동할 수 있게 제작

54

님다(Nimda)

• 다양한 메커니즘을 통해 확산 – 전자메일로 클라이언트에서 클라이언트로 확산

– 개방 네트워크 공유를 통해 클라이언트에서 클라이언트로 확산

– 침해당한 웹 사이트를 브라우징 하는 것으로 웹 서버에서 클라이언트로 확산

– 적극적 스캐닝과 다양한 마이크로소프트 IIS 4.0/5.0 디렉터리 트래버설 취약점을 이용해서, 클라이언트에서 웹 서버로 확산

– 코드레드 II 웜에 의해 남겨진 백도어를 찾는 것을 통해서, 클라이언트에서 웹 서버로 확산

55

기타 웜

• SQL 슬래머 웜(Slammer worm) – 이 웜은 마이크로소프트 SQL 서버의 버퍼 오버플로우 취약점을 이용

– 극도로 축약되어 있으며 빠른 속도로 전파하여 10분 안에 90%의 취약한 시스템을 감염

• Sobig.f 웜 – 감염된 컴퓨터를 스팸 엔진으로 바꾸는 개방된 프록시 서버를 이용

• 마이둠(Mydoom) – 전자메일을 대량으로 전송하는 전자메일 웜 – 감염된 컴퓨터에 백도어를 설치하여 해커가 신용카드 번호나 패스워드 같은 자료에 원격접속을 할 수 있도록 함

56

웜 기술의 상태

• Multiplatform:

• Multiexploit:

• Ultrafast spreading:

• Polymorphic:

• Metamorphic:

• Transport vehicles:

• Zero-day exploit:

57

이동 전화 웜

• 블루투스 연결이나 멀티미디어 메시지 서비스(MMS)를 통해 전파

• 웜의 목표

– 스마트폰

• 모바일 전화 맬웨어

– 전화기능을 완전히 마비

– 전화기상의 데이터를 모두 삭제

– 장치가 사용자 모르게 통신료가 비싼 서비스 제공 전화번호로 전화를 걸어 통신비를 과다하게 과금

58

모바일 전화 웜

• 컴워리어(CommWarrior)

–블루투스를 이용해서 수신 가능한 영역에 있는 다른 전화기로 웜을 복제

–자신을 MMS 파일로 전화기 안의 저장된 전화번호로 전송하고 도착한 텍스트 메시지와 MMS 메시지에 대해 자동으로 응답하는 방식으로 자신을 복제

–자신을 탈착식 메모리 카드에 복제하고 전화기의 프로그램 설치 파일 안에 삽입

59

웜 대응책

• 일반성(Generality):

• 적시성(Timeliness):

• 회복력(Resiliency):

• 최소 DoS 비용(Minimal denial-of-service costs):

• 투명성(Transparency):

• 전역 및 지역적 방어(Global and local coverage):

60

대응책 방안

• 웜 방어 6개 분류 A. 시그너처-기반 웜 스캔 필터링(signature-based

worm scan filtering): B. 필터-기반 웜 억제(Filter-based worm

containment): C. 페이로드-부류-기반 웜 억제(Payload-

classification-based Worm Containment): D. 한계점 랜덤워크 스캔 탐지(Threshold random

walk(TRW) scan detection): E. 속도 제한(Rate limiting): F. 속도 정지(Rate halting):

61

사전 웜 억제

• PWC(페이로드-부류-기반 웜 억제: Payload-classification-based Worm Containment)

• 호스트에 기반 – 허니팟, 침입차단시스템, 네트워크 IDS 같은 네트워크 장비에 기반하지 않음

• 빠른 속도로 전파되는 웜 위협을 다루기 위해 설계 – 밖으로 나가는 연결 시도의 빈도와 많은 원격 호스트로 연결을 시도하는 데 갑작스런 증가가 있는지 관찰

– 갑작스런 증가가 발생되면 소프트웨어는 즉각 연결시도를 차단

62

PWC 배치 예

63

PWC 구조 동작

A. PWC 에이전트는 나가는 트래픽을 모니터링해서 스캐닝을 하고 원격 호스트로 UDP나 TCP 연결 시도가 폭증하는지 아닌지를 결정 – 갑작스런 증가 감지가 있으면 에이전트는 다

음과 같은 행동을 취한다 1) 로컬 시스템에 경보를 발령

2) 밖으로 나가는 모든 연결시도를 차단

3) 경보를 PWC 관리자에게 통보

4) D에서 설명하게 될 완화 분석을 시작

64

PWC 구조 동작

B. PWC 관리자는 경보 수령 – PWC는 경보를 모든 에이전트로 확산

C. 호스트는 경보를 수신 – 에이전트는 경보를 무시할지 아닌지를 판단

– 마지막으로 들어온 패킷 시간 이후로 충분한 시간이 지나서 에이전트가 웜에 감염된 사실을 감지 • 경보를 무시

– 다른 경우 에이전트는 감염되었을 수도 있다고 여기고 다음과 같은 조치 1)특정 경보 포트에서 밖으로 나가는 모든 연결시도를 차단

2)완화 분석을 시작

65

PWC 구조 동작

D. 완화 분석은 다음과 같이 수행한다. 에이전트는 밖으로 나가는 연결시도가 한계점을 넘었는지 아닌지 알아보기 위해 고정된 윈도우 시간 동안 밖으로 나가는 활동을 모니터링 – 한계점 초과

• 차단상태를 유지하면서 완화 분석을 또 다른 윈도우 시간만큼 시행

• 밖으로 나가는 연결시도 수가 한계점 이하로 떨어져서 에이전트가 차단을 해제할 때까지 계속

– 한계점을 초과하는 시간이 충분히 주어진 완화 분석 윈도우 시간을 넘어서면 • 에이전트는 호스트를 분리하고 PWC 관리자에게 보고

66

네트워크-기반 웜 방어

• 웜 모니터링 소프트웨어

• 두 가지 유형 – 진입 모니터(Ingress monitors):

– 진출 모니터(Egress monitors):

• 제로-데이 익스플로잇(zero-day exploit)에 효과 – 침입탐지시스템의 기능처럼 작동될 수 있고 중앙 관리 시스템에 경보

– 웜 공격에 실시간으로 반응하여 컴퓨터 보안 담당자가 알기 전에 컴퓨터 보안의 취약한 부분을 이용하는 대응시스템 구현 가능

67

웜 대응책 구조

1. 네트워크의 다양한 장소에 설치된 센서는 의심되는 웜을 탐지

– 센서 논리를 IDS 센서에 내장

2. 센서는 들어온 경보를 연관시키고 분석하는 중앙 서버로 경보를 전송

– 연관 서버는 웜 공격이 관찰될 가능성과 웜 공격의 중요 특성을 판단

68

웜 대응책 구조

3. 서버는 보안된 환경 안으로 이 정보를 전달한다. 보안된 환경은 샌드박스를 말하는데, 웜으로 의심되는 대상을 보호된 영역인 샌드박스 안에서만 분석하고 테스트

4. 보호된 시스템은 의심스런 소프트웨어에서 적절하게 계기화한 목표 응용프로그램 버전을 점검해서 취약점을 파악

69

웜 대응책 구조

5. 보호된 시스템은 한 개 이상의 소프트웨어 패치를 생성하고 이를 테스트

6. 만약 패치가 이 감염을 허용하지 않고 응용프로그램의 기능을 위태롭게 하지 않는다면, 시스템은 패치를 호스트로 보내어 목표로 한 응용 프로그램을 업데이트

70

웜 모니터 장착

71

10.5 분산서비스거부 공격

• 서비스거부 공격(DoS attack) – 정당한 사용자가 서비스를 받지 못하도록 막는 공격

• 분산서비스거부공격(Distributed DoS) 공격 – 쓸모 없는 트래픽을 서버, 네트워크 및 사용자 시스템에 무차별적으로 전송하여 컴퓨터 시스템을 접근하지 못하게 하여 결과적으로 정당한 사용자가 자원을 더 이상 사용할 수 없도록 한다

• DDoS 공격의 전형적인 예 – 다수의 감염된 호스트에서 쓸모 없는 패킷을 전송 – 공격 방법이나 툴이 더욱 복잡해지고 교묘해져서 실제 공격자 추적이 어려움

– 방어 기술은 대형 공격에 대한 저항성 약함

72

DDoS 공격 개요

• 공격이 소모하는 자원의 종류에 따른 분류

–내부 자원 공격(internal resource attack)

• 공격 대상: 목표 시스템에 있는 내부 호스트 자원

• 예: SYN 플러드 공격(flood attack)

–데이터 전송 자원을 소모시키는 공격

• 공격 대상: 목표시스템이 연결되어 있는 네트워크의 데이터 전송 용량

73

SYN 플러드 공격 단계

1. 공격자가 인터넷 상 다수 호스트를 제어하여 목표 웹 서버에 접근하도록 지시

2. 지시 받은 호스트는 오류 리턴 IP 주소 정보를 사용하여 TCP/IP(동기/초기화) 패킷을 목표 시스템으로 전송

3. 각각의 SYN 패킷에 대해 웹 서버는 SYN/ACK(동기/확인응답) 패킷으로 응답하여 잘못된 IP 주소를 가지고 있는 TCP 개체와 TCP 연결을 시도 – 각 SYN 패킷은 상대방에게 TCP 연결을 요청하는 패킷 – 웹 서버는 각각의 SYN 요청에 대하여 데이터 구조를 유

지하고 응답을 기다리다가 더 많은 트래픽 홍수가 발생하면 결국 다운

– 정당한 연결은 거부당하고 공격을 받은 서버는 반쪽 연결이 완료될 때까지 계속 대기

74

분산 SYN 홍수 공격

75

데이터 전송 자원 소모 공격

1. 공격자는 인터넷상의 여러 호스트를 제어하여 이들로 하여금 목표시스템의 위장 IP 주소를 포함하고 있는 ICMP ECHO 패킷을 만들어 반사(reflector) 호스트 역할을 하는 한 그룹의 호스트에게 보내도록 지시

2. 반사 호스트는 여러 개의 위장 요청을 수신하고 목표 사이트로 ECHO 응답 패킷을 전송

3. 목표 시스템의 라우터는 반사 호스트로부터 들어오는 패킷으로 넘쳐나게 되 어 결국 정당한 트래픽을 위한 데이터 전송 능력을 상실

76

분산 ICMP 공격

77

DDoS 공격의 다른 분류방법

• 직접 DDoS 공격(direct DDoS attack)

• 반사 DDoS 공격(reflector DDoS attack)

78

직접 DDoS 공격 (direct DDoS attack)

• 공격자는 인터넷상에 분산되어 있는 수많은 사이트에 좀비 소프트웨어를 설치

• 2단계 좀비 시스템 – DDoS 공격은 마스터 좀비와 종속 좀비로 구성

• 두 좀비는 악성 코드에 감염 • 공격자가 마스터 좀비를 조정하여 동작시키면 이어서 종속 좀비가 동작

• 2단계 좀비를 사용하면 공격의 발신지를 추적하기가 더 어렵고 공격자 활동 공간이 넓어짐

79

반사 DDoS 공격 (reflector DDoS attack)

• 하나의 호스트 계층을 추가한다 • 종속 좀비는 IP 패킷의 헤더에 목표 시스템의 IP 주소

를 발신지 IP 주소로 하는 패킷을 만들어 응답을 요청 • 이 패킷은 감염되지 않은 호스트인 반사 호스트 전송 • 반사 호스트는 발신지 IP 주소를 확인하고 목표시스템

으로 응답 패킷을 전송 • 반사기 DDoS 공격

– 직접 DDoS 공격에 비하여 더 많은 호스트를 감염 – 더 많은 트래픽을 유발시킬 수 있으므로 더 위협적 – 공격이 넓게 분산되어 있는 감염되지 않은 호스로부터 들어오기 때문에 공격을 추적하고 패킷을 필터링 해서 제거하는 것이 더 어렵다

80

플러딩-기반 DDoS 공격 (직접 DDoS 공격)

81

플러딩-기반 DDoS 공격 (반사 DDoS 공격)

82

공격 네트워크 구축

• DDoS 공격의 첫 번째 스텝은 공격자가 추후 공격을 실어 나를 수많은 호스트를 좀비 소프트웨어로 감염시키는 것

• 이 공격 단계의 핵심적인 구성 요소

– DDoS 공격을 실어 나를 수 있는 소프트웨어

–수많은 시스템의 취약성

–취약한 시스템을 찾아내는 전략

83

스캐닝 전략

• 랜덤(Random):

• 히트 리스트(Hit-list):

• 토폴로지(Topological):

• 지역 서브넷(Local subnet):

84

DDoS 대응책

• 공격 예방 및 선취(공격 이전):

• 공격 탐지 및 필터링(공격 중):

• 공격 근원지 역추적 및 확인(공격 중 및 공격 후):

85