62
보안 위협의 형태와 악성코드 분석 기법 2010.11.15 ㈜ 안철수연구소 ASEC (AhnLab Security Emergency response Center) Anti-Virus Researcher, CISSP 장 영 준 선임 연구원 ([email protected])

보안 위협과 악성코드 분석 기법

Embed Size (px)

DESCRIPTION

2010년 11월 서울종합과학대학원 산업보안MBA 강연

Citation preview

Page 1: 보안 위협과 악성코드 분석 기법

보안 위협의 형태와 악성코드 분석 기법

2010.11.15

㈜ 안철수연구소

ASEC (AhnLab Security Emergency response Center)

Anti-Virus Researcher, CISSP

장 영 준 선임 연구원 ([email protected])

Page 2: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

목 차

1. 블랙 마켓으로 인한 사이버 범죄

2. 악성코드의 특징과 진단 기법

3. 악성코드의 분석 기법

4. 악성코드의 분석 사례

Page 3: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

1. 블랙 마켓으로 인한 사이버 범죄

Page 4: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.4

1) 고도화되는 보안 위협의 생산 체계

초기 보안 위협은 취미와 장난 형태였으나 이제는 정교한 산업 스파이와 APT 보안 위협 형태로 발전

보안 위협의 공격 대상 역시 개인에서 기업을 넘어 정부 기관으로 확장되고 있는 형태

구글 해킹 및 오로라(Aurora) 위협으로 알려진 미국 기업들에 대한 공격은 기업 지적 자산 탈취 목적

SCADA 시스템 노린 Stuxnet 은 사회 기반 시스템을 공격하는 고도화된 APT 보안 위협 형태.

1. 블랙 마켓으로 인한 사이버 범죄

Page 5: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.5

2) 조직적인 사이버 범죄

사이버 범죄는 Black Market 을 중심으로 발생하며 러시아를 포함한 동유럽, 중국, 브라질에서 활발

대부분의 세계적인 피해는 러시아를 포함한 동유럽에서 제작되는 보안 위협으로 인해 발생

뱅킹 트로이목마 Zeus Bot의 경우 최소 7000만 달러에서 2억 200만 달러의 피해 발생 추정 [FBI]

1. 블랙 마켓으로 인한 사이버 범죄

Page 6: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.6

러시아

사이버 범죄

사이버 범죄 형태

피싱

뱅킹 트로이목마

DDoS

온라인 포르노

온라인 카지노

사이버 범죄 구성

악의적인 웹 사이트

악성코드

봇넷

C&C 서버

사이버 범죄 환경

웹 서버 호스팅

네트워크 대역

프록시 서버

고급 사이버 범죄

사이버 범죄 증거 은폐

사이버 범죄간 연계

오프라인 범죄와 연계

3) 러시아를 포함한 동유럽의 사이버 범죄

RBN(Russia Business Network)라 불리는 ISP를 기반으로 사이버 범죄 발생

악성코드 및 공격 코드들의 거래에서부터 온라인 카지노까지 다양한 수익 사업을 진행

최근 알려진 뱅킹 트로이목마 Zeus Bot 역시 동유럽 블랙 마켓에서 거래되는 보안 위협

1. 블랙 마켓으로 인한 사이버 범죄

Page 7: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.7

4) 동유럽 블랙 마켓에서 판매되는 보안 위협

블랙마켓을 중심으로 보안 위협을 생산하는 다양한 도구와 공격 코드들이 금전 거래

뱅킹 트로이목마인 Zeus Bot 및 Spyeye Bot 경우 약 500 달러 (한화 약 60만원)에 거래

판매 이후 금전적인 대가를 지불할 경우 보안 제품 탐지 우회를 위한 유지 보수 서비스도 제공

[뱅킹 트로이목마 Zeus Bot 생성기] [뱅킹 트로이목마 Spyeye Bot 생성기]

1. 블랙 마켓으로 인한 사이버 범죄

Page 8: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.8

5) 사이버 범죄에 포함되는 구성원

악성코드 유포자

자금 운반 조직

피해자

악성코드 제작자는제작한 악성코드를

블랙마켓에 판매

악성코드를 유포하여 금융 정보를탈취하여 현금 이체

