악성코드 개념 및 대응 기술 (사이버 게놈 기술)

41
1 악성코드 기술관련 발표자료 악성코드 대응을 위한 사이버 게놈 기술 By Seungdols 출처 : 악성코드 대응을 위한 사이버 게놈 기술 동향 ETRI – 김종현, 김현주, 김익균 연구원

Transcript of 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

Page 1: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

1

악성코드 기술관련 발표자료악성코드 대응을 위한 사이버 게놈 기술

By Seungdols

출처 : 악성코드대응을위한사이버게놈기술동향ETRI –김종현, 김현주, 김익균연구원

Page 2: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

INDEX

2

1. 악성코드 대응 기술

2. 기존 대응 기술의 한계

3. 사이버 게놈 기술

4. 질의응답

Page 3: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

3

악성코드(Malicious Code)?

악성코드? 나쁜코드?도대체어떤녀석인지?!

알아보자.

Page 4: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

4

악성코드(Malicious Code)악성 소프트웨어(Malicious Software)

본래명칭은악성코드가아닌,악성소프트웨어가맞습니다.

Page 5: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

5

악성 소프트웨어의 종류?

Page 6: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

6

바이러스 (Virus)

다른대상을감염시키는형태로실행되는프로그램으로대상이존재하지않으면실행이되지않고

감염파일에서대상파일로는자가복제를수행하지만네트워크를통한전파는이루어지지못한다.

Page 7: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

7

웜 ( Worm )

감염대상이없어도실행이가능하며, 네트워크를통한전파가가능하다.모리스웜이란사람이석사시절, 인터넷의크기를알고자

취약점을이용해제작한것으로알려져있다.

Page 8: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

8

트로이 목마(Trojan)

정상파일을가장하거나, 정상파일내에삽입된상태로실행되는것이특징이자, 주요목적은사용자의 PC를공격자에게

정보를전달하기위해사용된다.

Page 9: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

9

백도어 ( Backdoor )

지속적으로침입하기위해서시스템내부에문을열어두는것을말하며, 언제든지침투가가능하게만들어준다.

Page 10: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

10

애드웨어 ( Adware )

광고프로그램으로악의적인행위는하지않으나, 브라우저를실행시키면무조건특정광고사페이지로이동시키는행동을한다.

* 요즘은백도어/트로이목마를설치하기도한다.

Page 11: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

11

악성 봇 ( Malicious Bot )

스스로실행하지는못하나, 공격자가명령을내리면실행및제어(C&C)가가능한프로그램이다.

흔히말하는좀비PC가악성봇에시스템이감염된 PC를말한다. 공격자는 C&C서버를이용하여실행/제어를한다.

Page 12: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

12

악성소프트웨어를대응하는기술은 ??

Page 13: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

13

악성코드 대응 기술

Page 14: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

14

악성코드 대응 기술

정적분석동적분석

Page 15: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

15

악성코드 대응 기술

동적분석

분석환경내에서악성소프트웨어를실행시킴으로수행되는행위를

실시간으로모니터링하고, 추적하는방법

Page 16: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

16

악성코드 대응 기술

악성소프트웨어를실행하지않고,프로그램구성요소들의연관성및호출관계등을분석함으로악성소프트웨어의구조와삽입된

DDL(Dynamic Link Library)등을파악하는방법

정적분석

Page 17: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

17

기존 대응 기술의 한계

Page 18: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

18

기존 대응 기술의 한계

• 난독화

코드난독화란프로그램코드의일부혹은전체를변경하는방법으로, 프로그래밍언어로작성된코드의가독성을떨어뜨려분석을어렵게만든다.

소프트웨어를분석하려는역공학에대한대비책으로프로그램에서사용되는주요알고리즘, 아이디어를숨기기위해사용한다.

Page 19: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

19

기존 대응 기술의 한계

• 난독화

• 패킹(Packing)

Portable executable (PE)형식으로배포되는프로그램들을자신의프로그램이역공학을할수없도록만들거나, 용량을줄이기위해사용하는방식이다.

다중패킹/ 자체제작패킹툴을사용할경우 ,정적분석기술을우회하거나분석을할수없게끔만든다.

Page 20: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

20

기존 대응 기술의 한계

• 난독화

• 패킹(Packing)

• 안티 디버깅(Anti-Debuging)

악성소프트웨어를분석하는방식으로디버깅을사용하는데,악성소프트웨어들은백신프로그램이자신을분석하는것을막기위해

디버깅이수행될때이를탐지하여다른행위를하거나디버깅동작을종료시킨다.

Page 21: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

21

기존 대응 기술의 한계

• 난독화

• 패킹(Packing)

• 안티 디버깅(Anti-Debuging)

• 안티 가상화(Anti-Virtualization)

가상머신환경에서의악성소프트웨어분석기술을우회하는방법으로가상머신환경을구축함으로나타나는특징을탐색하여

악성코드가수행할시스템이가상머신환경인지판단하여실행을하지않는다.

가상환경을탐지하는방법은프로세스, 파일시스템, 레지스트리요소탐지,메모리요소탐지, 가상하드웨어주변장치를탐지하는방법이있다.

Page 22: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

22

기존 대응 기술의 한계

• 난독화

• 패킹(Packing)

• 안티 디버깅(Anti-Debuging)

• 안티 가상화(Anti-Virtualization)

• 스케줄링(Scheduling)

자동화된악성소프트웨어탐지기술을회피하기위하여웹사이트방문시특정시간이후에악성소프트웨어가실행되게하여자동화된악성소프트웨어수집프로그램인

Client Honeypot과 Crawler을우회한다.

Page 23: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

23

기존 대응 기술의 한계

• 악성 코드 대량 삽입

웹사이트에악성소프트웨어가삽입되는경우는대부분 SQL Injection 공격으로인해발생한다.

