SlideShare a Scribd company logo
1 of 62
Download to read offline
보안 위협의 형태와 악성코드 분석 기법
2010.06.30
㈜ 안철수연구소
ASEC (AhnLab Security Emergency response Center)
Anti-Virus Researcher, CISSP
장 영 준 선임 연구원
목

차

1. 2010년 상반기 보안 위협 동향
2. 악성코드의 특징과 진단 기법
3. 악성코드의 분석 기법
4. 악성코드의 분석 사례

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
1. 2010년 상반기 보안 위협 동향

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
1. 2010년 상반기 보안 위협 동향
모든 보안 위협의 기본은 사회 공학 기법
허위 백신의 고도화된 감염 기법

진단, 치료가 어렵도록 발전하는 악성코드

제로 데이 취약점은 타켓 공격의 수단

보안 위협

다중 감염 경로와 다중 감염 기법

본격적인 SNS 기반의 보안 위협 양산

다양화되는 스마트폰 보안 위협
4

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
1. 2010년 상반기 보안 위협 동향
1) 모든 보안 위협의 기본은 사회 공학 기법
 사회 공학 기법은 현재 발생하는 모든 보안 위협에서 기본적으로 사용되고 있음.
 타켓 공격을 위한 전자 메일은 수신인이 보안 위협에 대한 인식이 어렵도록 작성.
 허위 백신은 감염된 PC의 사용자에게 한국어로 과장된 위협의 정보를 극대화 하여 전달.
 동계 올림픽과 남아공 월드컵 등 사회적인 주요 이슈를 악용해 악성코드 유포.

[ 2월 해외 허위 백신의 한국어 사용]
5

[ 6월 BC카드로 위장해 악성코드 유포]
Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
1. 2010년 상반기 보안 위협 동향
2) 허위 백신의 고도화된 감염 기법
 다른 악성코드에 의해 다운로드 되는 방식에서 직접적인 감염 방식으로 변화.
 BlackHat SEO 기법으로 특정 단어 검색시 허위 백신을 설치하는 웹 페이지를 상위권 노출.
 SNS 사이트를 중심으로 더 많은 사람들이 감염 될 수 있는 환경을 지속적으로 찾고 있음.

[ 3월 BlackHat SEO 기법으로 악성코드 유포]
6

[ 6월 트위터 메일로 위장한 허위 백신]
Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
1. 2010년 상반기 보안 위협 동향
3) 진단, 치료가 어렵도록 발전하는 악성코드
 기술적으로 진단 및 치료가 까다로운 형태의 악성코드가 지속적으로 발견.
 정상 프로세스의 메모리 영역에서만 동작하는 지봇(Zbot) 및 브레도랩(Bredolab) 변형들 유포.
 하드 디스크의 언파티션드(Unpartitioned) 영역에서 동작하는 TDL루트킷(TDLRootkit) 유포.
 윈도우 시스템 관련 파일들을 패치하는 패쳐(Patcher) 변형들 유포.
 뚜렷한 증상이 보이지 않아 PC 사용자들이 감염에 대해 쉽게 인식하기가 어려움.

[2월 세금 고지 메일로 위장한 Zbot 변형] [3월 윈도우 시스템 파일을 패치하는 악성코드]
7

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
1. 2010년 상반기 보안 위협 동향
4) 제로 데이 취약점은 타켓 공격의 수단
 2010년 상반기에 악용된 제로 데이 취약점은 총 5건으로 MS 3건, Adobe 2건.
 그 중 타켓 공격에 악용된 제로데이 취약점은 2건으로 모두 MS 인터넷 익스플로러 관련 취약점.
 제한 된 대상자를 공격하는 타켓 공격 시 보안 제품의 탐지가 어려운 제로 데이 취약점 악용.
 2건의 제로 데이 취약점을 악용한 타켓 공격은 전자 메일 본문에 악의적인 웹 사이트 링크를 포함.

[3월 타켓 공격에 악용된 MS10-018 취약점]
8

[6월 윈도우 도움말 센터 취약점 악용]
Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
1. 2010년 상반기 보안 위협 동향
5) 다중 감염 경로와 다중 감염 기법
 악의적인 웹 사이트와 전자 메일의 결합 형태로 소프트웨어 취약점을 악용해 악성코드 유포
 피싱 웹 사이트에서 악성코드를 유포하여 개인 정보 탈취 목적을 위한 2중 감염 수단을 활용
 PC 사용자의 보안 위협 인식에 대한 악성코드 제작자의 대응 수단 변화.

[2월 피싱 웹 사이트에서 악성코드 유포]
9

[2월 2중 감염 수단을 사용한 Zbot 변형]
Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
1. 2010년 상반기 보안 위협 동향
6) 본격적인 SNS 기반의 보안 위협 양산
 신뢰 할 수 있는 사람으로부터 전달 된 흥미로운 내용으로 위장한 사회 공학 기법 통해 빠른 확산.
 140자 제한으로 인해 간략한 머리글에 대한 호기심으로 단축 URL 클릭.
 단축 URL 사용으로 어떠한 웹 사이트로 연결 되는지 쉽게 판단하기 어려움.
 2월과 3월에는 트위터에서 단축 URL을 이용해 악성코드 유포 및 피싱 웹 사이트 유도 사례 발견.
 5월에는 SNS 웹 사이트를 악성코드 조정을 위한 C&C 시스템으로 악용하는 사례 발견.

[2월 트위터에서 피싱 웹 사이트 단축 URL 유포]
10

[5월 트위터로 조정하는 봇넷 생성기]
Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
1. 2010년 상반기 보안 위협 동향
7) 다양화되는 모바일 보안 위협
 스마트폰 사용이 증가함과 동시에 모바일 보안 위협 역시 동반 증가.
 2009년 아이폰 관련 악성코드에 이어 4월 국내에서 윈도우 모바일에 감염되는 악성코드인
트레드다이얼(TredDial)의 실제 감염 피해 사례 발생.
 무단으로 국제전화를 발신하여 감염된 윈도우 모바일 사용자에게 과도한 국제전화 사용료 발생.

[4월 윈도우 모바일에 감염되는 트레드다이얼]
11

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
2. 악성코드의 특징과 진단 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
2. 악성코드의 특징과 진단 기법
1) 바이러스 (Virus)
일반적으로 감염대상이 되는 프로그램 또는 코드에 자신의 코드 및 변형 코드를 삽
입

주로 컴퓨터 시스템 내부에서만 감염 및 확산
예) Brian, Michelangelo, CIH, FunLove, Nimda, Klez 등

프로그램

감염전
Entry Point

감염후

프로그램

바이러스
Entry Point

[후 위형 바이러스]

바이러스

프로그램

Entry Point

[전 위형 바이러스]

13
Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
2. 악성코드의 특징과 진단 기법
2) 웜 (Worm)
컴퓨터의 기억장소 또는 내부에 코드 또는 실행파일 형태로 존재
실행 시 파일이나 코드를 네트워크, 전자메일과 인스턴트 메신저 프로그램 등을 통해
다른 시스템으로 자기 복제를 시도하는 형태
예) CodeRed, Blaster, Sasser, Bagle, Netsky, MyDoom 등

[네트워크를 이용한 전파]

[전자 메일과 I.M를 이용한 전파]

14
Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
2. 악성코드의 특징과 진단 기법
3) 트로이목마 (Trojan Horse)
자기 자신을 복제하지 않지만 악의적 기능을 포함하는 프로그램
악의적 목적에 적극적으로 활용되는 프로그램 또는 데이터 형태
예) LinegaeHack, PeepViewer, Optix, BackOrifice 등

[웹 사이트 해킹을 통한 트로이목마의 대량 확산 ]
15
Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
2. 악성코드의 특징과 진단 기법
4) String 기반 진단
악성코드 내부 특정 코드 영역을 진단의 위치로 선정
가장 간단하고 빠르게 진단할 수 있는 기법

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

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
2. 악성코드의 특징과 진단 기법
5) Generic 진단
특정 악성코드 집합의 공통된 OPcode(Operation Code) 영역을
진단 위치로 선정

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

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

17

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
2. 악성코드의 특징과 진단 기법
6) Heuristic진단
기존에 알려진 악성코드의 일반적인 특성을 바탕으로 그와 얼마나
유사한 코드를 가지고 있는가를 비교

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

가지고 있는가를 비교 판단

* Dynamic Heuristic Detection

SandBox 또는 Emulator Buffer 를 이용하여 악성코드 실행 시 나타나는
증상을 바탕으로 기존에 알려진 악성코드와 얼마나 유사한가를 판단

18

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 악성코드의 분석 기법

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
1) Reverse Engineering (1)
1) Reverse Engineering은 인공적으로 만들어진 사물(자동차, 제트 엔진, 소프트웨어
프로그램 등)을 분해해서 설계나 구조와 같은 세밀한 사항들을 분석 하는 과정