이체된 현금을 범죄 조직에게운송해주고 일정 수수료를 받음

일반 개인, 일반 기업 및금융 기관까지 다양함

1. 블랙 마켓으로 인한 사이버 범죄

Page 9: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.9

6) 뱅킹 트로이목마를 이용한 사이버 범죄 구조

피해자는 일반인에서 금융 기관까지 다양하게 존재

자금 운반 조직은 현금을 범죄 조직에게 운송해주고 일정 수수료를 받음

1. 블랙 마켓으로 인한 사이버 범죄

Page 10: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.10

1. 블랙 마켓으로 인한 사이버 범죄

7) 고도화되는 APT 보안 위협 형태의 공격 대상

• 정부 내 기밀 문서 탈취

• 군사 기밀 문서 탈취정부 기관

• 사이버 테러리즘 활동

• 사회 기간 산업 시스템의 동작 불능

사회 기간

산업 시설

• 기업 지적 자산 탈취

• 기업 영업 비밀 탈취정보 통신 기업

• 기업 지적 자산 탈취

• 기업 영업 비밀 탈취제조 업종 기업

• 사회 금융 시스템의 동작 불능

• 기업 금융 자산 정보 탈취금융 업종 기업

Page 11: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.11

1. 블랙 마켓으로 인한 사이버 범죄

8) 고도화되는 사이버 범죄에 대한 대응 방안

기업에 적합한 보안 정책 수립과 함께 다단계적인 대응 방안(Defense in Depth) 마련

모든 보안 위협의 시작점이 직원에 의함으로 주기적인 보안 인식 교육 제공이 중요

Page 12: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

2. 악성코드의 특징과 진단 기법

Page 13: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

13

1) 바이러스 (Virus)

일반적으로 감염대상이 되는 프로그램 또는 코드에 자신의 코드 및 변형 코드를 삽입

주로 컴퓨터 시스템 내부에서만 감염 및 확산

예) Brian, Michelangelo, CIH, FunLove, Nimda, Klez 등

감 염 전 프 로 그 램

Entry Point

감 염 후 프 로 그 램 바이러스

Entry Point

바이러스 프 로 그 램

Entry Point

[후 위형 바이러스] [전 위형 바이러스]

2. 악성코드의 특징과 진단 기법

Page 14: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

14

2) 웜 (Worm)

컴퓨터의 기억장소 또는 내부에 코드 또는 실행파일 형태로 존재

실행 시 파일이나 코드를 네트워크, 전자메일과 인스턴트 메신저 프로그램 등을 통해다른 시스템으로 자기 복제를 시도하는 형태

예) CodeRed, Blaster, Sasser, Bagle, Netsky, MyDoom 등

[네트워크를 이용한 전파][전자 메일과 I.M를 이용한 전파]

2. 악성코드의 특징과 진단 기법

Page 15: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

15

3) 트로이목마 (Trojan Horse)

자기 자신을 복제하지 않지만 악의적 기능을 포함하는 프로그램

악의적 목적에 적극적으로 활용되는 프로그램 또는 데이터 형태

예) LinegaeHack, PeepViewer, Optix, BackOrifice 등

[웹 사이트 해킹을 통한 트로이목마의 대량 확산 ]

2. 악성코드의 특징과 진단 기법

Page 16: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

2. 악성코드의 특징과 진단 기법

4) String 기반 진단

악성코드 내부 특정 코드 영역을 진단의 위치로 선정

가장 간단하고 빠르게 진단할 수 있는 기법

[Win-Trojan/OnlineGameHack.86016.CC 의 String 일부]

16

Page 17: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

5) Generic 진단

특정 악성코드 집합의 공통된 OPcode(Operation Code) 영역을

진단 위치로 선정

알려지지 않은 변형들에 대해 유연하게 대응 가능

[Win-Trojan/OnlineGameHack.86016.CC의 I.E 인젝션 코드 일부]

17

2. 악성코드의 특징과 진단 기법

Page 18: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

6) Heuristic진단

기존에 알려진 악성코드의 일반적인 특성을 바탕으로 그와 얼마나

유사한 코드를 가지고 있는가를 비교

* Static Heuristic Detection