데이터베이스문자자료형컬럼에악성소프트웨어유포지의주소를삽입하여대량의악성소프트웨어를유포하는기술을사용한다.

Page 24: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

24

기존 대응 기술의 한계

• 악성 코드 대량 삽입

• 악성 코드의 모듈화

최근악성소프트웨어유포자들은악성행위별로모듈화하여유포하여, 특정모듈에감염되는즉시다른모듈을다운로드하는방식을도입.

Page 25: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

25

기존 대응 기술의 한계

• 악성 코드 대량 삽입

• 악성 코드의 모듈화

• 악성 코드의 은닉화

악성코드를은닉시키는대표적인기법은루트킷이라한다.

은닉화방법으로는Hooking, 시스템프로그램의변조, 커널데이터조작,디바이스드라이버사용, 레지스터변조, 콜백함수사용등이있다. 백신프로그램또한시스템서비스를사용하기에탐지하기가어렵다.

Page 26: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

26

사이버 게놈 기술

Page 27: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

27

사이버 게놈 기술 개념

인간게놈프로젝트는DNA의모든염기서열을밝혀내기위한연구이다. 이것을사이버세상에존재하는악성코드에적용한방법이다.

Page 28: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

28

사이버 게놈 기술 개념

Digital DNA 기술

악성코드및사이버공격의배후와공격루트를밝히는데목적을가지며,악성코드의특징과코드를상세히분석하는방법이다.

Page 29: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

29

사이버 게놈 기술 개념

Digital DNA 기술

악성코드의특징별로분류하여, 유사한사건발생시악성코드제작자, 크래커집단, 유포지, 공격지, 공격목적등을빠르게추정가능하며,

APT(Advanced Persistent Threat) 공격의사전대응에도활용될수있다.

Page 30: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

30

사이버 게놈 기술 개념

APT( Advanced Persistent Threat )

지능형지속공격으로공격루트, 공격기법을지속적으로변경하며, 목표한공격대상을무력화시키는방법이다.

Page 31: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

31

사이버 게놈 분석의 주요 기술

악성코드 API 시퀀스 추출

IAT(Import Address Table)

PE 파일분석을통해 Import AddressTable(IAT)를찾고 IAT로부터포함된 API리스트를추출하는방법

바이너리실행파일자체에서추출하는방법

Page 32: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

32

사이버 게놈 분석의 주요 기술

악성코드 API 시퀀스 추출

프로그램작동중호출되는인터럽트를Hooking하여호출되는 API를기록하는방법으로주로 Native API에대한정보를얻기위해사용된다.

커널 Hooking에는 System Service Descriptor Table(SSDT)/Interrupt Descriptor Table(IDT)이존재함.

프로그램동작중호출되는 API를후킹하는방법

IAT(Import Address Table)

Page 33: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

33

사이버 게놈 분석의 주요 기술

API 기반의 악성코드 특성인자 추출

White List

악성코드가아닌정상적인프로그램으로부터자주포함되는 API의리스트를DLL 별로저장하여화이트리스트(White List)를생성.

악성코드샘플을실행한후추출된 API 리스트에서화이트리스트의 API를제거하게되면악성코드만이갖는고유특성인자를추출이가능.

Page 34: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

34

사이버 게놈 분석의 주요 기술

서열 정렬(Sequence Alignment)

A C G T A C G

T C G A A C C

A G T A C A

A C G A G G G

서열정렬(sequence alignment)은일반적으로 Bioinformatics 분야에서두개혹은그이상의서열들의유사도값을측정하거나유사구간의관계성을찾기위해사용되는기법.

Page 35: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

35

사이버 게놈 분석의 주요 기술

서열 정렬(Sequence Alignment)

A C G T A C G

T C G A A C C

A G T A C A

A C G A G G G

본래 서열과 가장 유사한 서열은 무엇인가?

“정량적인 기준” 필요

Page 36: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

36

사이버 게놈 분석의 주요 기술

비교할두가지의서열에있는모든글자를최대한맞춤.

길이가대개비슷하고, 전체적으로유사성이높은서열간적합

서열의일부분을최대한맞춤.

길이가서로상이하고, 서열의일부분에서유사성이나타나는서열간적합

Local AlignmentGrobal Alignment

Needleman-Wunsch Algorithm Smith-Waterman Algorithm

Page 37: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

37

사이버 게놈 분석의 주요 기술

악성코드 유사도 분석

LCS(Longest Common Subsequence)

Pairwise Alignment

최근 BioInfomatics분야에서동적프로그래밍을이용한 Pairwise Alignment와 Longest Common Subsequence(LCS) 알고리즘을이용하여두서열간의유사도분석을하는데,사이버게놈기술에서도이와유사한접근방법을활용중이다.

* LCS는두문자열에서공통으로존재하는가장긴서열을찾는알고리즘.

Page 38: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

38

사이버 게놈 분석의 주요 동향

Invincea - Cynomix

샌드박스에서악성코드를실행한후 Process Monitor 툴을이용하여, 악성코드의시스템 API 호출로그를추출후의미있는 API 서열을추출하기위해마코프체인알고리즘을사용한다.

Page 39: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

39

사이버 게놈 분석의 주요 동향

HBGary – Digital DNA

시스템메모리상에서실행되는프로세스의행위를분석하여악성코드를탐지하고, 리포팅한다.정적분석과동적분석을통하여프로세스행위의취약성을발견하고, 해당프로세스의악성여부를판단한후취약성내용을 Digitla DNA로변환하는작업을하는제품.

Page 40: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

40

질의 응답

단, 저는 아는 것만 대답합니다.

Page 41: 악성코드 개념 및 대응 기술 (사이버 게놈 기술)

THANK YOU!!!

41