20

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
1) Reverse Engineering (2)
1) Reverse Engineering은 약어로 RE (Reverse Engineering) 또는 RCE (Reverse
Code Engineering)로 이야기 함

21

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
2) Software Reverse Engineering
1) Software Reverse Engineering은 소스코드나 관련 문서가 없는 프로그램에서 설
계나 구현 내용을 알아내는 작업
2) Software Reverse Engineering 범위
* 보안 – 악성 코드 분석, 암호화 알고리즘 분석, 프로그램 바이너리 감사

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

22

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
3) Reverse Engineering Process
1) Reverse Engineering Process
* 동적 분석 (Dynamic Analysis, System Level Reversing)
각종 툴과 운영체제의 다양한 서비스를 이용해서 프로그램 실행 파일과 입출력 값
등을 조사해서 정보를 분석하는 일련의 과정
* 정적 분석 (Static Analysis, Code Level Reversing)
소프트웨어 개발 및 CPU와 운영체제에 대한 깊은 이해를 바탕으로 Low Level에서
소프트웨어가 어떻게 동작하는지 분석하는 일련의 과정

동적 분석 (Dynamic Analysis)
분석

23

 정적 분석 (Static Analysis)

프로세스

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
4) Reverse Engineering Tools
1) Reverse Engineering Tools
* System Monitoring Tools
리버싱 대상 어플리케이션과 동작 환경에 대해 수집된 정보들인 네트워킹, 파일 접
근, 레지스트리 젒근, 뮤텍스, 파이프, 이벤트 등의 정보들을 보여주는 유틸리티
* Disassembler와 Debugger
Disassembler – 프로그램의 실행 바이너리를 입력 받아 전체나 일부분을 어셈블리
언어 코드로 변환 해주는 프로그램
Debugger – 실행 중인 프로그램의 코드를 추적할 수 있도록 해주는 프로그램

24

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
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

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
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

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
7) System Level Reversing 환경 (1)
1) 실제 컴퓨터 시스템 환경
일반 하드웨어를 이용한 윈도우 시스템 구성 그리고 외부 네트워크와 단절된 독립
네트워크를 구성
- 시스템 복구 솔루션
Symantec Norton Ghost 또는 Acronis True Image 처럼 시스템 전체를 이미지화
후 복구 가능한 솔루션

27

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
8) System Level Reversing 환경 (2)
1) 가상화 시스템 이용
시스템 가상화 솔루션을 이용하여 가상의 윈도우 시스템과 가상의 네트워크를 구성
- 가상화 솔루션
Windows Virtual PC, VMware와 VirtualBox를 이용하여 하드웨어에 영향 받지 않
는 가상화 운영체제 지원 솔루션

28

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
9) Malicious Code Reversing Process
동적 분석 (Dynamic Analysis)

파일 분석

증상 분석

 정적 분석 (Static Analysis)

정보 분석

코드 분석

엔진 제작

1. 파일 형태 분석

1. 시스템 분석

1. 증상 추가 분석

1. 디스어셈블링

1. 악성코드 판단

2. 사용 API 분석

2. 프로세스 분석

2. 각종 정보 수집

2. 디버깅

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

3. 문자열 분석

3. 레지스트리 분석

3. 관련 사항 확인
3. 분석정보 작성

4. 네트워크 분석
5. 기타 증상 분석

분석

29

프로세스

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
10) PE File 분석 – Fileinsight와 PEView
-

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

-

30

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

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

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
11) Script File 분석 - Malzilla
-

31

스크립트 파일 구조 및 Decoding 분석
Shellcode 분석 및 파일 다운로드 지원

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
12) Office File 분석 – Offvis와 OfficeMalScanner
-

Office 파일의 구조 분석

-

32

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

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

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
13) PDF File 분석 – PDFid와 PDFtk
-

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

-

33

PDF 파일의 Zlib 압축 해제

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

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
14) Process, Memory 및 Thread 분석 – Process Hacker
-

34

Process, Services와 Network 실시간 모니터링
Memory Dump, String Scan, Thread와 Handle 모니터링

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
15) File과 Registry 변화 분석 - SysAnalyzer
-

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

-

Network Traffice 모니터링

-

35

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

사용하는 Network Port 모니터링

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
16) 은폐형 파일 분석 - Gmer
-

36

다양한 은폐 기법으로 은폐된 프로세스, 파일 및 레지스트리 분석
Process, Modules, Services와 Autostart 분석

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
17) Network Traffic 분석 - Wireshark
-

37

시스템의 Network Traffic 실시간 분석
Protocol과 Packet 분석

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
18) Code Level Reversing
1) 프로그램의 설계 의도를 간파하거나 프로그램 바이너리에서 알고리즘을 파악하기
위해 소프트웨어 개발, CPU, 운영체제 등에 대한 깊은 이해를 바탕으로 정보를 프로
그램 제작 목적 및 방식을 파악하는 일련의 과정
2) Code Level Reversing은 분석 대상이 되는 파일을 실행하지 않는다는 의미에서 정
적 분석 또는 Static Analysis 라고도 함
3) System Level Reversing과 비교하여 더 많은 분석 시간을 요구하나 프로그램의 상
세한 기능들을 파악 할 수 있음

38

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
19) Debugger
1) Debugger는 소프트웨어 개발자가 프로그램의 오류를 찾아내고 수정 할 수 있도록
도와주기 위한 유틸리티
2) 대부분의 Debugger는 소스코드 없이 어셈블리 어언상에서 실행의 흐름을 따라갈
수 있는 기능을 제공

3) Software Breakpoint는 프로그램 실행 시에 디버거가 프로그램 코드 사이에 명령
을 삽입하는 방식
삽입된 명령에 도달하면 프로세서는 프로그램 실행을 일시 정지하고 제어권을 디버
거에게 넘김
4) Hardware Breakpoint는 CPU의 특별한 기능으로 어떤 특정 메모리 주소에 대한 접
근이 이루어지면 프로세서가 프로그램 실행을 일시 정지하고 제어권을 디버거에게
넘김
5) Debugger는 크게 User Mode Debugger와 Kernel Mode Debugger로 구분

39

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
20) User Mode Debugger
1) User Mode Debugger는 일반적인 User Mode 어플리케이션을 디버깅하기 위해
사용
2) User Mode Debugger는 디버깅 대상(Debuggee) 프로세스에 붙어 해당 프로세스
에 대한 모든 제어를 수행할 수 있는 전통적인 어플리케이션

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

40

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
21) User Mode Debugger 어플리케이션
1) OllyDbg는 리버싱을 위해서 설계된 디버깅 프로그램
2) WinDbg는 마이크로소프트에서 개발한 디버깅 프로그램 커맨드 라인 인터페이스
제공
3) IDA Pro는 강력한 디스어셈블리어인 동시에 유저 모드 디버깅 프로그램

41

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
22) Kernel Mode Debugger
1) Kernel Mode Debugger는 대상 시스템 전체를 제어 할 수 있으며 시스템에서 발생
하는 어플리케이션 코드와 운영체제 코드 내부에서 발생하는 모든 것을 볼 수 있음
2) Kernel Mode Debugger는 운영체제에서 실행되는 하나의 어플리케이션이 아니라
시스템의 커널과 동등한 컴포넌트로 존재하여 전체적인 시스템을 관찰하거나 실행
을 중지 할 수 있음

42

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
23) Kernel Mode Debugger 어플리케이션
1) SoftICE는 윈도우 디바이스 드라이버 개발 툴로 개발되어 로컬 커널 디버깅 수행
2) WinDBG는 커널 모드 디버깅이 가능하나 원격 커널 모드 디버깅 수행

43

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
24) Dissasembler
1) Dissasembler는 바이너리 기계 코드를 해석해서 사람이 읽을 수 있는 어셈블리 언
어로 변환
2) Dissasembler는 코드의 각 명령을 해석해서 문자 형태로 표현할 뿐이며 바이너리
자체를 실행 시키지는 않음

44

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
3. 보안 위협의 분석 기법
25) Dissasembler 어플리케이션
1) IDA Pro 가장 강력한 디스어셈블러이며 다양한 형태의 실행 파일 포맷을 지원함
2) 주요 기능으로 바이너리의 순서도로 디스어셈블된 코드의 논리적인 흐름을 그림으
로 보여주어 코드 내부의 각 조건문이 함수의 실행 흐름에 어떠한 영향을 주는지 시
각적인 이미지 제공

45

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
1) Dropper/PcClient.47873
은폐 기능을 수행하며 별도의 파일들을 생성하는 드로퍼 (Dropper) 형태의 트로이목마

