악성코드와 기업의 악성코드 대응

Preview:

DESCRIPTION

2006년 11월 L 기업 보안관제팀 대상 강연 자료

Citation preview

1

제목쓰는 공간

2006. 4. 7

㈜ 안철수연구소

AhnLab CBI Renewal Project

(서체-HY헤드라인M 30pt)

(서체-Arial Bold 15pt)

(서체-HY헤드라인M 13pt)

악성코드와 기업의 악성코드 대응

2006. 11. 29

(주) 안철수연구소

시큐리티 대응센터 (ASEC)

안티 바이러스 연구원, CISSP 장 영 준

2

목 차 1. 악성코드 유형별 최근 동향

3. 주요 악성코드의 감염 기법

2. 악성코드 기술적 동향

4. 기업 악성코드 대응

6. 참고 문헌

5. 향후 연구 과제

3

1. 악성코드 유형별 최근 동향

4

1. 2006년월별 피해 신고 건수

- 6월까지는 예년과 비슷한 수치를 기록하였으나 7월부터 급격한 증가 추세

- 바이러스의 증가로 인한 전반적인 피해 증가 추세

1. 악성코드 유형별 최근 동향

5

2. 악성코드형태별피해 건수

- 2006년 상반기는 웜과 트로이목마의 피해가 일반적인 동향

- 2006년 7월 이후 바이러스의 급격한 증가

1. 악성코드 유형별 최근 동향

6

1. 악성코드 유형별 최근 동향

• 통계

2006 년 최근 악성 IRCBot 웜 발견 현황

1917

14

33

44

0

5

10

15

20

25

30

35

40

45

50

5월 6월 7월 8월 9월

2006 년

- 한 동안 줄어 들었으나 MS06-040 취약점 이후 8월부터 다시 증가 추세

- 다양한 실행압축 툴과 암호화 기법을 이용한 변형들을 지속적으로 생성

3. Win32/IRCBot.worm 동향 (1)

7

3. Win32/IRCBot.worm 동향 (2)

• 취약점, 감염경로 및 변형

- 윈도우 XP SP2 사용자 증가, PFW 통합 보안제품 증가, 사용자들의 보안의식 향상

- 초기에는 MS 윈도우 서비스 취약점 10개 정도, 악성코드 오픈 포트를 사용

- 다운로더 또는 스파이웨어와 같은 다른 악성코드에 의해 설치되는 경우도 있음

- 휴리스틱 진단을 회피하기 위해 문자열 암호화와 알려지지 않은 실행압축 사용

- 윈도우 파일 보호 기법 무력화 사용

• 커널모드 봇 출현

- 소켓단의 개인용 방화벽을 우회하기 위하여 제작

- 은폐형 악성 IRCBot 은 프로세스, 파일, 레지스트리를 은폐하며 예전에도 존재

1. 악성코드 유형별 최근 동향

8

1. 악성코드 유형별 최근 동향

• 통계

- 근래 악성코드 제작 목적은 악성코드 제작자의 금전적인 이익을 위함

- 악성코드의 비율도 트로이목마가 전체의 과반수 이상을 넘어서고 있음

102

185

123153

116

460

0

50

100

150

200

250

300

350

400

450

500

7월 8월 9월

2005, 2006 3분기 트로이목마 현황

2005 3분기

2006 3분기

4. 트로이목마동향 (1)

9

1. 악성코드 유형별 최근 동향

4. 트로이목마동향 (2)

- 사용자 정보 유출하거나 다른 악성코드 설치하는 다양한 형태의 트로이목마 등장

• 과거

- 사용자 데이터 삭제 또는 OS 를 손상 시키는 형태

• 현재

- 다른 악성코드 및 스파이웨어 등을 다운로드하는 형태 폭발적 증가

Win-Trojan/Downloader

- 해킹 및 스팸메일의 증가로 Proxy 서버 증상을 갖는 트로이목마 증가

Win-Trojan/Ranky, Win-Trojan/Proxy, Win-Trojan/ProxyAgent 등

- 온라인 게임의 사용자 정보를 유출 하는 증상을 갖는 트로이목마 증가

Win-Trojan/HangHack, Win-Trojan/LineageHack, Win-Trojan/LmirHack 등

10

1. 악성코드 유형별 최근 동향

- 중국발 웹 해킹의 영향으로 중국산 트로이목마의 수적 증가

- Win-Trojan/GrayBird, Win-Trojan/Hupigon, Win-Trojan/PcClient

- 은폐기법 관련 커뮤니티 활성화와 소스공개로 은폐형 악성코드 증가

