17
악성코드 분석 방법론과 기법 2008.10.07 ㈜ 안철수연구소 AhnLab Security E-response Center Anti-Virus Researcher, CISSP 장 영 준 주임 연구원

2. 악성코드 분석 방법론과 기법

Embed Size (px)

DESCRIPTION

2008년 서울여대 강의 자료

Citation preview

Page 1: 2. 악성코드 분석 방법론과 기법

악성코드 분석 방법론과 기법2008.10.07

㈜ 안철수연구소

AhnLab Security E-response Center

Anti-Virus Researcher, CISSP

장 영 준 주임 연구원

Page 2: 2. 악성코드 분석 방법론과 기법

2

1. 악성코드 분석을 위한 사전 지식

1. 악성코드 분석 방법론

윈도우 운영체제 이해

윈도우 네트워크 이해

윈도우 프로그램 이해

다양한 프로그램 언어 및 컴파일러 특성 이해

다양한 파일 구조 이해

파일 보호 기법 (Packer, Protector, Anti-Debugging, Encryption) 특성 이해

다양한 파일 포맷 분석에 필요한 유틸리티 활용법

2. 악성코드 분석 방법론

동적 분석 (Dynamic Analysis) – 파일 실행을 통한 증상 기반 분석,

시간소요 적음, 자세한 분석 어려움

정적 분석 (Static Analysis) – 리버스 엔지니어링 (Reverse Engineering) 을 통한

코드 기반 분석, 시간소요 많음, 자세한 분석 가능

Page 3: 2. 악성코드 분석 방법론과 기법

3

3. 악성코드 분석 프로세스

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

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

1. 파일 형태 분석

2. 사용 API 분석

3. 문자열 분석

1. 시스템 분석

2. 프로세스 분석

3. 레지스트리 분석

4. 네트워크 분석

5. 기타 증상 분석

1. 증상 추가 분석

2. 각종 정보 수집

3. 관련 사항 확인

1. 디스어셈블링

2. 디버깅

1. 악성코드 판단

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

3. 분석정보 작성

분 석 프 로 세 스

1. 악성코드 분석 방법론

Page 4: 2. 악성코드 분석 방법론과 기법

4

4. 악성코드 분석 환경

일반 하드웨어 이용

일반 하드웨어를 이용한 윈도우 시스템으로 구성

외부 네트워크와 단절된 독립 네트워크를 구성

가상 시스템 (Virtual System) 이용

MS의 Virtual PC 2007 또는 Vmware의 Vmware Workstation 을 이용한

가상 윈도우 시스템과 가상 네트워크를 구성

[Virtual PC 2007] [Vmware Workstation ]

1. 악성코드 분석 방법론

Page 5: 2. 악성코드 분석 방법론과 기법

5

2. 악성코드 분석 도구

1. 파일 분석

실행 파일의 구조와 헥사 코드(Hex Code) 분석

윈도우 – Frhed, WinHex

도스 – HE (Hexa Editor), HT(Hexa ediT), HIEW(Hackers vIEW)

[FrHed][PEView]

Page 6: 2. 악성코드 분석 방법론과 기법

6

2. 실행 파일 구조 분석

실행 파일의 구조 분석, 문자열 분석, 실행 파일 재생성

윈도우 – LoadPE, PE Tools, PEiD, PEView, Dependency Walker, Import ReConstructor

PE Explorer, Stud_PE, PE Validator, ProcDump, BinText, WinDiff

도스 – PeDump, Handle

[PE Tools]

[PEiD]

2. 악성코드 분석 도구

Page 7: 2. 악성코드 분석 방법론과 기법

2. 악성코드 분석 도구

3. 스크립트 파일 분석

인코딩된 스크립트 파일 분석

윈도우 – Malzilla (malzilla.sourceforge.net)

[Malzilla]

Page 8: 2. 악성코드 분석 방법론과 기법

8

4. 시스템 분석

Install Control for Windows – 시스템의 파일 변화, 레지스트리 변화 추적

InstallWatch – 시스템의 파일 변화, 레지스트리 변화 추적

Winalysis – 시스템의 파일 변화, 레지스트리 변화 및 기타 시스템 변화 추적

[Install Control for Windows]

[Winalysis]

2. 악성코드 분석 도구

Page 9: 2. 악성코드 분석 방법론과 기법

9

5. 프로세스 분석

Process Explorer – 시스템에 생성되는 프로세스 변화 분석

TaskInfo – 프로세스 변화 및 시스템 상태 분석

[Process Explorer] [TaskInfo]

2. 악성코드 분석 도구

Page 10: 2. 악성코드 분석 방법론과 기법

10

6. 레지스트리 분석

Registar Lite – 레지스트리 분석 및 편집

Reg.exe – 도스 모드 레지스트리 편집

[Reg.exe][Registar Lite]

2. 악성코드 분석 도구

Page 11: 2. 악성코드 분석 방법론과 기법

11

7. 네트워크 패킷 분석

Ethereal – 네트워크 패킷 분석

Analyzer – 네트워크 패킷 분석

[Ethereal] [Analyzer]

2. 악성코드 분석 도구

Page 12: 2. 악성코드 분석 방법론과 기법

12

8. 네트워크 포트 분석

TCPView – 실시간 네트워크 포트 분석

Active Ports – 실시간 네트워크 포트 분석

Fport – 도스 모드 네트워크 포트 분석

[TCPView] [Active ports]

2. 악성코드 분석 도구

Page 13: 2. 악성코드 분석 방법론과 기법

13

9. 시스템 모니터링

Process Monitor – 특정 프로세스의 파일, 레지스트리, 네트워크 엑세스

API Monitor – 특정 프로세스의 API 사용

[Process Monitor 실행]

2. 악성코드 분석 도구

Page 14: 2. 악성코드 분석 방법론과 기법

2. 악성코드 분석 도구

10. 은폐 파일 분석

GMER – 프로세스, 파일, 레지스트리 및 네트워크 은폐 탐지와 분석

F-Secure BlackLight – 프로세스, 파일, 레지스트리 및 네트워크 은폐 탐지와 분석

[GMER 실행] [F-Secure BlackLight 실행]

Page 15: 2. 악성코드 분석 방법론과 기법

15

11. 실행 파일 디스어셈블링

W32Dasm – 실행 파일 디스어셈블링과 디버깅

IDA – 실행 파일 디스어셈블링

[W32Dasm 실행]

[IDA 실행]

2. 악성코드 분석 도구

Page 16: 2. 악성코드 분석 방법론과 기법

16

13. 실행 파일 디버깅

WinDBG – 실행 파일 디버거

SoftIce – 강력한 커널 모드 디버깅

OllyDbg – 범용 실행 파일 디버거

[OllyDbg 실행] [SoftICE 실행]

2. 악성코드 분석 도구

Page 17: 2. 악성코드 분석 방법론과 기법

Q&A

감사합니다