1) Visual C++로 제작
2) 윈도우 시스템 폴더에 2개의 DLL 파일과 1개의 드라이버 파일 생성
3) 생성한 드라이버 파일을 이용한 커널 모드(Kernel Mode) 은폐 기능 수행
4) 생성한 파일들에 대한 파일 및 레지스트리 은폐 기능 수행
5) 실행한 인터넷 익스플로러의 프로세스 및 네트워크 포트 은폐 기능 수행
6) 실행한 인터넷 익스플로러를 이용하여 외부 특정 시스템으로 접속 시도
7) 접속한 시스템을 통하여 제3의 시스템으로 재접속 후 공격자의 명령 수행

8) 실행 중인 모든 프로세스에 스레드 (Thread)로 인젝션 (Injection)하여
사용자가 입력하는 모든 키보드 입력을 후킹 (Hooking)

47

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
2) 파일 형태 분석
헥사 코드(Hex Code)를 분석할 수 있는 유틸리티를 이용하여 파일 형태 분석

윈도우에서 실행이 가능하도록 제작된 PE (Portable Executable) 파일
.text, .rdata, .data의 3개의 PE (Portable Executable) 섹션 (Section)을 가지고 있음.

48

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
3) 파일 구조 분석
파일의 구조를 분석할 수 있는
유틸리티를 이용하여 파일의

구조 분석

단독으로 윈도우에서 실행이 가능
하도록 제작된 실행 파일

비주얼 C++로 제작

메모리에서 시작 주소 0x403466

49

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
4) 윈도우 API 분석
파일의 IAT (Import Address Table)
분석 툴로 윈도우 API 분석

다음의 API들을 사용함으로 정상 파일
이 아닐 것으로 추정
GetSystemDirectoryA
Process32Next
CreateRemoteThread
GetModuleHandleA

WriteProcessMemory
OpenProcess
AdjustTokenPrivileges
OpenProcessToken
LookupPrivilegeValueA
50

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
5) 파일 내부 문자열 분석
파일의 내부 문자열을 분석할 수 있는 유틸리티를 이용하여 분석

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

51

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
6) 파일을 시스템에서 실행
시스템 변화를 분석 할 수 있는 유틸리티를 이용하여 파일을 시스템에서 실행 후
시스템 변화 분석

생성된 파일은 없으나 레지스트리 키 값 생성으로 특정 드라이버 파일을 서비스로 등록
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesyncqjmkq "ImagePath"
Type: REG_EXPAND_SZ
Data: C:WINDOWSsystem32driversyncqjmkq.sys
파일이 드라이버 파일을 생성하고 윈도우 서비스로 레지스트리에 등록한 것으로 확인
레지스트리 분석 유틸리티를 이용하여 해당 레지스트리 키 값을 검색해보았으나
정상 윈도우 모드에서 확인되지 않음
해당 드라이버 파일을 윈도우 시스템 폴더의 드라이버 폴더에서 검색 해보았으나
정상 윈도우 모드에서 확인되지 않음

52

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
7) 파일 실행 후 네트워크 분석
네트워크 포트와 패킷을 분석할 수 있는 유틸리티를 이용하여 시스템의 네트워크 분석

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

53

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
8) 파일 실행 후 시스템 추가 분석 (1)
현재까지 분석 상황으로 미루어 은폐형 악성코드로 의심됨으로 은폐 기능을
탐지 할 수 있는 유틸리티로 시스템 분석

은폐 기능 탐지 유틸리티를 이용하여 인터넷 익스플로러가 은폐되어 있는 것을 탐지
그 외의 파일들이 윈도우 시스템에서 은폐되어 있는 것을 탐지

54

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
8) 파일 실행 후 시스템 추가 분석 (2)
실행 파일이 생성한 파일들의 현재 상태를 유틸리티를 이용하여 추가 분석

실행 파일이 생성한 YNCQJMKQ.D1L 은 은폐된 인터넷 익스플로러에 핸들 (Handle)로 실
행
실행 파일이 생성한 YNCQJMKQ.DLL 은 실행 중인 프로세스들에 스레드 (Thread)로
인젝션 (Injection)

55

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
9) 파일 디버깅 및 디스어셈블링 (1)
실행 파일을 OllyDbg 를 이용하여 디버깅

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

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

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
9) 파일 디버깅 및 디스어셈블링 (2)

윈도우 시스템 폴더 경로 확보 후 생성한 파일들 중
YNCQJMKQ.tmp 는 YNCQJMKQ.dll 로 파일명을 변경하여 윈도우 시스템 폴더로 복사
YNCQJMKQ.d1l 은 명칭 변경 없이 윈도우 시스템 폴더로 복사

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

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

핸들(Handle)로 등록 후 실행

57

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
9) 파일 디버깅 및 디스어셈블링 (3)

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

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

InternetSetOptionA, InternetOpenA, InternetOpenUrlA, InternetReadFile
58

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
9) 파일 디버깅 및 디스어셈블링 (4)
YNCQJMKQ.d1l 는 다음 함수들을 호출

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

OpenSCManagerA, OpenServiceA

CreateServiceA, StartServiceA

YNCQJMKQ.sys는 KeServiceDescriptorTable 을 이용 하여
SSDT (System Service Descriptor Table) 후킹 (Hooking)을 하여 은폐 기능을 수행
ZwCreateFile, ZwQueryKey, ZwEnumerateValueKey, ZwEnumerateKey
ZwQuerySystemInformation, ZwQueryDirectoryFile

59

Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
4. 악성코드의 분석 사례
9) 파일 디버깅 및 디스어셈블링 (5)

YNCQJMKQ.dll를 CreateRemoteThread 함수를 이용 실행 중인 프로세스들에
스레드 (Thread) 로 인젝션(Injection) 후 실행

인젝션된 YNCQJMKQ.dll는 다음 함수들을 이용하여 사용자가 입력하는
키보드 입력을 후킹
SetWindowsHookExA, CallNextHookEx, GetKeyboardState,
60

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

1) The Art of Virus Research and Defense

2) 리버싱 리버스 엔지니어링 비밀을 파헤치다
2) 리버스 엔지니어링 역분석 구조와 원리
3) 소프트웨어 보안 코드 깨부수기
4) 소프트웨어 보안 검사 기술
61

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

The Joy of Care-Free Your Internet World
ASEC Threat Research
blog.ahnlab.com/asec/
ASEC Twitter
Twitter.com/ASEC_TFT
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.

62

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

More Related Content

What's hot

1. 2009년 상반기 보안 위협 동향
1. 2009년 상반기 보안 위협 동향1. 2009년 상반기 보안 위협 동향
1. 2009년 상반기 보안 위협 동향Youngjun Chang
 
보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안Youngjun Chang
 
Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안Youngjun Chang
 
Memory forensics with volatility
Memory forensics with volatilityMemory forensics with volatility
Memory forensics with volatilityYoungjun Chang
 
보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법Youngjun Chang
 
1. 보안 위협 동향과 주요 보안 위협 특징
1. 보안 위협 동향과 주요 보안 위협 특징1. 보안 위협 동향과 주요 보안 위협 특징
1. 보안 위협 동향과 주요 보안 위협 특징Youngjun Chang
 
2010년 상반기 보안 위협 동향과 주요 보안 위협
2010년 상반기 보안 위협 동향과 주요 보안 위협2010년 상반기 보안 위협 동향과 주요 보안 위협
2010년 상반기 보안 위협 동향과 주요 보안 위협Youngjun Chang
 
2.악성 코드와 최근의 동향
2.악성 코드와 최근의 동향2.악성 코드와 최근의 동향
2.악성 코드와 최근의 동향Youngjun Chang
 
5. system level reversing
5. system level reversing5. system level reversing
5. system level reversingYoungjun Chang
 
지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석한익 주
 
보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안Youngjun Chang
 
IT보안과 사회공학(Social Engineering)
IT보안과 사회공학(Social Engineering)IT보안과 사회공학(Social Engineering)
IT보안과 사회공학(Social Engineering)Youngjun Chang
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안Youngjun Chang
 
2007년 6월 악성코드 최신 동향과 대응
2007년 6월 악성코드 최신 동향과 대응2007년 6월 악성코드 최신 동향과 대응
2007년 6월 악성코드 최신 동향과 대응Youngjun Chang
 
악성코드와 기업의 악성코드 대응
악성코드와 기업의 악성코드 대응악성코드와 기업의 악성코드 대응
악성코드와 기업의 악성코드 대응Youngjun Chang
 
SNS 보안 위협 사례
SNS 보안 위협 사례SNS 보안 위협 사례
SNS 보안 위협 사례Youngjun Chang
 
악성코드 분석 도구
악성코드 분석 도구악성코드 분석 도구
악성코드 분석 도구Youngjun Chang
 
1. 악성코드 진단 기법 개론
1. 악성코드 진단 기법 개론1. 악성코드 진단 기법 개론
1. 악성코드 진단 기법 개론Youngjun Chang
 