악성코드의 실행 없이 기존 악성코드와 얼마나 많은 유사한 코드를

가지고 있는가를 비교 판단

* Dynamic Heuristic Detection

SandBox 또는 Emulator Buffer 를 이용하여 악성코드 실행 시 나타나는

증상을 바탕으로 기존에 알려진 악성코드와 얼마나 유사한가를 판단

18

2. 악성코드의 특징과 진단 기법

Page 19: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

3. 악성코드의 분석 기법

Page 20: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

3. 보안 위협의 분석 기법

1) Reverse Engineering (1)

1) Reverse Engineering은 인공적으로 만들어진 사물(자동차, 제트 엔진, 소프트웨어프로그램 등)을 분해해서 설계나 구조와 같은 세밀한 사항들을 분석 하는 과정

20

Page 21: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

1) Reverse Engineering (2)

1) Reverse Engineering은 약어로 RE (Reverse Engineering) 또는 RCE (Reverse Code Engineering)로 이야기 함

21

3. 보안 위협의 분석 기법

Page 22: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

2) Software Reverse Engineering

1) Software Reverse Engineering은 소스코드나 관련 문서가 없는 프로그램에서 설계나 구현 내용을 알아내는 작업

2) Software Reverse Engineering 범위* 보안 – 악성 코드 분석, 암호화 알고리즘 분석, 프로그램 바이너리 감사

* 소프트웨어 개발 – 소프트웨어 상호 운용 검증, 소프트웨어 품질 및 안정성 검증

22

3. 보안 위협의 분석 기법

Page 23: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

3) Reverse Engineering Process

1) Reverse Engineering Process

* 동적 분석 (Dynamic Analysis, System Level Reversing)

각종 툴과 운영체제의 다양한 서비스를 이용해서 프로그램 실행 파일과 입출력 값등을 조사해서 정보를 분석하는 일련의 과정

* 정적 분석 (Static Analysis, Code Level Reversing)

소프트웨어 개발 및 CPU와 운영체제에 대한 깊은 이해를 바탕으로 Low Level에서소프트웨어가 어떻게 동작하는지 분석하는 일련의 과정

동적 분석 (Dynamic Analysis) 정적 분석 (Static Analysis)

분 석 프로세스

23

3. 보안 위협의 분석 기법

Page 24: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

4) Reverse Engineering Tools

1) Reverse Engineering Tools

* System Monitoring Tools

리버싱 대상 어플리케이션과 동작 환경에 대해 수집된 정보들인 네트워킹, 파일 접근, 레지스트리 젒근, 뮤텍스, 파이프, 이벤트 등의 정보들을 보여주는 유틸리티

* Disassembler와 Debugger

Disassembler – 프로그램의 실행 바이너리를 입력 받아 전체나 일부분을 어셈블리언어 코드로 변환 해주는 프로그램

Debugger – 실행 중인 프로그램의 코드를 추적할 수 있도록 해주는 프로그램

24

3. 보안 위협의 분석 기법

Page 25: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

5) System Level Reversing

1) 각 종 툴과 운영 체제의 다양한 서비스를 이용해서 프로그램 실행 파일과 입출력 값등을 조사해 정보를 추출하는 일련의 과정

2) System Level Reversing은 분석 대상이 되는 파일을 실행한다는 의미에서 동적 분석 또는 Dynamic Analysis 라고도 함

3) System Level Reversing의 주요 관점은 Black-box Testing과 유사

4) Black-box Testing 기술은 악성코드의 악의적인 기능들과 감염 기법들을 빠르게파악하는데 유효함

5) Code Level Reversing과 비교하여 분석 시간은 빠르나 상세한 기능들을 파악하기는 어려움

25

3. 보안 위협의 분석 기법

Page 26: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

6) System Level Reversing의 주요 관점

1) System Level Reversing에서 주요한 시스템 정보 수집 대상

- File Change Monitoring

- Registry Change Monitoring

- Process와 Thread Monitoring

- Network Port Monitoring

- Network Sniffing과 Packet Capturing

- System Call Monitoring

26

3. 보안 위협의 분석 기법

Page 27: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

7) System Level Reversing 환경 (1)

27