- Win-Trojan/HackDef, Win-Trojan/AFXRootkit, Win-Trojan/FuRootkit

4. 트로이목마동향 (3)

11

1. 악성코드 유형별 최근 동향

6. 웜

• 이메일로 전파 되는 웜

- 최근에는 Win32/Stration.worm이 이슈가 되었음

- 이메일 웜의 은폐기능은 하나의 증상에 불과함

- 웜 자체의 기능보다는 다른 악성코드를 설치하는 목적으로도 이용되기도 함

- 이메일 웜 보다는 이메일을 이용하여 다른 악성코드를 퍼뜨리는데 더 적극적으로 활용됨

• 취약점을 이용하여 전파 되는 웜

- 웜에서 사용하기 쉬운 윈도우 서비스관련 취약점들이 줄어들고 있음

- 트로이목마의 증가로 인한 일반적으로 웜의 입지가 좁아지고 있음

- 취약점 자체만으로 전파되는 형태는 현재는 거의 없으며 대부분 악성 IRCBot 웜에서 사용

• 메신저를 이용하여 전파 되는 웜

- 2005년의 경우 메신저 웜이 증가 추세였으나 최신 메신저의 실행파일 전송차단 기능

으로 인해 저조

12

1. 악성코드 유형별 최근 동향

7. 바이러스

• 과거

- 윈도우 9x 및 윈도우 NT 등장시 폭발적으로 증가

- 다양한 바이러스 제작기법이 출현함

• 최근

- 네트워크 인프라 발달로 전파력이 없는 바이러스는 악성코드 제작자들로부터 외면

- 바이러스 제작을 위해서는 PE 파일 이해 및 윈도우 기반기술 등 고급기술이 필요함

- 웜이나 트로이목마 보다는 상대적으로 제작이 어려워 악성코드 제작자들이 기피

• 현재

- Win32/Detnat, Win32/ViKing와 Win32/Virut 같은 바이러스의 급격한 증가추세

- 감염기법은 단순한 편이지만 다형성, 시작 실행시점 불명확, 파일 빈 공간 감염기법도 사용

- 메모리 상주 효과를 노리기 위해서 정상 프로세스에 감염루틴을 쓰레드로 생성도 함

- 별도의 감염 컴포넌트를 두고 프로세스에서 자신을 은폐시킨 후 감염 시키는 형태도 존재

13

1. 악성코드 유형별 최근 동향

8. 매크로, 스크립트및 64Bit 악성코드

• 매크로 바이러스

- 최근 매크로 바이러스는 거의 발견되지 않음

- 2006년 현재까지 국내 발견 매크로 바이러스는 엑셀 매크로이며 총 4건

- MS 오피스 취약점을 이용하여 다른 악성코드의 전파 기법으로 사용되는 추세

• 스크립트 악성코드

- 최근에는 스크립트 형태의 웜은 발견되지 않음.

- 바이러스 보다는 인터넷 익스플로러 취약점을 포함한 트로이목마 증상이 대부분

- MS06-014와 MS06-071 취약점을 이용 다른 악성코드의 전파 수단으로 사용

• 64Bit 악성코드

- 현재까지 3개의 악성코드가 발견

- 발견된 악성코드 모두 감염 목적이 아닌 개념 증명 (Proof of Concept) 형태

14

1. 악성코드 유형별 최근 동향

9. 기타 플랫폼악성코드

• 모바일 악성코드

- SymbianOS 에서 동작하는 형태가 가장 많으며 지속적으로 증가 추세

- 최근 운영체제에 독립적이며 대부분의 모바일 기기가 지원하는 자바 플랫폼에서 동작하는

RedBrowser 악성코드 발견

- Bluetooth 에서 MMS 로 전파환경이 변화됨

• 리눅스 및 유닉스 악성코드

- 유닉스 악성코드의 대부분은 과거에 발견된 형태

- 리눅스 악성코드는 실행가능한 ELF 파일을 감염 시키는 바이러스가 주류

• 맥킨토시 및 파워맥

- 바이러스, 트로이목마, 스크립트 형태의 악성코드가 존재

- 최근 MacOS X 취약점이 다수 공개 되면서 Bluetooth 를 이용하여 전파하는 웜 등장

15

2. 악성코드 기술적 동향

16

2. 악성코드 기술적 동향

• DLL 및 Code Injecting 기법 증가

- 실행중인 프로세스 및 파일에 악의적인 DLL 및 Code 를 Injecting 하는 형태

