27
악성코드 유사도 분석기술 동향 2013. 4. 22

악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

악성코드 유사도 분석기술 동향

2013. 4. 22

Page 2: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

©2013, 해킹대응기술연구실

Page 3: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 3

기존 Antivirus, IDPS 등 많은 보안제품에서 활용 중

필요성 - 악성코드 발생량의 급증 ◦ 신종 및 변종 악성코드 발생량의 기하급수적인 증가

매일 55,000건의 신종 악성 프로그램이 발생 (AV-TEST)

최근 10년 간 악성코드의 폭발적 증가

3

지난 10년간 신종 악성코드 발생 건수 추이(2003년~2012년1월) (출처: AV-TEST)

Page 4: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 4

악성코드 유사도 분석의 목적 ◦ First-Aid & TRIAGE 로써의 악성코드 유사도 분석

오탐을 최소화 하려면 사람의 수동분석에 의존해야 함

자동화, 대량분석을 위한 조치

1차 classification 을 해주는 것만으로도 신속한 의사결정 가능

4

Page 5: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

©2013, 해킹대응기술연구실

Page 6: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 6

최근 6년간 (2007~2012) keyword 로 살펴본 동향

6

Page 7: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 7

용어는 다르지만 기반 요소기술은 공통됨 ◦ Digital DNA

◦ Fingerprinting

◦ Malware profiling

기반요소기술 ◦ similarity analysis /similarity measure

Data mining based approach

Code graph based approach

Similarity measure oriented approach

◦ Data 의 source 로는 Call Sequence, Control Flow, Opcode를 이용

7

Page 8: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 8

Data Mining ◦ 악성코드를 분석하여 자료를 가공하고, Classification, Clustering 을 이용하여 악성코드를 분류

◦ API call sequence, Control Flow 등을 주요 분석 Feature로 추출하여 사용

Statistics ◦ 악성코드와 정상 코드의 차이를 분석하여 현저한 차이가 있는 특징에 대한 통계를 내고, 통계적 차이에 의해 분류하는 방법

Outlier detection

◦ 코드섹션의 garbage 코드, Opcode 에 대한 통계를 내어 사용

8

Page 9: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 9

Distance Measure ◦ 악성코드를 분석하여 자료를 가공하고, Cosine Similarity, Jaccard

Distance등 Distance Measure를 사용하여 악성코드의 유사성을 계산하는 방법

◦ 악성코드의 Opcode 개수, Call Graph 등의 정보를 Vector화 하거나 Measure에 맞게 가공하여 사용

9

Page 10: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 10

분류율: 5 ◦ 데이터를 어떻게 가공하여 사용하는지에

따라 분류율을 많이 높일 수 있다.

처리 속도: 2 ◦ 비교적 연산량이 많기 때문에 수행 속도가

느리다.

필요 자원: 2 ◦ 연산해야 할 데이터가 많기 때문에 필요한

리소스도 많은 편이다.

적용성: 3 ◦ 실시간으로 대응해야 하는 경우 사용하기 쉽지 않다.

◦ 실시간으로 대응해야 하는 상황이 아니라면 효과적으로 사용 가능하다.

10

Page 11: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 11

분류율: 3 ◦ 단순 통계에 기반하고 있기 때문에 다양한

악성코드들에 대한 완벽한 분류가 쉽지 않다.

처리 속도: 5 ◦ 단순히 통계를 내고 정렬만 하면 되기

때문에 속도가 빠르다.

필요 자원: 5 ◦ 연산하거나 보관할 데이터가 많지 않기

때문에 적은 리소스만 사용해도 된다.

적용성: 4 ◦ 실시간으로 대응해야 하는 경우 다른 방법론과 함께 사용하기 유용하다.

◦ 실시간으로 대응해야 하는 상황이 아니더라도 pre-condition 을 주는 용도 등으로 유용하게 사용 가능하다.

11

Page 12: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 12

분류율: 4 ◦ 이미 검증된 Measure를 사용하기 때문에

적절한 Measure를 사용하기만 한다면 비교적 높은 분류율을 가진다.