1) 실제 컴퓨터 시스템 환경일반 하드웨어를 이용한 윈도우 시스템 구성 그리고 외부 네트워크와 단절된 독립네트워크를 구성

- 시스템 복구 솔루션Symantec Norton Ghost 또는 Acronis True Image 처럼 시스템 전체를 이미지화후 복구 가능한 솔루션

3. 보안 위협의 분석 기법

Page 28: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

8) System Level Reversing 환경 (2)

1) 가상화 시스템 이용시스템 가상화 솔루션을 이용하여 가상의 윈도우 시스템과 가상의 네트워크를 구성

- 가상화 솔루션Windows Virtual PC, VMware와 VirtualBox를 이용하여 하드웨어에 영향 받지 않

는 가상화 운영체제 지원 솔루션

28

3. 보안 위협의 분석 기법

Page 29: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

9) Malicious Code Reversing Process

동적 분석 (Dynamic Analysis) 정적 분석 (Static Analysis)

파일 분석 증상 분석 정보 분석 코드 분석 엔진 제작

1. 파일 형태 분석

2. 사용 API 분석

3. 문자열 분석

1. 시스템 분석

2. 프로세스 분석

3. 레지스트리 분석

4. 네트워크 분석

5. 기타 증상 분석

1. 증상 추가 분석

2. 각종 정보 수집

3. 관련 사항 확인

1. 디스어셈블링

2. 디버깅

1. 악성코드 판단

2. 진단 시그니쳐및 함수 제작

3. 분석정보 작성

분 석 프 로 세 스

29

3. 보안 위협의 분석 기법

Page 30: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

10) PE File 분석 – Fileinsight와 PEView

- 4개의 창으로 구분 지원, 구조에 따른 블럭화 표시

- Hex Editing, 파일 구조, EP 계산, IAT와 EAT 구분

- Disassembly 지원 , 파일 다운로드 기능

30

3. 보안 위협의 분석 기법

Page 31: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

11) Script File 분석 - Malzilla

- 스크립트 파일 구조 및 Decoding 분석

- Shellcode 분석 및 파일 다운로드 지원

31

3. 보안 위협의 분석 기법

Page 32: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

12) Office File 분석 – Offvis와 OfficeMalScanner

- Office 파일에 포함된 취약점 확인

- Office 파일의 구조 분석

- 취약한 Office 파일의 파일 Offset 위치 확인

32

3. 보안 위협의 분석 기법

Page 33: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

13) PDF File 분석 – PDFid와 PDFtk

- PDF 파일의 Zlib 압축 해제

- PDF 파일 구조 중의 취약한 부분

- 취약한 PDF 파일 내부의 Java Script 추출

33

3. 보안 위협의 분석 기법

Page 34: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

14) Process, Memory 및 Thread 분석 – Process Hacker

- Process, Services와 Network 실시간 모니터링

- Memory Dump, String Scan, Thread와 Handle 모니터링

34

3. 보안 위협의 분석 기법

Page 35: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.35

15) File과 Registry 변화 분석 - SysAnalyzer

- 특정 파일에 의해 File과 Registry 변화 모니터링

- 특정 파일에 의해 호출되는 API 모니터링

- Network Traffice 모니터링

- 사용하는 Network Port 모니터링

3. 보안 위협의 분석 기법

Page 36: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

16) 은폐형 파일 분석 - Gmer

- 다양한 은폐 기법으로 은폐된 프로세스, 파일 및 레지스트리 분석

- Process, Modules, Services와 Autostart 분석

36

3. 보안 위협의 분석 기법

Page 37: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

17) Network Traffic 분석 - Wireshark

- 시스템의 Network Traffic 실시간 분석

- Protocol과 Packet 분석

37

3. 보안 위협의 분석 기법

Page 38: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

18) Code Level Reversing

38

1) 프로그램의 설계 의도를 간파하거나 프로그램 바이너리에서 알고리즘을 파악하기위해 소프트웨어 개발, CPU, 운영체제 등에 대한 깊은 이해를 바탕으로 정보를 프로그램 제작 목적 및 방식을 파악하는 일련의 과정

2) Code Level Reversing은 분석 대상이 되는 파일을 실행하지 않는다는 의미에서 정적 분석 또는 Static Analysis 라고도 함