2011년 보안 이슈와 2012년 보안 위협 예측
2011년 보안 이슈와 2012년 보안 위협 예측2011년 보안 이슈와 2012년 보안 위협 예측
2011년 보안 이슈와 2012년 보안 위협 예측Youngjun Chang
 
2. 악성코드 동적 분석 방법론
2. 악성코드 동적 분석 방법론2. 악성코드 동적 분석 방법론
2. 악성코드 동적 분석 방법론Youngjun Chang
 

What's hot (20)

1. 2009년 상반기 보안 위협 동향
1. 2009년 상반기 보안 위협 동향1. 2009년 상반기 보안 위협 동향
1. 2009년 상반기 보안 위협 동향
 
보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안
 
Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안Apt(advanced persistent threat) 공격의 현재와 대응 방안
Apt(advanced persistent threat) 공격의 현재와 대응 방안
 
Memory forensics with volatility
Memory forensics with volatilityMemory forensics with volatility
Memory forensics with volatility
 
보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법
 
1. 보안 위협 동향과 주요 보안 위협 특징
1. 보안 위협 동향과 주요 보안 위협 특징1. 보안 위협 동향과 주요 보안 위협 특징
1. 보안 위협 동향과 주요 보안 위협 특징
 
2010년 상반기 보안 위협 동향과 주요 보안 위협
2010년 상반기 보안 위협 동향과 주요 보안 위협2010년 상반기 보안 위협 동향과 주요 보안 위협
2010년 상반기 보안 위협 동향과 주요 보안 위협
 
2.악성 코드와 최근의 동향
2.악성 코드와 최근의 동향2.악성 코드와 최근의 동향
2.악성 코드와 최근의 동향
 
5. system level reversing
5. system level reversing5. system level reversing
5. system level reversing
 
지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석지능형지속위협공격 최신동향 분석
지능형지속위협공격 최신동향 분석
 
보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안보안 위협 동향과 대응 방안
보안 위협 동향과 대응 방안
 
IT보안과 사회공학(Social Engineering)
IT보안과 사회공학(Social Engineering)IT보안과 사회공학(Social Engineering)
IT보안과 사회공학(Social Engineering)
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안
 
2007년 6월 악성코드 최신 동향과 대응
2007년 6월 악성코드 최신 동향과 대응2007년 6월 악성코드 최신 동향과 대응
2007년 6월 악성코드 최신 동향과 대응
 
악성코드와 기업의 악성코드 대응
악성코드와 기업의 악성코드 대응악성코드와 기업의 악성코드 대응
악성코드와 기업의 악성코드 대응
 
SNS 보안 위협 사례
SNS 보안 위협 사례SNS 보안 위협 사례
SNS 보안 위협 사례
 
악성코드 분석 도구
악성코드 분석 도구악성코드 분석 도구
악성코드 분석 도구
 
1. 악성코드 진단 기법 개론
1. 악성코드 진단 기법 개론1. 악성코드 진단 기법 개론
1. 악성코드 진단 기법 개론
 
2011년 보안 이슈와 2012년 보안 위협 예측
2011년 보안 이슈와 2012년 보안 위협 예측2011년 보안 이슈와 2012년 보안 위협 예측
2011년 보안 이슈와 2012년 보안 위협 예측
 
2. 악성코드 동적 분석 방법론
2. 악성코드 동적 분석 방법론2. 악성코드 동적 분석 방법론
2. 악성코드 동적 분석 방법론
 

Viewers also liked

온라인 게임 핵 악성코드 분석
온라인 게임 핵 악성코드 분석온라인 게임 핵 악성코드 분석
온라인 게임 핵 악성코드 분석Namjun Kim
 
몽고디비사용자교육2일차 v0.5
몽고디비사용자교육2일차 v0.5몽고디비사용자교육2일차 v0.5
몽고디비사용자교육2일차 v0.5seung-hyun Park
 
R과sql비교 퀵하게보기
R과sql비교 퀵하게보기R과sql비교 퀵하게보기
R과sql비교 퀵하게보기seung-hyun Park
 
OOPS in javascript
OOPS in javascriptOOPS in javascript
OOPS in javascriptVijaya Anand
 
Why javaScript?
Why javaScript?Why javaScript?
Why javaScript?Kim Hunmin
 
Big query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetupBig query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetupJude Kim
 
BeLAUNCH2014 x HACKATHON week 3
BeLAUNCH2014 x HACKATHON week 3BeLAUNCH2014 x HACKATHON week 3
BeLAUNCH2014 x HACKATHON week 3Chan Lee
 
미티어 리엑티비티 ( reactivity of meteor )
미티어 리엑티비티 ( reactivity of meteor ) 미티어 리엑티비티 ( reactivity of meteor )
미티어 리엑티비티 ( reactivity of meteor ) seung-hyun Park
 
Javascript and Web Performance
Javascript and Web PerformanceJavascript and Web Performance
Javascript and Web PerformanceJonathan Jeon
 
1. 미티어의 폴더구조
1. 미티어의 폴더구조1. 미티어의 폴더구조
1. 미티어의 폴더구조seung-hyun Park
 
Google Apps를 활용한 Smart Work 구축
Google Apps를 활용한 Smart Work 구축Google Apps를 활용한 Smart Work 구축
Google Apps를 활용한 Smart Work 구축선진 장
 
Meteor Korea DEV School 1st day
Meteor Korea DEV School 1st dayMeteor Korea DEV School 1st day
Meteor Korea DEV School 1st dayseung-hyun Park
 
142 리눅스와 모바일 day1-track4_2_v1.5
142 리눅스와 모바일 day1-track4_2_v1.5142 리눅스와 모바일 day1-track4_2_v1.5
142 리눅스와 모바일 day1-track4_2_v1.5NAVER D2
 
Ksug2015 jpa4 객체지향쿼리
Ksug2015 jpa4 객체지향쿼리Ksug2015 jpa4 객체지향쿼리
Ksug2015 jpa4 객체지향쿼리Younghan Kim
 

Viewers also liked (20)

온라인 게임 핵 악성코드 분석
온라인 게임 핵 악성코드 분석온라인 게임 핵 악성코드 분석
온라인 게임 핵 악성코드 분석
 
몽고디비사용자교육2일차 v0.5
몽고디비사용자교육2일차 v0.5몽고디비사용자교육2일차 v0.5
몽고디비사용자교육2일차 v0.5
 
R과sql비교 퀵하게보기
R과sql비교 퀵하게보기R과sql비교 퀵하게보기
R과sql비교 퀵하게보기
 
OOPS in javascript
OOPS in javascriptOOPS in javascript
OOPS in javascript
 
Why javaScript?
Why javaScript?Why javaScript?
Why javaScript?
 
Big query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetupBig query at GDG Korea Cloud meetup
Big query at GDG Korea Cloud meetup
 
BeLAUNCH2014 x HACKATHON week 3
BeLAUNCH2014 x HACKATHON week 3BeLAUNCH2014 x HACKATHON week 3
BeLAUNCH2014 x HACKATHON week 3
 
미티어 리엑티비티 ( reactivity of meteor )
미티어 리엑티비티 ( reactivity of meteor ) 미티어 리엑티비티 ( reactivity of meteor )
미티어 리엑티비티 ( reactivity of meteor )
 
Javascript and Web Performance
Javascript and Web PerformanceJavascript and Web Performance
Javascript and Web Performance
 
3. collection
3. collection3. collection
3. collection
 
1. 미티어의 폴더구조
1. 미티어의 폴더구조1. 미티어의 폴더구조
1. 미티어의 폴더구조
 
Google Apps를 활용한 Smart Work 구축
Google Apps를 활용한 Smart Work 구축Google Apps를 활용한 Smart Work 구축
Google Apps를 활용한 Smart Work 구축
 
5.router
5.router5.router
5.router
 
6.accounts
6.accounts6.accounts
6.accounts
 
Meteor Korea DEV School 1st day
Meteor Korea DEV School 1st dayMeteor Korea DEV School 1st day
Meteor Korea DEV School 1st day
 
4. publish / subscribe
4. publish / subscribe4. publish / subscribe
4. publish / subscribe
 
142 리눅스와 모바일 day1-track4_2_v1.5
142 리눅스와 모바일 day1-track4_2_v1.5142 리눅스와 모바일 day1-track4_2_v1.5
142 리눅스와 모바일 day1-track4_2_v1.5
 
Querydsl
QuerydslQuerydsl
Querydsl
 
Ksug2015 jpa4 객체지향쿼리
Ksug2015 jpa4 객체지향쿼리Ksug2015 jpa4 객체지향쿼리
Ksug2015 jpa4 객체지향쿼리
 
2. template
2. template2. template
2. template
 

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