처리 속도: 3 ◦ Measure에 따라 연산량이 많거나 적을 수

있기 때문에 평균적인 처리 속도를 갖는다.

필요 자원: 4 ◦ 연산이 다소 복잡해질 수 있으나,보관할

데이터가 많지 않기 때문에 비교적 적은 리소스를 사용한다.

적용성: 3 ◦ 시스템 성능에 따라 실시간으로 대응에도 사용 가능하다.

◦ 실시간으로 대응해야 하는 상황이 아니라면 Data Mining이나 Simple Statistic 이 더 유용하다.

12

Page 13: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

©2013, 해킹대응기술연구실

Page 14: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 14

다양한 악성코드의 feature 값 ◦ Linker version, language, timestamp, OS version, entry point,

compiler version

◦ Packing, packer type

◦ MD5, entropy

◦ Resources : nation

◦ Strings : CAPI, C&C(ip, url, email)

위 feature 들을 조합하여 변종탐지에 활용 가능

14

Page 15: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 15

FingerPrint ◦ HBGary에서 제작

◦ Name : 악성코드 파일명

◦ Hash : 악성코드 해쉬 값

◦ PE Timestamp : 파일이 생성된 날짜와 시간

◦ Linker version : 링커 버전

◦ DllCharacteristics : dll 파일의 플래그 변수

◦ PE Sections : 세션 정보

.text | .data | .idata | .rsrc | .reloc 등

◦ PE Subsystem : 프로그램의 구동하는 기반환경을 나타냄

0x03 : Win32 CUI 환경, 0x02 : Win32 GUI 환경

◦ Windows GDI/Common Controls : GUI 환경 구성하기 위한 library 정보

◦ Compiler : 컴파일러 버전

15

Page 16: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 16

FingerPrint ◦ LoadLibrary : dll 검색 경로 알고리즘 확인

◦ DataConversion : 메모리 할당 크기

◦ Wow64 : Windows on Windows 64-bit

모든 64qlxm 버전의 마이크로소프트 윈도우에서 32비트 응용프로그램이 돌아가는지 확인

◦ Thread Creation : thread 생성 확인

◦ File Mapping : 생성되는 파일 존재 확인

◦ File IO : 파일 Input/Output 작업 수행

createNewFile(만들기), delete(삭제), BufferedReader(읽기), BufferedWriter(쓰기)

◦ Win32 File Searching : 시스템 파일 검색 여부 확인

◦ Command line parsing : 커맨드 라인 이용 여부 확인

16

Page 17: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 17

FingerPrint features(cont’d) ◦ Debugger Exception : debugger exception 존재 확인

◦ Clipboard aware : clipboard 사용 여부

◦ Vararg Formatting : method의 parameter의 개수가 변경 확인

◦ Command shell : 커맨드 shell 확인

◦ SEH : Structed Exception Handling(구조적 예외처리 기법) 확인

◦ ShellExecute : ShellAPI 함수 확인

◦ Windows Licensing : windows 라이센스 정보

17

Page 18: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 18

Yara ◦ Yara는 특정 파일이나 프로세스 안에 존재하는 패턴을 찾아 악성코드를 분류하고 식별하기 위한 툴

◦ Textual 또는 binary pattern을 기반으로 하여 악성코드 분류

◦ 다운로드 경로

http://code.google.com/p/yara-project/downloads/list

18

Page 19: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 19

시스템 콜 시퀀스를 통한 악성코드의 행위 관측 ◦ 악성코드의 주요 행위 악성코드가 호출하는 시스템 콜

악성코드가 주로 사용하는 주요 시스템 콜에 대한 관측

주요 시스템 콜을 문자화 후 시스템 콜 시퀀스를 문자열(String)으로 표현

악성코드 별 문자열 유사도 비교 DNA sequence 정렬방법 적용

◦ Global Alignment

두 개의 긴 문자열 전체에 대한 최적화된 정렬 탐색

Needleman-Wunsch algorithm

◦ Local Alignment

두 개의 문자열간 길이차이가 있어, 부분 문자열 위주로 유사성을 정렬할 경우