- 사용자들이 발견하기 어렵고 수동으로 제거하기도 어려움

- RemoteThread 를 이용한 프로세스 재실행 또는 실행중인 프로세스 및 서비스

강제종료불가

- 악성코드 자신이 다른 프로세스에서 File Handle 을 선점오픈

• 다양한 은폐기법의 증가와 발전

- UserMode 에서 KernelMode 로 발전

- 별도의 KernelMode 은폐 기능을 수행하기 위한 드라이버 파일 생성

- 다양한 은폐기법 탐지를 무력화하는 악성코드 및 기법 공개

- 윈도우 2003 SP1 및 64Bit 윈도우의 KernelPatchGuard 우회방법공개

- 특정 응용 프로그램들의 Stealth by Design 계획

17

2. 악성코드 기술적 동향

• 안티 안티 바이러스의 등장

- 레지스트리 수정으로 윈도우 서비스 강제 종료

- 문자열 검색을 이용한 프로세스 강제 종료

- 프로세스의 PEB (Process Environment Block)을 이용한 프로세스 강제 종료

- NtCreateFile Hook 을 통한 파일 삭제

- 모든 사용자 계정의 디버그 권한을 삭제하여 보안 프로그램 실행불가능

- 레지스트리 PendingFileRenameOperations 키 값을 후킹하여 재부팅 후에도 삭제되지

않음

• 개인용 방화벽의 우회

- 레지스트리 수정 및 서비스 강제 종료를 이용한 윈도우 XP SP2 방화벽 우회

- TDI 및 Protocol 후킹을 통한 소켓단 방화벽 우회로 일반 개인용 방화벽 우회

18

2. 악성코드 기술적 동향

• 실행압축 기술 발전에 따른 부작용

- 바이러스 제작에 폴리모픽 및 메타모픽 기법이 사용됨

- 다양한 안티 디버깅과 압축 알고리즘으로 분석시간을 지연

- 실행 압축된 파일을 변형하는 툴 또는 방법이 인터넷 상에 공개

• 악성코드 형태의 붕괴

- 바이러스, 웜 그리고 트로이목마 3가지 경계 형태가 허물어짐

- 파일을 감염 대상으로 하지만 네트워크 공유 폴더로 자신을 복제

- 네트워크를 통해 다른 트로이목마를 다운로드 하지만 파일을 감염 대상으로 함

19

3. 주요 악성코드의 감염 기법

20

3. 주요 악성코드의 감염 기법

1. 게임 계정 탈취 트로이목마류 (1)

• 진단명

- Win-Trojan/LineageHack, Win-Trojan/HangHack 및 Win-Trojan/KorGameHack 등

• 감염경로

21

1. 게임 계정 탈취 트로이목마류 (2)

• 감염경로

- 웹 해킹을 당한 웹 사이트 또는 다운로더 트로이목마

• 동작방식 – 설치 및 실행

- CHM 형태의 파일을 특정 호스트로부터 다운로드한 후 실행 그리고 EXE 파일 생성

- 생성된 EXE 파일은 드로퍼로서 실행되면 DLL 형태의 트로이목마를 생성

- 드로퍼에서 CreateRemoteThread 등의 DLL Injecting 루틴이 실행

- 실행중인 프로세스 및 이후 실행되는 프로세스들에 DLL 을 스레드로 Injection.

• 동작방식 – 게임계정 탈취

- Injection 된 DLL 은 대상이 되는 게임 또는 웹 사이트 방문 전까지 동작하지 않음

- 대상 프로세스명, 모듈, 윈도우 명을 찾아내고 웹 사이트는 인터넷 익스플로러의

윈도우 타이틀 바를 통해 얻어옴

- 탈취한 계정은 로컬에 텍스트로 저장 또는 메일 및 특정 웹 서버에 업로드된 파일로

내용을 포스팅

3. 주요 악성코드의 감염 기법

22

2. 실행파일감염 바이러스 (1)

- Win32/Viking.Gen, Win32/Viking.A, Win32/Viking.B 등

• 파일감염 형태 – 전위형

원본 파일

원본 파일Win32/Viking

3. 주요 악성코드의 감염 기법

• 진단명

감 염 후

23

• 동작 방식

- 감염된 시스템에 존재하는 EXE 파일에 전위형으로 감염

- 윈도우 시스템 관련 폴더와 하위 폴더들의 EXE 파일은 감염 대상에서 제외

- 윈도우 폴더에 자신의 복사본인 EXE 와 DLL 생성

- 감염된 EXE 파일이 존재하는 폴더에 _desktop.ini 생성