악성코드와 개인 정보 보호
악성코드와 개인 정보 보호악성코드와 개인 정보 보호
악성코드와 개인 정보 보호Youngjun Chang
 
악성코드와 분석 방법
악성코드와 분석 방법악성코드와 분석 방법
악성코드와 분석 방법Youngjun Chang
 
2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법Youngjun Chang
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안Youngjun Chang
 
악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안Youngjun Chang
 
1.악성코드 최신 동향과 기법
1.악성코드 최신 동향과 기법1.악성코드 최신 동향과 기법
1.악성코드 최신 동향과 기법Youngjun Chang
 
2.악성코드와 분석 방안
2.악성코드와 분석 방안2.악성코드와 분석 방안
2.악성코드와 분석 방안Youngjun Chang
 
[KCC poster]정준영
[KCC poster]정준영[KCC poster]정준영
[KCC poster]정준영Junyoung Jung
 
사물인터넷 보안 사례 및 대응 방안 2016.11.09
사물인터넷 보안 사례 및 대응 방안   2016.11.09사물인터넷 보안 사례 및 대응 방안   2016.11.09
사물인터넷 보안 사례 및 대응 방안 2016.11.09Hakyong Kim
 
사물인터넷 시대의 보안 이슈와 대책
사물인터넷 시대의 보안 이슈와 대책사물인터넷 시대의 보안 이슈와 대책
사물인터넷 시대의 보안 이슈와 대책Hakyong Kim
 
[2013 CodeEngn Conference 09] proneer - Malware Tracker
[2013 CodeEngn Conference 09] proneer - Malware Tracker[2013 CodeEngn Conference 09] proneer - Malware Tracker
[2013 CodeEngn Conference 09] proneer - Malware TrackerGangSeok Lee
 
Cybereason in Korea, SMEC
Cybereason in Korea, SMECCybereason in Korea, SMEC
Cybereason in Korea, SMECSMEC Co.,Ltd.
 
2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법Youngjun Chang
 
(130511) #fitalk utilization of ioc, ioaf and sig base
(130511) #fitalk   utilization of ioc, ioaf and sig base(130511) #fitalk   utilization of ioc, ioaf and sig base
(130511) #fitalk utilization of ioc, ioaf and sig baseINSIGHT FORENSIC
 
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...jason min
 
악성코드 최신 동향과 기법
악성코드 최신 동향과 기법악성코드 최신 동향과 기법
악성코드 최신 동향과 기법Youngjun Chang
 
net helper7 통합 제안서_시온
net helper7 통합 제안서_시온net helper7 통합 제안서_시온
net helper7 통합 제안서_시온시온시큐리티
 
악성코드 동향 및 대응 방안
악성코드 동향 및 대응 방안악성코드 동향 및 대응 방안
악성코드 동향 및 대응 방안Youngjun Chang
 

Similar to 보안 위협과 악성코드 분석 기법 (19)

악성코드와 개인 정보 보호
악성코드와 개인 정보 보호악성코드와 개인 정보 보호
악성코드와 개인 정보 보호
 
악성코드와 분석 방법
악성코드와 분석 방법악성코드와 분석 방법
악성코드와 분석 방법
 
2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안
 
악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안악성코드 최신 동향과 분석 방안
악성코드 최신 동향과 분석 방안
 
1.악성코드 최신 동향과 기법
1.악성코드 최신 동향과 기법1.악성코드 최신 동향과 기법
1.악성코드 최신 동향과 기법
 
2.악성코드와 분석 방안
2.악성코드와 분석 방안2.악성코드와 분석 방안
2.악성코드와 분석 방안
 
[KCC poster]정준영
[KCC poster]정준영[KCC poster]정준영
[KCC poster]정준영
 
사물인터넷 보안 사례 및 대응 방안 2016.11.09
사물인터넷 보안 사례 및 대응 방안   2016.11.09사물인터넷 보안 사례 및 대응 방안   2016.11.09
사물인터넷 보안 사례 및 대응 방안 2016.11.09
 
사물인터넷 시대의 보안 이슈와 대책
사물인터넷 시대의 보안 이슈와 대책사물인터넷 시대의 보안 이슈와 대책
사물인터넷 시대의 보안 이슈와 대책
 
악성코드 개론
악성코드 개론 악성코드 개론
악성코드 개론
 
[2013 CodeEngn Conference 09] proneer - Malware Tracker
[2013 CodeEngn Conference 09] proneer - Malware Tracker[2013 CodeEngn Conference 09] proneer - Malware Tracker
[2013 CodeEngn Conference 09] proneer - Malware Tracker
 
Cybereason in Korea, SMEC
Cybereason in Korea, SMECCybereason in Korea, SMEC
Cybereason in Korea, SMEC
 
2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법
 
(130511) #fitalk utilization of ioc, ioaf and sig base
(130511) #fitalk   utilization of ioc, ioaf and sig base(130511) #fitalk   utilization of ioc, ioaf and sig base
(130511) #fitalk utilization of ioc, ioaf and sig base
 
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...20171212 [ai times] 'ai'   인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
20171212 [ai times] 'ai' 인공지능-ai security 개발을 위한 시도 - 1 (nlp 모델 테스트 2.2.11)...
 
악성코드 최신 동향과 기법
악성코드 최신 동향과 기법악성코드 최신 동향과 기법
악성코드 최신 동향과 기법
 
net helper7 통합 제안서_시온
net helper7 통합 제안서_시온net helper7 통합 제안서_시온
net helper7 통합 제안서_시온
 
악성코드 동향 및 대응 방안
악성코드 동향 및 대응 방안악성코드 동향 및 대응 방안
악성코드 동향 및 대응 방안
 

More from Youngjun Chang

Volatility를 이용한 memory forensics
Volatility를 이용한 memory forensicsVolatility를 이용한 memory forensics
Volatility를 이용한 memory forensicsYoungjun Chang
 
3. windows system과 rootkit
3. windows system과 rootkit3. windows system과 rootkit
3. windows system과 rootkitYoungjun Chang
 
2. windows system과 file format
2. windows system과 file format2. windows system과 file format
2. windows system과 file formatYoungjun Chang
 
6. code level reversing
6. code level reversing6. code level reversing
6. code level reversingYoungjun Chang
 
중국 보안 위협 동향
중국 보안 위협 동향중국 보안 위협 동향
중국 보안 위협 동향Youngjun Chang
 
3. 악성코드 분석 사례
3. 악성코드 분석 사례3. 악성코드 분석 사례
3. 악성코드 분석 사례Youngjun Chang
 

More from Youngjun Chang (6)

Volatility를 이용한 memory forensics
Volatility를 이용한 memory forensicsVolatility를 이용한 memory forensics
Volatility를 이용한 memory forensics
 
3. windows system과 rootkit
3. windows system과 rootkit3. windows system과 rootkit
3. windows system과 rootkit
 
2. windows system과 file format
2. windows system과 file format2. windows system과 file format
2. windows system과 file format
 
6. code level reversing
6. code level reversing6. code level reversing
6. code level reversing
 
중국 보안 위협 동향
중국 보안 위협 동향중국 보안 위협 동향
중국 보안 위협 동향
 