Smith-Waterman algorithm

Page 20: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 20

주요 시스템 콜을 문자화 ◦ 시스템 콜에 영문자를 1:1 대응

NtOpenFile A

NtOpenProcessToken B

NtCreateSemaphore C

NtOpenProcessTokenEx D

···

NtOpenFile NtOpenProcessToken,

(A) (B)

NtCreateSemaphore, NtOpenProcessTokenEx,

(C) (D)

···

ABCD,…

Page 21: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 21

행위 기반 주요 시스템 콜 추출 ◦ Trojan, Adware, Backdoor 등에서 자주 사용되는 시스템 콜(Native

API) 추출

◦ Windows 의 주요 297개의 Native API 중 18개 Native API 추출

1500개의 악성코드들 중 공통적으로 1회 이상 호출되었으나, 정상 프로그램에서 빈번하게 호출되지 않는 것들을 기준으로 선택

1500개

악성코드

78개

정상프로그램

공통적으로

1회 이상

호출

빈번하지

않은 호출

비교

18개

시스템 콜

Page 22: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 22

악성코드 진단명 별 주요 공통 시스템콜 시퀀스 ◦ 각 악성코드 진단명 별 공통적으로 발견되는 시스템 콜 시퀀스 추출

악성코드 진단명 주요 시퀀스 서열 샘플 프로그램

개수

TR/Agent NANAB-FSEDFSAG 66

TR/Crpyt.XPACK.Gen AQNSNANAQABFSEDFSIO 114

Adware ASCASNQNQ 60

TR/Rootkit.Gen FEDFMAKMRQA 10

Worm/ SABFSEDFSAGBFS 21

TR/Dropper.gen LSEDFSBHSASCASMSO 102

Page 23: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 23

동일한 시스템 콜 시퀀스 정렬 ◦ Multiple Sequence Alignment 을 통해 여러 악성코드에서 동일하게 발생하는 시스템 콜 시퀀스 추출

예: Worm family 의 동일 시스템 시퀀스

Page 24: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

©2013, 해킹대응기술연구실

Page 25: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 25

악성코드 유사도 분석의 목적 변화 ◦ 분석 frame 의 변화

25

• Where •어디에서 유입된 공격인가 • IP address based analysis

• How • 어떤 기법이 사용되었는가 • signature based analysis • anomaly based analysis

Why 공격의 목적,

원인은 무엇인가

Who 누가 한 공격인가

Page 26: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 26

사이버 게놈 프로젝트 ◦ 미 국방부 산하 국방선진개발연구소(DARPA: Defense Advanced Research

Projects Agency)는 2010년부터 ‘사이버 게놈 프로그램’ 진행

HB Gary

악성코드의 계보 추적 및 해커 DNA fingerprinting

◦ 일부는 Plan X 로 이어짐

Plan X will give Pentagon cybergeeks top-notch tools and research capabilities for the high-tech worms, malware, monitoring equipment, and network infrastructure hijinx that are an integral part of military capability circa 2012.

(http://www.nbcnews.com/technology/futureoftech/inside-darpas-plan-x-cyberwar-963799)

26

Page 27: 악성코드 유사도 분석기술 동향myucc.cafe24.com/pdf/세션2/(3)_악성코드 유사도... · 2013-04-15 · 21 ©2013, 해킹대응기술연구실 3 27 기존 Antivirus,

21 ©2013, 해킹대응기술연구실

27 27

악성코드 유사도 분석의 목표 변화 ◦ 1차 분류 공격자(작성자)를 추정하여 공격 목표 및 의도 파악

◦ APT(Advanced Persistent Attack) 공격에 대한 분석력 강화 APT 공격 대상(Targeted) : 정부 기관이나 기간시설, 방위 산업체, 경쟁력 있는

제품 및 기술을 보유한 주요 기업들과 이들의 협력업체

일회적인 방어를 통해 해결되지 않고 공격자의 숨겨진 의도를 파악하여 근본적인 대응책을 마련해야 함

artifact-centric analysis 에서 human-centric analysis 로의 연계

27