- 외부 특정 시스템으로부터 게임 계정 탈취 트로이목마 다운로드

3. 주요 악성코드의 감염 기법

• 감염 경로

- 웹 해킹을 당한 웹 사이트 또는 트로이목마에 의한 다운로드

- EXE 파일 감염

- 관리 목적 공유폴더 및 사용자 설정 공유폴더 내의 EXE 파일 감염

2. 실행파일감염 바이러스 (2)

24

• 전파 경로

- 감염된 시스템의 네트워크 대역으로 ARP 브로드캐스팅 수행

- 네트워크 대역에서 발견된 시스템으로 ICMP 패킷 전송

- 사용자 지정 공유 폴더 내에 존재하는 파일들을 감염 시도

- 관리 목적 공유 폴더에 존재하는 파일들을 감염 시도

3. 주요 악성코드의 감염 기법

2. 실행파일감염 바이러스 (3)

[네트워크를 통한 전파]

25

4. 기업 악성코드 대응

26

1. 안티 바이러스정책 (1)

• 사용자 계정 정책

4. 기업 악성코드 대응

- 모든 시스템의 관리자 계정 사용 제한

- 영어 대소문자, 숫자 그리고 특수 문자를 포함한 조합으로 7자리 이상의 로그인 암호 적용

- 로그인 암호는 일정한 주기에 따른 변경 및 재적용

- 사용하지 않는 계정은 모두 비활성화 설정

- 계정에 대한 모든 권한 부여를 제한하고 필요한 권한만 부여

• 시스템 통제 정책

- 모든 시스템에는 안티 바이러스 및 안티 스피이웨어 프로그램 과 방화벽 (IPS 포함) 설치

- 안티 바이러스 및 안티 스파이웨어 프로그램에 최신 엔진의 자동 적용

- 사용자 설정 공유 폴더 및 공유 전산 자원에는 인가된 사용자 계정만 접근

- 공유 폴더 및 공유된 전산 자원을 사용하는 계정들에는 필요한 권한만 부여

- 사용중인 운영체제의 최신 보안 패치 및 서비스팩의 설치

27

• 보안 감사 수행

- 시스템에 설치되어 있는 안티 바이러스 및 안티 스파이웨어 프로그램을 이용한

주기적인 수동 검사 및 결과 파악

- 주기적인 네트워크 모니터링으로 특정 네트워크 대역에서 발생하는 이상 패킷 파악

- 미션 크리티컬한 시스템에는 무결성 검사를 수행할 수 있는 호스트베이스 IDS 설치로

이상 징후 파악

- 운영체제의 감사 설정으로 시스템 이벤트 로그의 주기적인 분석으로 비인가된 접근 및

이상 징후 파악

- 사용중인 운영체제와 프로그램들에 영향을 미칠 수 있는 새로운 취약점 및 악성코드 정보

들을 주기적으로 확보

1. 안티 바이러스정책 (2)

4. 기업 악성코드 대응

• 보안 인식 교육

- 컴퓨터 사용자들에 대한 악성코드의 위험에 대한 주기적인 보안 인식 교육 제공

- 인사 부서와 연계한 사내 보안 정책 위반에 따른 인사상 불이익 부여

28

• 시스템 확인

- 네트워크 내에서 감염이 의심되는 시스템을 확보

- 해당 시스템을 네트워크로부터 단절 후 일반 사용자의 사용 제한

• 시스템 조사 - 1

- 안티 바이러스 및 안티 스파이웨어 프로그램이 최신 엔진이 적용되어 있는지 확인

- 시스템을 안전모드로 부팅한 후 안티 바이러스 및 안티 스파이웨어 프로그램으로 시스템

전체를 검사

- 시스템을 정상 윈도우 모드로 부팅 후에도 동일한 이상 증상이 발생하는지 확인

- 동일한 이상 증상이 재발할 경우 다양한 시스템 모니터링 도구와 AhnReport로

시스템 분석

2. 악성코드초기 대응 (1)

4. 기업 악성코드 대응

29

• AhnReport 분석전 참고사항

- 악성코드의 기본적인 특성 인지

윈도우 시스템 폴더 또는 윈도우 폴더에 자신을 복사

자신을 재실행하기 위해 운영체제의 시작 부분에 자신을 등록

정상 파일과 유사한 파일명 또는 동일한 파일명에 다른 경로에 존재

- AhnReport로 확인이 어려운 악성코드도 존재

은폐형 악성코드, 워드 또는 엑셀 매크로 바이러스, 바이러스