3) System Level Reversing과 비교하여 더 많은 분석 시간을 요구하나 프로그램의 상세한 기능들을 파악 할 수 있음

3. 보안 위협의 분석 기법

Page 39: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

19) Debugger

1) Debugger는 소프트웨어 개발자가 프로그램의 오류를 찾아내고 수정 할 수 있도록도와주기 위한 유틸리티

2) 대부분의 Debugger는 소스코드 없이 어셈블리 어언상에서 실행의 흐름을 따라갈수 있는 기능을 제공

3) Software Breakpoint는 프로그램 실행 시에 디버거가 프로그램 코드 사이에 명령을 삽입하는 방식삽입된 명령에 도달하면 프로세서는 프로그램 실행을 일시 정지하고 제어권을 디버거에게 넘김

4) Hardware Breakpoint는 CPU의 특별한 기능으로 어떤 특정 메모리 주소에 대한 접근이 이루어지면 프로세서가 프로그램 실행을 일시 정지하고 제어권을 디버거에게넘김

5) Debugger는 크게 User Mode Debugger와 Kernel Mode Debugger로 구분

39

3. 보안 위협의 분석 기법

Page 40: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

20) User Mode Debugger

1) User Mode Debugger는 일반적인 User Mode 어플리케이션을 디버깅하기 위해사용

2) User Mode Debugger는 디버깅 대상(Debuggee) 프로세스에 붙어 해당 프로세스에 대한 모든 제어를 수행할 수 있는 전통적인 어플리케이션

3) User Mode Debugger는 Kernel Mode Debugger와 달리 디버거 자체가 시스템상의 프로그램임으로 설치 및 사용이 간편

40

3. 보안 위협의 분석 기법

Page 41: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

21) User Mode Debugger 어플리케이션

1) OllyDbg는 리버싱을 위해서 설계된 디버깅 프로그램

2) WinDbg는 마이크로소프트에서 개발한 디버깅 프로그램 커맨드 라인 인터페이스제공

3) IDA Pro는 강력한 디스어셈블리어인 동시에 유저 모드 디버깅 프로그램

41

3. 보안 위협의 분석 기법

Page 42: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.42

22) Kernel Mode Debugger

1) Kernel Mode Debugger는 대상 시스템 전체를 제어 할 수 있으며 시스템에서 발생하는 어플리케이션 코드와 운영체제 코드 내부에서 발생하는 모든 것을 볼 수 있음

2) Kernel Mode Debugger는 운영체제에서 실행되는 하나의 어플리케이션이 아니라시스템의 커널과 동등한 컴포넌트로 존재하여 전체적인 시스템을 관찰하거나 실행을 중지 할 수 있음

3. 보안 위협의 분석 기법

Page 43: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

23) Kernel Mode Debugger 어플리케이션

1) SoftICE는 윈도우 디바이스 드라이버 개발 툴로 개발되어 로컬 커널 디버깅 수행

2) WinDBG는 커널 모드 디버깅이 가능하나 원격 커널 모드 디버깅 수행

43

3. 보안 위협의 분석 기법

Page 44: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.44

24) Dissasembler

1) Dissasembler는 바이너리 기계 코드를 해석해서 사람이 읽을 수 있는 어셈블리 언어로 변환

2) Dissasembler는 코드의 각 명령을 해석해서 문자 형태로 표현할 뿐이며 바이너리자체를 실행 시키지는 않음

3. 보안 위협의 분석 기법

Page 45: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.45

25) Dissasembler 어플리케이션

1) IDA Pro 가장 강력한 디스어셈블러이며 다양한 형태의 실행 파일 포맷을 지원함

2) 주요 기능으로 바이너리의 순서도로 디스어셈블된 코드의 논리적인 흐름을 그림으로 보여주어 코드 내부의 각 조건문이 함수의 실행 흐름에 어떠한 영향을 주는지 시각적인 이미지 제공

3. 보안 위협의 분석 기법

Page 46: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

4. 악성코드의 분석 사례

Page 47: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.47

1) Dropper/PcClient.47873

은폐 기능을 수행하며 별도의 파일들을 생성하는 드로퍼 (Dropper) 형태의 트로이목마

1) Visual C++로 제작