3. 악성코드 분석 사례
3. 악성코드 분석 사례3. 악성코드 분석 사례
3. 악성코드 분석 사례
 

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

  • 1. 보안 위협의 형태와 악성코드 분석 기법 2010.06.30 ㈜ 안철수연구소 ASEC (AhnLab Security Emergency response Center) Anti-Virus Researcher, CISSP 장 영 준 선임 연구원
  • 2. 목 차 1. 2010년 상반기 보안 위협 동향 2. 악성코드의 특징과 진단 기법 3. 악성코드의 분석 기법 4. 악성코드의 분석 사례 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 3. 1. 2010년 상반기 보안 위협 동향 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 4. 1. 2010년 상반기 보안 위협 동향 모든 보안 위협의 기본은 사회 공학 기법 허위 백신의 고도화된 감염 기법 진단, 치료가 어렵도록 발전하는 악성코드 제로 데이 취약점은 타켓 공격의 수단 보안 위협 다중 감염 경로와 다중 감염 기법 본격적인 SNS 기반의 보안 위협 양산 다양화되는 스마트폰 보안 위협 4 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 5. 1. 2010년 상반기 보안 위협 동향 1) 모든 보안 위협의 기본은 사회 공학 기법  사회 공학 기법은 현재 발생하는 모든 보안 위협에서 기본적으로 사용되고 있음.  타켓 공격을 위한 전자 메일은 수신인이 보안 위협에 대한 인식이 어렵도록 작성.  허위 백신은 감염된 PC의 사용자에게 한국어로 과장된 위협의 정보를 극대화 하여 전달.  동계 올림픽과 남아공 월드컵 등 사회적인 주요 이슈를 악용해 악성코드 유포. [ 2월 해외 허위 백신의 한국어 사용] 5 [ 6월 BC카드로 위장해 악성코드 유포] Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 6. 1. 2010년 상반기 보안 위협 동향 2) 허위 백신의 고도화된 감염 기법  다른 악성코드에 의해 다운로드 되는 방식에서 직접적인 감염 방식으로 변화.  BlackHat SEO 기법으로 특정 단어 검색시 허위 백신을 설치하는 웹 페이지를 상위권 노출.  SNS 사이트를 중심으로 더 많은 사람들이 감염 될 수 있는 환경을 지속적으로 찾고 있음. [ 3월 BlackHat SEO 기법으로 악성코드 유포] 6 [ 6월 트위터 메일로 위장한 허위 백신] Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 7. 1. 2010년 상반기 보안 위협 동향 3) 진단, 치료가 어렵도록 발전하는 악성코드  기술적으로 진단 및 치료가 까다로운 형태의 악성코드가 지속적으로 발견.  정상 프로세스의 메모리 영역에서만 동작하는 지봇(Zbot) 및 브레도랩(Bredolab) 변형들 유포.  하드 디스크의 언파티션드(Unpartitioned) 영역에서 동작하는 TDL루트킷(TDLRootkit) 유포.  윈도우 시스템 관련 파일들을 패치하는 패쳐(Patcher) 변형들 유포.  뚜렷한 증상이 보이지 않아 PC 사용자들이 감염에 대해 쉽게 인식하기가 어려움. [2월 세금 고지 메일로 위장한 Zbot 변형] [3월 윈도우 시스템 파일을 패치하는 악성코드] 7 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 8. 1. 2010년 상반기 보안 위협 동향 4) 제로 데이 취약점은 타켓 공격의 수단  2010년 상반기에 악용된 제로 데이 취약점은 총 5건으로 MS 3건, Adobe 2건.  그 중 타켓 공격에 악용된 제로데이 취약점은 2건으로 모두 MS 인터넷 익스플로러 관련 취약점.  제한 된 대상자를 공격하는 타켓 공격 시 보안 제품의 탐지가 어려운 제로 데이 취약점 악용.  2건의 제로 데이 취약점을 악용한 타켓 공격은 전자 메일 본문에 악의적인 웹 사이트 링크를 포함. [3월 타켓 공격에 악용된 MS10-018 취약점] 8 [6월 윈도우 도움말 센터 취약점 악용] Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 9. 1. 2010년 상반기 보안 위협 동향 5) 다중 감염 경로와 다중 감염 기법  악의적인 웹 사이트와 전자 메일의 결합 형태로 소프트웨어 취약점을 악용해 악성코드 유포  피싱 웹 사이트에서 악성코드를 유포하여 개인 정보 탈취 목적을 위한 2중 감염 수단을 활용  PC 사용자의 보안 위협 인식에 대한 악성코드 제작자의 대응 수단 변화. [2월 피싱 웹 사이트에서 악성코드 유포] 9 [2월 2중 감염 수단을 사용한 Zbot 변형] Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 10. 1. 2010년 상반기 보안 위협 동향 6) 본격적인 SNS 기반의 보안 위협 양산  신뢰 할 수 있는 사람으로부터 전달 된 흥미로운 내용으로 위장한 사회 공학 기법 통해 빠른 확산.  140자 제한으로 인해 간략한 머리글에 대한 호기심으로 단축 URL 클릭.  단축 URL 사용으로 어떠한 웹 사이트로 연결 되는지 쉽게 판단하기 어려움.  2월과 3월에는 트위터에서 단축 URL을 이용해 악성코드 유포 및 피싱 웹 사이트 유도 사례 발견.  5월에는 SNS 웹 사이트를 악성코드 조정을 위한 C&C 시스템으로 악용하는 사례 발견. [2월 트위터에서 피싱 웹 사이트 단축 URL 유포] 10 [5월 트위터로 조정하는 봇넷 생성기] Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 11. 1. 2010년 상반기 보안 위협 동향 7) 다양화되는 모바일 보안 위협  스마트폰 사용이 증가함과 동시에 모바일 보안 위협 역시 동반 증가.  2009년 아이폰 관련 악성코드에 이어 4월 국내에서 윈도우 모바일에 감염되는 악성코드인 트레드다이얼(TredDial)의 실제 감염 피해 사례 발생.  무단으로 국제전화를 발신하여 감염된 윈도우 모바일 사용자에게 과도한 국제전화 사용료 발생. [4월 윈도우 모바일에 감염되는 트레드다이얼] 11 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 12. 2. 악성코드의 특징과 진단 기법 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 13. 2. 악성코드의 특징과 진단 기법 1) 바이러스 (Virus) 일반적으로 감염대상이 되는 프로그램 또는 코드에 자신의 코드 및 변형 코드를 삽 입 주로 컴퓨터 시스템 내부에서만 감염 및 확산 예) Brian, Michelangelo, CIH, FunLove, Nimda, Klez 등 프로그램 감염전 Entry Point 감염후 프로그램 바이러스 Entry Point [후 위형 바이러스] 바이러스 프로그램 Entry Point [전 위형 바이러스] 13 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 14. 2. 악성코드의 특징과 진단 기법 2) 웜 (Worm) 컴퓨터의 기억장소 또는 내부에 코드 또는 실행파일 형태로 존재 실행 시 파일이나 코드를 네트워크, 전자메일과 인스턴트 메신저 프로그램 등을 통해 다른 시스템으로 자기 복제를 시도하는 형태 예) CodeRed, Blaster, Sasser, Bagle, Netsky, MyDoom 등 [네트워크를 이용한 전파] [전자 메일과 I.M를 이용한 전파] 14 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 15. 2. 악성코드의 특징과 진단 기법 3) 트로이목마 (Trojan Horse) 자기 자신을 복제하지 않지만 악의적 기능을 포함하는 프로그램 악의적 목적에 적극적으로 활용되는 프로그램 또는 데이터 형태 예) LinegaeHack, PeepViewer, Optix, BackOrifice 등 [웹 사이트 해킹을 통한 트로이목마의 대량 확산 ] 15 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 16. 2. 악성코드의 특징과 진단 기법 4) String 기반 진단 악성코드 내부 특정 코드 영역을 진단의 위치로 선정 가장 간단하고 빠르게 진단할 수 있는 기법 [Win-Trojan/OnlineGameHack.86016.CC 의 String 일부] 16 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 17. 2. 악성코드의 특징과 진단 기법 5) Generic 진단 특정 악성코드 집합의 공통된 OPcode(Operation Code) 영역을 진단 위치로 선정 알려지지 않은 변형들에 대해 유연하게 대응 가능 [Win-Trojan/OnlineGameHack.86016.CC의 I.E 인젝션 코드 일부] 17 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 18. 2. 악성코드의 특징과 진단 기법 6) Heuristic진단 기존에 알려진 악성코드의 일반적인 특성을 바탕으로 그와 얼마나 유사한 코드를 가지고 있는가를 비교 * Static Heuristic Detection 악성코드의 실행 없이 기존 악성코드와 얼마나 많은 유사한 코드를 가지고 있는가를 비교 판단 * Dynamic Heuristic Detection SandBox 또는 Emulator Buffer 를 이용하여 악성코드 실행 시 나타나는 증상을 바탕으로 기존에 알려진 악성코드와 얼마나 유사한가를 판단 18 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 19. 3. 악성코드의 분석 기법 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 20. 3. 보안 위협의 분석 기법 1) Reverse Engineering (1) 1) Reverse Engineering은 인공적으로 만들어진 사물(자동차, 제트 엔진, 소프트웨어 프로그램 등)을 분해해서 설계나 구조와 같은 세밀한 사항들을 분석 하는 과정 20 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 21. 3. 보안 위협의 분석 기법 1) Reverse Engineering (2) 1) Reverse Engineering은 약어로 RE (Reverse Engineering) 또는 RCE (Reverse Code Engineering)로 이야기 함 21 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 22. 3. 보안 위협의 분석 기법 2) Software Reverse Engineering 1) Software Reverse Engineering은 소스코드나 관련 문서가 없는 프로그램에서 설 계나 구현 내용을 알아내는 작업 2) Software Reverse Engineering 범위 * 보안 – 악성 코드 분석, 암호화 알고리즘 분석, 프로그램 바이너리 감사 * 소프트웨어 개발 – 소프트웨어 상호 운용 검증, 소프트웨어 품질 및 안정성 검증 22 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 23. 3. 보안 위협의 분석 기법 3) Reverse Engineering Process 1) Reverse Engineering Process * 동적 분석 (Dynamic Analysis, System Level Reversing) 각종 툴과 운영체제의 다양한 서비스를 이용해서 프로그램 실행 파일과 입출력 값 등을 조사해서 정보를 분석하는 일련의 과정 * 정적 분석 (Static Analysis, Code Level Reversing) 소프트웨어 개발 및 CPU와 운영체제에 대한 깊은 이해를 바탕으로 Low Level에서 소프트웨어가 어떻게 동작하는지 분석하는 일련의 과정 동적 분석 (Dynamic Analysis) 분석 23  정적 분석 (Static Analysis) 프로세스 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 24. 3. 보안 위협의 분석 기법 4) Reverse Engineering Tools 1) Reverse Engineering Tools * System Monitoring Tools 리버싱 대상 어플리케이션과 동작 환경에 대해 수집된 정보들인 네트워킹, 파일 접 근, 레지스트리 젒근, 뮤텍스, 파이프, 이벤트 등의 정보들을 보여주는 유틸리티 * Disassembler와 Debugger Disassembler – 프로그램의 실행 바이너리를 입력 받아 전체나 일부분을 어셈블리 언어 코드로 변환 해주는 프로그램 Debugger – 실행 중인 프로그램의 코드를 추적할 수 있도록 해주는 프로그램 24 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 25. 3. 보안 위협의 분석 기법 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 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 26. 3. 보안 위협의 분석 기법 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 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 27. 3. 보안 위협의 분석 기법 7) System Level Reversing 환경 (1) 1) 실제 컴퓨터 시스템 환경 일반 하드웨어를 이용한 윈도우 시스템 구성 그리고 외부 네트워크와 단절된 독립 네트워크를 구성 - 시스템 복구 솔루션 Symantec Norton Ghost 또는 Acronis True Image 처럼 시스템 전체를 이미지화 후 복구 가능한 솔루션 27 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 28. 3. 보안 위협의 분석 기법 8) System Level Reversing 환경 (2) 1) 가상화 시스템 이용 시스템 가상화 솔루션을 이용하여 가상의 윈도우 시스템과 가상의 네트워크를 구성 - 가상화 솔루션 Windows Virtual PC, VMware와 VirtualBox를 이용하여 하드웨어에 영향 받지 않 는 가상화 운영체제 지원 솔루션 28 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 29. 3. 보안 위협의 분석 기법 9) Malicious Code Reversing Process 동적 분석 (Dynamic Analysis) 파일 분석 증상 분석  정적 분석 (Static Analysis) 정보 분석 코드 분석 엔진 제작 1. 파일 형태 분석 1. 시스템 분석 1. 증상 추가 분석 1. 디스어셈블링 1. 악성코드 판단 2. 사용 API 분석 2. 프로세스 분석 2. 각종 정보 수집 2. 디버깅 2. 진단 시그니쳐 및 함수 제작 3. 문자열 분석 3. 레지스트리 분석 3. 관련 사항 확인 3. 분석정보 작성 4. 네트워크 분석 5. 기타 증상 분석 분석 29 프로세스 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 30. 3. 보안 위협의 분석 기법 10) PE File 분석 – Fileinsight와 PEView - Hex Editing, 파일 구조, EP 계산, IAT와 EAT 구분 - 30 4개의 창으로 구분 지원, 구조에 따른 블럭화 표시 Disassembly 지원 , 파일 다운로드 기능 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 31. 3. 보안 위협의 분석 기법 11) Script File 분석 - Malzilla - 31 스크립트 파일 구조 및 Decoding 분석 Shellcode 분석 및 파일 다운로드 지원 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 32. 3. 보안 위협의 분석 기법 12) Office File 분석 – Offvis와 OfficeMalScanner - Office 파일의 구조 분석 - 32 Office 파일에 포함된 취약점 확인 취약한 Office 파일의 파일 Offset 위치 확인 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 33. 3. 보안 위협의 분석 기법 13) PDF File 분석 – PDFid와 PDFtk - PDF 파일 구조 중의 취약한 부분 - 33 PDF 파일의 Zlib 압축 해제 취약한 PDF 파일 내부의 Java Script 추출 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 34. 3. 보안 위협의 분석 기법 14) Process, Memory 및 Thread 분석 – Process Hacker - 34 Process, Services와 Network 실시간 모니터링 Memory Dump, String Scan, Thread와 Handle 모니터링 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 35. 3. 보안 위협의 분석 기법 15) File과 Registry 변화 분석 - SysAnalyzer - 특정 파일에 의해 호출되는 API 모니터링 - Network Traffice 모니터링 - 35 특정 파일에 의해 File과 Registry 변화 모니터링 사용하는 Network Port 모니터링 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 36. 3. 보안 위협의 분석 기법 16) 은폐형 파일 분석 - Gmer - 36 다양한 은폐 기법으로 은폐된 프로세스, 파일 및 레지스트리 분석 Process, Modules, Services와 Autostart 분석 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 37. 3. 보안 위협의 분석 기법 17) Network Traffic 분석 - Wireshark - 37 시스템의 Network Traffic 실시간 분석 Protocol과 Packet 분석 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 38. 3. 보안 위협의 분석 기법 18) Code Level Reversing 1) 프로그램의 설계 의도를 간파하거나 프로그램 바이너리에서 알고리즘을 파악하기 위해 소프트웨어 개발, CPU, 운영체제 등에 대한 깊은 이해를 바탕으로 정보를 프로 그램 제작 목적 및 방식을 파악하는 일련의 과정 2) Code Level Reversing은 분석 대상이 되는 파일을 실행하지 않는다는 의미에서 정 적 분석 또는 Static Analysis 라고도 함 3) System Level Reversing과 비교하여 더 많은 분석 시간을 요구하나 프로그램의 상 세한 기능들을 파악 할 수 있음 38 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 39. 3. 보안 위협의 분석 기법 19) Debugger 1) Debugger는 소프트웨어 개발자가 프로그램의 오류를 찾아내고 수정 할 수 있도록 도와주기 위한 유틸리티 2) 대부분의 Debugger는 소스코드 없이 어셈블리 어언상에서 실행의 흐름을 따라갈 수 있는 기능을 제공 3) Software Breakpoint는 프로그램 실행 시에 디버거가 프로그램 코드 사이에 명령 을 삽입하는 방식 삽입된 명령에 도달하면 프로세서는 프로그램 실행을 일시 정지하고 제어권을 디버 거에게 넘김 4) Hardware Breakpoint는 CPU의 특별한 기능으로 어떤 특정 메모리 주소에 대한 접 근이 이루어지면 프로세서가 프로그램 실행을 일시 정지하고 제어권을 디버거에게 넘김 5) Debugger는 크게 User Mode Debugger와 Kernel Mode Debugger로 구분 39 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 40. 3. 보안 위협의 분석 기법 20) User Mode Debugger 1) User Mode Debugger는 일반적인 User Mode 어플리케이션을 디버깅하기 위해 사용 2) User Mode Debugger는 디버깅 대상(Debuggee) 프로세스에 붙어 해당 프로세스 에 대한 모든 제어를 수행할 수 있는 전통적인 어플리케이션 3) User Mode Debugger는 Kernel Mode Debugger와 달리 디버거 자체가 시스템 상의 프로그램임으로 설치 및 사용이 간편 40 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 41. 3. 보안 위협의 분석 기법 21) User Mode Debugger 어플리케이션 1) OllyDbg는 리버싱을 위해서 설계된 디버깅 프로그램 2) WinDbg는 마이크로소프트에서 개발한 디버깅 프로그램 커맨드 라인 인터페이스 제공 3) IDA Pro는 강력한 디스어셈블리어인 동시에 유저 모드 디버깅 프로그램 41 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 42. 3. 보안 위협의 분석 기법 22) Kernel Mode Debugger 1) Kernel Mode Debugger는 대상 시스템 전체를 제어 할 수 있으며 시스템에서 발생 하는 어플리케이션 코드와 운영체제 코드 내부에서 발생하는 모든 것을 볼 수 있음 2) Kernel Mode Debugger는 운영체제에서 실행되는 하나의 어플리케이션이 아니라 시스템의 커널과 동등한 컴포넌트로 존재하여 전체적인 시스템을 관찰하거나 실행 을 중지 할 수 있음 42 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 43. 3. 보안 위협의 분석 기법 23) Kernel Mode Debugger 어플리케이션 1) SoftICE는 윈도우 디바이스 드라이버 개발 툴로 개발되어 로컬 커널 디버깅 수행 2) WinDBG는 커널 모드 디버깅이 가능하나 원격 커널 모드 디버깅 수행 43 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 44. 3. 보안 위협의 분석 기법 24) Dissasembler 1) Dissasembler는 바이너리 기계 코드를 해석해서 사람이 읽을 수 있는 어셈블리 언 어로 변환 2) Dissasembler는 코드의 각 명령을 해석해서 문자 형태로 표현할 뿐이며 바이너리 자체를 실행 시키지는 않음 44 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 45. 3. 보안 위협의 분석 기법 25) Dissasembler 어플리케이션 1) IDA Pro 가장 강력한 디스어셈블러이며 다양한 형태의 실행 파일 포맷을 지원함 2) 주요 기능으로 바이너리의 순서도로 디스어셈블된 코드의 논리적인 흐름을 그림으 로 보여주어 코드 내부의 각 조건문이 함수의 실행 흐름에 어떠한 영향을 주는지 시 각적인 이미지 제공 45 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 46. 4. 악성코드의 분석 사례 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 47. 4. 악성코드의 분석 사례 1) Dropper/PcClient.47873 은폐 기능을 수행하며 별도의 파일들을 생성하는 드로퍼 (Dropper) 형태의 트로이목마 1) Visual C++로 제작 2) 윈도우 시스템 폴더에 2개의 DLL 파일과 1개의 드라이버 파일 생성 3) 생성한 드라이버 파일을 이용한 커널 모드(Kernel Mode) 은폐 기능 수행 4) 생성한 파일들에 대한 파일 및 레지스트리 은폐 기능 수행 5) 실행한 인터넷 익스플로러의 프로세스 및 네트워크 포트 은폐 기능 수행 6) 실행한 인터넷 익스플로러를 이용하여 외부 특정 시스템으로 접속 시도 7) 접속한 시스템을 통하여 제3의 시스템으로 재접속 후 공격자의 명령 수행 8) 실행 중인 모든 프로세스에 스레드 (Thread)로 인젝션 (Injection)하여 사용자가 입력하는 모든 키보드 입력을 후킹 (Hooking) 47 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 48. 4. 악성코드의 분석 사례 2) 파일 형태 분석 헥사 코드(Hex Code)를 분석할 수 있는 유틸리티를 이용하여 파일 형태 분석 윈도우에서 실행이 가능하도록 제작된 PE (Portable Executable) 파일 .text, .rdata, .data의 3개의 PE (Portable Executable) 섹션 (Section)을 가지고 있음. 48 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 49. 4. 악성코드의 분석 사례 3) 파일 구조 분석 파일의 구조를 분석할 수 있는 유틸리티를 이용하여 파일의 구조 분석 단독으로 윈도우에서 실행이 가능 하도록 제작된 실행 파일 비주얼 C++로 제작 메모리에서 시작 주소 0x403466 49 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 50. 4. 악성코드의 분석 사례 4) 윈도우 API 분석 파일의 IAT (Import Address Table) 분석 툴로 윈도우 API 분석 다음의 API들을 사용함으로 정상 파일 이 아닐 것으로 추정 GetSystemDirectoryA Process32Next CreateRemoteThread GetModuleHandleA WriteProcessMemory OpenProcess AdjustTokenPrivileges OpenProcessToken LookupPrivilegeValueA 50 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 51. 4. 악성코드의 분석 사례 5) 파일 내부 문자열 분석 파일의 내부 문자열을 분석할 수 있는 유틸리티를 이용하여 분석 파일 내부 문자열에서는 정상 파일 또는 악성코드로 추정되는 특별한 내부 문자열을 확인 할 수 없음 51 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 52. 4. 악성코드의 분석 사례 6) 파일을 시스템에서 실행 시스템 변화를 분석 할 수 있는 유틸리티를 이용하여 파일을 시스템에서 실행 후 시스템 변화 분석 생성된 파일은 없으나 레지스트리 키 값 생성으로 특정 드라이버 파일을 서비스로 등록 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesyncqjmkq "ImagePath" Type: REG_EXPAND_SZ Data: C:WINDOWSsystem32driversyncqjmkq.sys 파일이 드라이버 파일을 생성하고 윈도우 서비스로 레지스트리에 등록한 것으로 확인 레지스트리 분석 유틸리티를 이용하여 해당 레지스트리 키 값을 검색해보았으나 정상 윈도우 모드에서 확인되지 않음 해당 드라이버 파일을 윈도우 시스템 폴더의 드라이버 폴더에서 검색 해보았으나 정상 윈도우 모드에서 확인되지 않음 52 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 53. 4. 악성코드의 분석 사례 7) 파일 실행 후 네트워크 분석 네트워크 포트와 패킷을 분석할 수 있는 유틸리티를 이용하여 시스템의 네트워크 분석 사용되는 포트가 없으나 특정 시스템으로 접속하는 네트워크 패킷이 분석됨 53 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 54. 4. 악성코드의 분석 사례 8) 파일 실행 후 시스템 추가 분석 (1) 현재까지 분석 상황으로 미루어 은폐형 악성코드로 의심됨으로 은폐 기능을 탐지 할 수 있는 유틸리티로 시스템 분석 은폐 기능 탐지 유틸리티를 이용하여 인터넷 익스플로러가 은폐되어 있는 것을 탐지 그 외의 파일들이 윈도우 시스템에서 은폐되어 있는 것을 탐지 54 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 55. 4. 악성코드의 분석 사례 8) 파일 실행 후 시스템 추가 분석 (2) 실행 파일이 생성한 파일들의 현재 상태를 유틸리티를 이용하여 추가 분석 실행 파일이 생성한 YNCQJMKQ.D1L 은 은폐된 인터넷 익스플로러에 핸들 (Handle)로 실 행 실행 파일이 생성한 YNCQJMKQ.DLL 은 실행 중인 프로세스들에 스레드 (Thread)로 인젝션 (Injection) 55 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 56. 4. 악성코드의 분석 사례 9) 파일 디버깅 및 디스어셈블링 (1) 실행 파일을 OllyDbg 를 이용하여 디버깅 실행 파일이 실행되면 시스템 사용자 계정의 임시 폴더 경로 확보 임시 폴더에 YNCQJMKQ.tmp, YNCQJMKQ.d1l 과 YNCQJMKQ.log 파일 생성 56 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 57. 4. 악성코드의 분석 사례 9) 파일 디버깅 및 디스어셈블링 (2) 윈도우 시스템 폴더 경로 확보 후 생성한 파일들 중 YNCQJMKQ.tmp 는 YNCQJMKQ.dll 로 파일명을 변경하여 윈도우 시스템 폴더로 복사 YNCQJMKQ.d1l 은 명칭 변경 없이 윈도우 시스템 폴더로 복사 복사 이후 YNCQJMKQ.sys를 윈도우 시스템 폴더 아래의 drivers 폴더에 생성 인터넷 익스플로러를 실행한 후 YNCQJMKQ.d1l 를 인터넷 익스플로러의 핸들(Handle)로 등록 후 실행 57 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 58. 4. 악성코드의 분석 사례 9) 파일 디버깅 및 디스어셈블링 (3) YNCQJMKQ.d1l 는 실행된 인터넷 익스플로러를 통해 다음 함수들을 이용하여 파일내 하드코딩 된 주소의 특정 시스템으로 접속 후 파일 다운로드 InternetSetOptionA, InternetOpenA, InternetOpenUrlA, InternetReadFile 58 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 59. 4. 악성코드의 분석 사례 9) 파일 디버깅 및 디스어셈블링 (4) YNCQJMKQ.d1l 는 다음 함수들을 호출 YNCQJMKQ.sys를 윈도우 서비스로 실 행 OpenSCManagerA, OpenServiceA CreateServiceA, StartServiceA YNCQJMKQ.sys는 KeServiceDescriptorTable 을 이용 하여 SSDT (System Service Descriptor Table) 후킹 (Hooking)을 하여 은폐 기능을 수행 ZwCreateFile, ZwQueryKey, ZwEnumerateValueKey, ZwEnumerateKey ZwQuerySystemInformation, ZwQueryDirectoryFile 59 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 60. 4. 악성코드의 분석 사례 9) 파일 디버깅 및 디스어셈블링 (5) YNCQJMKQ.dll를 CreateRemoteThread 함수를 이용 실행 중인 프로세스들에 스레드 (Thread) 로 인젝션(Injection) 후 실행 인젝션된 YNCQJMKQ.dll는 다음 함수들을 이용하여 사용자가 입력하는 키보드 입력을 후킹 SetWindowsHookExA, CallNextHookEx, GetKeyboardState, 60 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 61. * Reference 1) The Art of Virus Research and Defense 2) 리버싱 리버스 엔지니어링 비밀을 파헤치다 2) 리버스 엔지니어링 역분석 구조와 원리 3) 소프트웨어 보안 코드 깨부수기 4) 소프트웨어 보안 검사 기술 61 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.
  • 62. AhnLab The Joy of Care-Free Your Internet World ASEC Threat Research blog.ahnlab.com/asec/ ASEC Twitter Twitter.com/ASEC_TFT 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. 62 Copyright (C) AhnLab, Inc. 1988-2010. All rights reserved.