1. 악성코드 진단 기법 개론

12
악성코드 진단 기법 개론 2008.10.07 ㈜ 안철수연구소 AhnLab Security E-response Center Anti-Virus Researcher, CISSP 장 영 준 주임 연구원

Upload: youngjun-chang

Post on 12-Jun-2015

598 views

Category:

Technology


4 download

DESCRIPTION

2008년 서울여대 강의 자료

TRANSCRIPT

Page 1: 1. 악성코드 진단 기법 개론

악성코드 진단 기법 개론2008.10.07

㈜ 안철수연구소

AhnLab Security E-response Center

Anti-Virus Researcher, CISSP

장 영 준 주임 연구원

Page 2: 1. 악성코드 진단 기법 개론

2

1. PE (Portable Executable) Format

Win32 기반의 윈도우 운영체제에서 실행 가능한 파일 형식

PE 형식은 유닉스의 COFF(Common Object File Format)에서 유래

MZ 는 PE를 만든 Mark Zbilowski의 이니셜

1. PE Format 개론

[PE 파일]

Page 3: 1. 악성코드 진단 기법 개론

2. PE (Portable Executable) Format 파일 생성 순서

컴파일 링크

가독성이 있는 소스코드

심볼과 바이너리 코드

바이너리 코드

1. PE Format 개론

3

Page 4: 1. 악성코드 진단 기법 개론

3. PE (Portable Executable) Format 구조

PE와 관련된 구조체

PE Header 뒤에 오는 구조체의 배열

.text – 실행 가능한 코드 영역

.data – 초기화된 전역 변수 영역

.rdata – 읽기 전용 데이터 섹션

.idata – Import 함수 정보 영역

.edata – Export 함수 정보 영역

.rsrc – 리소스 데이터 영역

1. PE Format 개론

4

Page 5: 1. 악성코드 진단 기법 개론

4. PE (Portable Executable) Header시작점

로드주소

1. PE Format 개론

5

Page 6: 1. 악성코드 진단 기법 개론

5. Win32/Dellboy.AH에 의한 EP 변경

[정상 파일]

[감염 파일]

1. PE Format 개론

6

Page 7: 1. 악성코드 진단 기법 개론

5. Win32/Dellboy.AH에 의한 Section 변경

[정상 파일][감염 파일]

1. PE Format 개론

7

Page 8: 1. 악성코드 진단 기법 개론

5. Win32/Dellboy.AH에 의한 전체 구조 변경

Dos Header

Section 1 Header

Section 2 Header

.aaa1

.aaa2

PE Header

.aaa0

0h

400h

27800h

3566Ch

Dos Header

Section 1 Header

Section 2 Header

.text

.rdata

PE Header

NULL

NULL

.data ~ .rsrc

0h

1000h

8000h

D000h

[정상 파일]

(53,248 바이트)

[감염 파일]

(218,732 바이트)

Entry Point

55,8B,EC,6A

[165,484 바이트 증가]

400h

정상 파일

2864Eh

Entry Point

9C,60,E8,00

1. PE Format 개론

8

Page 9: 1. 악성코드 진단 기법 개론

2. 악성코드 진단 기법

1. String 기반 진단

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

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

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

9

Page 10: 1. 악성코드 진단 기법 개론

2. Generic 진단

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

진단 위치로 선정

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

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

2. 악성코드 진단 기법

10

Page 11: 1. 악성코드 진단 기법 개론

3. Heuristic진단

2. 악성코드 진단 기법

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

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

* Static Heuristic Detection

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

가지고 있는가를 비교 판단

* Dynamic Heuristic Detection

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

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

11

Page 12: 1. 악성코드 진단 기법 개론

Q&A

감사합니다

12