2) 윈도우 시스템 폴더에 2개의 DLL 파일과 1개의 드라이버 파일 생성

3) 생성한 드라이버 파일을 이용한 커널 모드(Kernel Mode) 은폐 기능 수행

4) 생성한 파일들에 대한 파일 및 레지스트리 은폐 기능 수행

5) 실행한 인터넷 익스플로러의 프로세스 및 네트워크 포트 은폐 기능 수행

6) 실행한 인터넷 익스플로러를 이용하여 외부 특정 시스템으로 접속 시도

7) 접속한 시스템을 통하여 제3의 시스템으로 재접속 후 공격자의 명령 수행

8) 실행 중인 모든 프로세스에 스레드 (Thread)로 인젝션 (Injection)하여

사용자가 입력하는 모든 키보드 입력을 후킹 (Hooking)

4. 악성코드의 분석 사례

Page 48: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.48

2) 파일 형태 분석

헥사 코드(Hex Code)를 분석할 수 있는 유틸리티를 이용하여 파일 형태 분석

윈도우에서 실행이 가능하도록 제작된 PE (Portable Executable) 파일

.text, .rdata, .data의 3개의 PE (Portable Executable) 섹션 (Section)을 가지고 있음.

4. 악성코드의 분석 사례

Page 49: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.49

3) 파일 구조 분석

파일의 구조를 분석할 수 있는

유틸리티를 이용하여 파일의

구조 분석

단독으로 윈도우에서 실행이 가능

하도록 제작된 실행 파일

비주얼 C++로 제작

메모리에서 시작 주소 0x403466

4. 악성코드의 분석 사례

Page 50: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.50

4) 윈도우 API 분석

파일의 IAT (Import Address Table)

분석 툴로 윈도우 API 분석

다음의 API들을 사용함으로 정상 파일

이 아닐 것으로 추정

GetSystemDirectoryA

Process32Next

CreateRemoteThread

GetModuleHandleA

WriteProcessMemory

OpenProcess

AdjustTokenPrivileges

OpenProcessToken

LookupPrivilegeValueA

4. 악성코드의 분석 사례

Page 51: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.51

5) 파일 내부 문자열 분석

파일의 내부 문자열을 분석할 수 있는 유틸리티를 이용하여 분석

파일 내부 문자열에서는 정상 파일 또는 악성코드로 추정되는 특별한 내부 문자열을

확인 할 수 없음

4. 악성코드의 분석 사례

Page 52: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.52

6) 파일을 시스템에서 실행

시스템 변화를 분석 할 수 있는 유틸리티를 이용하여 파일을 시스템에서 실행 후

시스템 변화 분석

생성된 파일은 없으나 레지스트리 키 값 생성으로 특정 드라이버 파일을 서비스로 등록

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\yncqjmkq "ImagePath"Type: REG_EXPAND_SZData: C:\WINDOWS\system32\drivers\yncqjmkq.sys

파일이 드라이버 파일을 생성하고 윈도우 서비스로 레지스트리에 등록한 것으로 확인

레지스트리 분석 유틸리티를 이용하여 해당 레지스트리 키 값을 검색해보았으나정상 윈도우 모드에서 확인되지 않음

해당 드라이버 파일을 윈도우 시스템 폴더의 드라이버 폴더에서 검색 해보았으나정상 윈도우 모드에서 확인되지 않음

4. 악성코드의 분석 사례

Page 53: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.53

7) 파일 실행 후 네트워크 분석

네트워크 포트와 패킷을 분석할 수 있는 유틸리티를 이용하여 시스템의 네트워크 분석

사용되는 포트가 없으나 특정 시스템으로 접속하는 네트워크 패킷이 분석됨

4. 악성코드의 분석 사례

Page 54: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.54

8) 파일 실행 후 시스템 추가 분석 (1)

현재까지 분석 상황으로 미루어 은폐형 악성코드로 의심됨으로 은폐 기능을

탐지 할 수 있는 유틸리티로 시스템 분석

은폐 기능 탐지 유틸리티를 이용하여 인터넷 익스플로러가 은폐되어 있는 것을 탐지

그 외의 파일들이 윈도우 시스템에서 은폐되어 있는 것을 탐지