2. 악성코드초기 대응 (2)

4. 기업 악성코드 대응

• AhnReport 분석의 주요 부분

- 실행 프로세스의 경로와 파일명

- 실행 프로세스의 소유자와 등록 정보

- 시작 프로그램의 등록 여부

- 실행 프로세스의 외부 접속 또는 포트 오픈

30

• AhnReport 분석 - 1

- 해당 시스템에서 AhnReport를 실행

- 운영체제의 서비스팩과 패치 정보 확인

- 설치된 V3와 SpyZero 엔진 버전 정보 확인

4. 기업 악성코드 대응

2. 악성코드초기 대응 (3)

[시스템 기본 정보]

31

4. 기업 악성코드 대응

2. 악성코드초기 대응 (4)

• AhnReport 분석 - 2

- 실행 중인 프로세스와 모듈 정보 확인

- 실행 중인 프로세스의 사용자, 버전, 제품 및 회사 정보 확인

- 악성코드는 일반적으로 사용자 계정의 권한으로 실행, 제품 버전 및 회사 정보가 없음

[실행 중인 프로세스 정보]

32

4. 기업 악성코드 대응

2. 악성코드초기 대응 (5)

• AhnReport 분석 - 3

- 시작 프로그램에 등록되어 있는 파일들과 로드 위치 확인

- 시작 프로그램 정보는 악성코드는 재실행 가능하도록 등록하는 위치들의 정보

[시작 프로그램 정보]

33

4. 기업 악성코드 대응

2. 악성코드초기 대응 (6)

• AhnReport 분석 - 4

- 네트워크 연결에서 실행 중인 프로세스가 사용하는 포트 확인

- 웜의 경우 동일한 프로세스가 다수의 포트를 오픈하여 인접 시스템에 대한 공격 시도

- 트로이목마의 경우 사내 시스템이 아닌 곳으로 접속 유지

[네트워크 정보]

34

5. 향후 연구과제

35

• 실행 파일 DNA 분석

- 악성코드의 주요 함수 분석으로 다양한 변형에 대한 신속한 대응

비주얼 베이직, 비주얼 C++와 델파이로 제작된 악성코드의 API 호출 순서와

코드상의 순서 등을 통해 유사하거나 동일한 코드로 제작된 변형들의 자동 분류

1. 새로운악성코드대응을 위한 향후 연구 과제

5. 향후 연구 과제

• 행위 기반 탐지

- 새로운 악성코드의 실행 형태와 동작 형태에 따른 사전 탐지 및 시스템 보호

알려지지 않은 악성코드가 실행되는 시스템상의 다양한 정보들을 종합하여 감염 동작의

순서와 절차를 통한 탐지

• 새로운 악성코드의 확보

- 새로운 악성코드에 감염된 시스템에서 신속한 샘플 확보

알려지지 않은 새로운 악성코드에 감염된 시스템에서 다양한 정보들을 종합하여

기존의 알려진 악성코드와의 증상의 유사도 측정을 통하여 자동 샘플 확보

36

6. 참고 문헌

37

1. 일반 악성코드관련 서적

6. 참고 문헌

악성 모바일 코드 (윈도우 바이러스 작동원리와 퇴치) – 로저 그라이암스 (2001년)

Securing the Network from Malicious Code : A Complete Guide to Defending

Against Viruses, Worms, and Trojans - Douglas Schweitzer (2002년)

Malware : Fighting Malicious Code - Ed Skoudis, Lenny Zeltser (2003년)

Trojans, Worms, and Spyware, First Edition : A Computer Security Professional's Guide

to Malicious Code - Michael Erbschloe (2004년)

The Art of Computer Virus Research and Defense - Peter Szor (2005년)

Malware Detection - Mihai Christodorescu (2006년)

Computer Viruses and Malware - John Aycock (2006년)

Defense and Detection Strategies Against Internet Worms - Jose Nazario (2003년)

Subverting The Windows Kernel RootKit – Greg Hoglund & James Butler (2005년)

2. 특정 형태의악성코드 관련 서적

38

3. 기타 정보 보안 관련 서적

6. 참고 문헌

Incident Response : A Strategic Guide to Handling System and Network Security

Breaches - Schultz & Russell Shumway (2002년)

Introduction to Computer Security - Matt Bishop (2004년)

소프트웨어 보안 – Greg Hoglund & Gray Mcgraw (2004년)

Windows Security Resource Kit – Ben Smith, Brian Kormar & MS Security Team

(2005년)

39

감사합니다

Q&A

Recommended