4. 악성코드의 분석 사례

Page 55: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.55

실행 파일이 생성한 파일들의 현재 상태를 유틸리티를 이용하여 추가 분석

실행 파일이 생성한 YNCQJMKQ.D1L 은 은폐된 인터넷 익스플로러에 핸들 (Handle)로 실행

실행 파일이 생성한 YNCQJMKQ.DLL 은 실행 중인 프로세스들에 스레드 (Thread)로

인젝션 (Injection)

8) 파일 실행 후 시스템 추가 분석 (2)

4. 악성코드의 분석 사례

Page 56: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.56

9) 파일 디버깅 및 디스어셈블링 (1)

실행 파일을 OllyDbg 를 이용하여 디버깅

실행 파일이 실행되면 시스템 사용자 계정의 임시 폴더 경로 확보

임시 폴더에 YNCQJMKQ.tmp, YNCQJMKQ.d1l 과 YNCQJMKQ.log 파일 생성

4. 악성코드의 분석 사례

Page 57: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.57

9) 파일 디버깅 및 디스어셈블링 (2)

윈도우 시스템 폴더 경로 확보 후 생성한 파일들 중

YNCQJMKQ.tmp 는 YNCQJMKQ.dll 로 파일명을 변경하여 윈도우 시스템 폴더로 복사

YNCQJMKQ.d1l 은 명칭 변경 없이 윈도우 시스템 폴더로 복사

복사 이후 YNCQJMKQ.sys를 윈도우 시스템 폴더 아래의 drivers 폴더에 생성

인터넷 익스플로러를 실행한 후 YNCQJMKQ.d1l 를 인터넷 익스플로러의

핸들(Handle)로 등록 후 실행

4. 악성코드의 분석 사례

Page 58: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.58

9) 파일 디버깅 및 디스어셈블링 (3)

YNCQJMKQ.d1l 는 실행된 인터넷 익스플로러를 통해 다음 함수들을 이용하여 파일내

하드코딩 된 주소의 특정 시스템으로 접속 후 파일 다운로드

InternetSetOptionA, InternetOpenA, InternetOpenUrlA, InternetReadFile

4. 악성코드의 분석 사례

Page 59: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.59

9) 파일 디버깅 및 디스어셈블링 (4)

YNCQJMKQ.d1l 는 다음 함수들을 호출

YNCQJMKQ.sys를 윈도우 서비스로 실행

OpenSCManagerA, OpenServiceA

CreateServiceA, StartServiceA

YNCQJMKQ.sys는 KeServiceDescriptorTable 을 이용 하여SSDT (System Service Descriptor Table) 후킹 (Hooking)을 하여 은폐 기능을 수행

ZwCreateFile, ZwQueryKey, ZwEnumerateValueKey, ZwEnumerateKeyZwQuerySystemInformation, ZwQueryDirectoryFile

4. 악성코드의 분석 사례

Page 60: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.60

9) 파일 디버깅 및 디스어셈블링 (5)

YNCQJMKQ.dll를 CreateRemoteThread 함수를 이용 실행 중인 프로세스들에

스레드 (Thread) 로 인젝션(Injection) 후 실행

인젝션된 YNCQJMKQ.dll는 다음 함수들을 이용하여 사용자가 입력하는

키보드 입력을 후킹

SetWindowsHookExA, CallNextHookEx, GetKeyboardState,

4. 악성코드의 분석 사례

Page 61: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

* Reference

1) Windows Internals 제 5판

2) The Art of Virus Research and Defense

3) 리버싱 리버스 엔지니어링 비밀을 파헤치다

4) 리버스 엔지니어링 역분석 구조와 원리

5) 소프트웨어 보안 코드 깨부수기

6) 소프트웨어 보안 검사 기술

61

Page 62: 보안 위협과 악성코드 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.62

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.

AhnLab, the AhnLab logo, and V3 are trademarks or registered trademarks of AhnLab, Inc.,in Korea and certain other countries. All other trademarks mentioned in this document are the property of their respective owners.

AhnLabThe Joy of Care-Free Your Internet World

ASEC Threat Research

blog.ahnlab.com/asec/

ASEC Twitter

Twitter.com/ASEC_TFT