목차 - kaistcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · introduction to...

27
Introduction to Anti Introduction to Anti - - Virus Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious Code © 황규범. Information and Communications University 2 목차 목차 정의 정의 정의 정의 정보 정보 정보 정보 수집 수집 수집 수집 명명법 명명법 명명법 명명법 동향 동향 동향 동향 최근 최근 최근 최근 연구 연구 연구 연구 동향 동향 동향 동향 결론 결론 결론 결론 ICE1212 - Malicious Code © 황규범. Information and Communications University 3 정의 정의 MALICIOUS CODES “MALCODES” ANTISOCIAL PROGRAM TROJAN HORSE WORM VIRUS ICE1212 - Malicious Code © 황규범. Information and Communications University 4 정의 정의 (2) (2) 악성 악성 악성 악성 코드 코드 코드 코드(바이러스 바이러스 바이러스 바이러스 포함 포함 포함 포함)의 정의 정의 정의 정의 제작자가 제작자가 제작자가 제작자가 의도적 의도적 의도적 의도적(Intentionally)으로 으로 으로 으로 사용자에게 사용자에게 사용자에게 사용자에게 피해를 피해를 피해를 피해를 주고자 주고자 주고자 주고자 만든 만든 만든 만든 모든 모든 모든 모든 악의의 악의의 악의의 악의의 목적 목적 목적 목적(Harmful)을 가진 가진 가진 가진 프로그램 프로그램 프로그램 프로그램 및 매크로 매크로 매크로 매크로, 스크립트등 스크립트등 스크립트등 스크립트등 컴퓨터 컴퓨터 컴퓨터 컴퓨터 상에서 상에서 상에서 상에서 작동하는 작동하는 작동하는 작동하는 모든 모든 모든 모든 실행 실행 실행 실행 가능한 가능한 가능한 가능한 형태 형태 형태 형태(Executable) 구성 구성 구성 구성 바이러스 바이러스 바이러스 바이러스(VIRUS) 트로이목마 트로이목마 트로이목마 트로이목마(TROJAN HORSE) (WORM) 혹스 혹스 혹스 혹스(HOAX) 조크 조크 조크 조크(JOKE)

Upload: others

Post on 07-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

Introduction to AntiIntroduction to Anti--VirusVirus

Kyu-beom HwangAhnlab, Inc.

Anti-virus Technology Unit

ICE1212 - Malicious Code©황규범.

Information and Communications University2

목차목차

• 정의정의정의정의

• 정보정보정보정보수집수집수집수집

• 명명법명명법명명법명명법

• 동향동향동향동향

• 최근최근최근최근연구연구연구연구동향동향동향동향

• 결론결론결론결론

ICE1212 - Malicious Code©황규범.

Information and Communications University3

정의정의

MALICIOUS CODES “MALCODES”

ANTISOCIALPROGRAM

TROJANHORSEWORM

VIRUS

ICE1212 - Malicious Code©황규범.

Information and Communications University4

정의정의(2)(2)

• 악성악성악성악성코드코드코드코드(바이러스바이러스바이러스바이러스포함포함포함포함)의의의의정의정의정의정의– 제작자가제작자가제작자가제작자가의도적의도적의도적의도적(Intentionally)으로으로으로으로사용자에게사용자에게사용자에게사용자에게피해를피해를피해를피해를주고자주고자주고자주고자만든만든만든만든모든모든모든모든악의의악의의악의의악의의목적목적목적목적(Harmful)을을을을가진가진가진가진프로그램프로그램프로그램프로그램및및및및매크로매크로매크로매크로, 스크립트등스크립트등스크립트등스크립트등컴퓨터컴퓨터컴퓨터컴퓨터상에서상에서상에서상에서작동하는작동하는작동하는작동하는모든모든모든모든실행실행실행실행가능한가능한가능한가능한형태형태형태형태(Executable)

• 구성구성구성구성– 바이러스바이러스바이러스바이러스(VIRUS)– 트로이목마트로이목마트로이목마트로이목마(TROJAN HORSE) – 웜웜웜웜(WORM)– 혹스혹스혹스혹스(HOAX)– 조크조크조크조크(JOKE)

Page 2: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University5

정의정의(3)(3)

• COMPUTER VIRUS

– Fred Cohen, “Computer Viruses – Theory and Experience”, 1984

• We define a computer ‘virus’ as a program can ‘infect’ other programs by modifying them to include a possibly evolved copy ofitself. With the infection property, a virus can spread throughout a computer system or network using the authorizations of every user using it to infect their programs. Every program that gets infected may also act as a virus and thus the infection grows.

– Lawrence E. Bassham & W. Timothy Polk, “Treat Assessment of Malicious Code and Human Threats”, 1992.

• The following are necessary characteristics of a virus

– Replication

– Requires a host program as a carrier– Activated by external action

– Replication limited to (virtual) system

ICE1212 - Malicious Code©황규범.

Information and Communications University6

정의정의(4)(4)

• WORM

– A worm is a sophisticated piece of replicating code that uses its own program coding to spread, with minimal user intervention. A worm might attach itself to piece of outgoing email or use a file transfer command between trust systems. Worms take advantage of holes in software and exploit system. Unlike viruses, worm rarely host themselves within a legitimate file or boot.

• TROJAN HORSE

– A Trojan is a non-replicating program masquerading as one type of program with its real intent hidden from the user.

ICE1212 - Malicious Code©황규범.

Information and Communications University7

정의정의(5)(5)

• 컴퓨터컴퓨터컴퓨터컴퓨터바이러스바이러스바이러스바이러스

– 감염감염감염감염대상대상대상대상및및및및자기자기자기자기복제복제복제복제능력능력능력능력을을을을가지는가지는가지는가지는실행실행실행실행가능한가능한가능한가능한모든모든모든모든유형유형유형유형

바이러스 트로이목마 웜

파일/부트 X X

Y X Y

감염대상

자기복제

존재형태 기생/겹침 독립 독립

복구방법 치료

※※※※ 웜과웜과웜과웜과 바이러스는바이러스는바이러스는바이러스는 시스템내에시스템내에시스템내에시스템내에 존재하는존재하는존재하는존재하는 형태로형태로형태로형태로 구분함구분함구분함구분함

삭제 삭제

ICE1212 - Malicious Code©황규범.

Information and Communications University8

정보수집정보수집

• Malcode(Malicious Code)– Defined as all kinds of executable programs, or macros, or

scripts that are produced in order to intentionally damage computer systems. Thus, bugs occurred by programmers mistakes, which are not intentionally produced are not included in the category of malicious codes. However the bugs being really harmful to computer users are sometimes categorized as malicious codes.

• Malware( Malicious software)– A general purpose term encompassing virus, Trojan Horse and

Worm programs(and possibly others). The main idea is that a program is malware if it ‘does something bad or disagreable’. The experts may debate whether a password stealer, remote access Trojan or ‘network creeper’ is a virus, Trojan or Worm, but all are generally agreed to be malware.

Page 3: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University9

정보수집정보수집(2)(2)

• VX( Virus eXchange)– A term originally used to describe the open exchange of virus

samples, that usually involved “swapping”(as commonly seen on VX BBSes).

– In contrast, the careful, professionally moderated transfer of samples between antivirus researchers is predicated on high level of personal trust between those sending and receiving the samples

• VXer( Virus eXchanger)– A person involved in VX activities.– However, there was no handy, short term for ‘virus writer’ so

‘Vxer’ is also used to mean ‘someone involved in virus exchange or virus writing’

ICE1212 - Malicious Code©황규범.

Information and Communications University10

정보수집정보수집(3)(3)

• ItW( In the Wild )– When a virus is reported to us by two or more Reporters, it's a

pretty good indication that the virus is out there, spreading, causing real problems to users. We consider such a virus to be 'In the Wild'.

– On the 15th day of each month, the formal WildList is extracted from all verified reports, and published at http://www.wildlist.org.

ICE1212 - Malicious Code©황규범.

Information and Communications University11

• VIRUS….?– 일반적으로일반적으로일반적으로일반적으로사용하는사용하는사용하는사용하는단어단어단어단어

– 긍정적인긍정적인긍정적인긍정적인단어단어단어단어

– 주로주로주로주로 ANTI-VIRUS의의의의의미가의미가의미가의미가같이같이같이같이포함됨포함됨포함됨포함됨

• 그렇다면그렇다면그렇다면그렇다면.. 어떤어떤어떤어떤단어를단어를단어를단어를….?– 우리말에도우리말에도우리말에도우리말에도 (비비비비)속어가속어가속어가속어가존재함존재함존재함존재함

– 바이러스바이러스바이러스바이러스정보에정보에정보에정보에포함되는포함되는포함되는포함되는그룹명을그룹명을그룹명을그룹명을눈여겨눈여겨눈여겨눈여겨봄봄봄봄

– 제작자제작자제작자제작자사이트에사이트에사이트에사이트에있는있는있는있는단어를단어를단어를단어를찾아봄찾아봄찾아봄찾아봄

– FTP/HTTP SEARCH를를를를사용함사용함사용함사용함

정보정보 수집수집((4)4)

ICE1212 - Malicious Code©황규범.

Information and Communications University12

정보정보 수집수집((5)5)

YAHOO

Page 4: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University13

정보정보 수집수집((6)6)

ALTAVISTA

ICE1212 - Malicious Code©황규범.

Information and Communications University14

정보정보 수집수집((7)7)

LYCOS

ICE1212 - Malicious Code©황규범.

Information and Communications University15

명명법명명법(1)(1)(1)(1)(1)(1)(1)(1)

• 악성코드악성코드악성코드악성코드이름이름이름이름

– 악성코드의악성코드의악성코드의악성코드의이름을이름을이름을이름을정하는정하는정하는정하는것은것은것은것은분석자의분석자의분석자의분석자의재량재량재량재량

– 각각각각기업마다기업마다기업마다기업마다명명원칙을명명원칙을명명원칙을명명원칙을가지고가지고가지고가지고정함정함정함정함

– 별도별도별도별도커뮤니티를커뮤니티를커뮤니티를커뮤니티를운영하여운영하여운영하여운영하여이름을이름을이름을이름을협의함협의함협의함협의함

• CARO, Public Channel

– 이미이미이미이미명명된명명된명명된명명된이름을이름을이름을이름을협의에협의에협의에협의에따라서따라서따라서따라서새로새로새로새로명명하기도명명하기도명명하기도명명하기도함함함함

• 이름이이름이이름이이름이달라지는달라지는달라지는달라지는이유이유이유이유

– 발견발견발견발견지역의지역의지역의지역의차이차이차이차이(주로주로주로주로미주미주미주미주, 유럽유럽유럽유럽, 아시아순으로아시아순으로아시아순으로아시아순으로발견됨발견됨발견됨발견됨)

– 주주주주근무시간대의근무시간대의근무시간대의근무시간대의차이차이차이차이(시차가시차가시차가시차가큰큰큰큰원인임원인임원인임원인임)

– 분석자분석자분석자분석자혹은혹은혹은혹은해당해당해당해당기업간의기업간의기업간의기업간의명명원칙명명원칙명명원칙명명원칙차이차이차이차이

– 협의를협의를협의를협의를진행할진행할진행할진행할충분한충분한충분한충분한시간적시간적시간적시간적여유가여유가여유가여유가없음없음없음없음(시차시차시차시차및및및및고객고객고객고객피해피해피해피해방지방지방지방지)

ICE1212 - Malicious Code©황규범.

Information and Communications University16

• 기본기본기본기본형태형태형태형태

– 접두어는접두어는접두어는접두어는보통보통보통보통플랫폼을플랫폼을플랫폼을플랫폼을지칭지칭지칭지칭함함함함(작동작동작동작동환경환경환경환경)• 윈도우윈도우윈도우윈도우95이상이상이상이상(Win32/, 윈도우윈도우윈도우윈도우2000(Win2K/)등등등등

– 이름은이름은이름은이름은분석가가분석가가분석가가분석가가바이러스바이러스바이러스바이러스명명원칙을명명원칙을명명원칙을명명원칙을가지고가지고가지고가지고정함정함정함정함

– 접미어는접미어는접미어는접미어는웜웜웜웜(.worm)인지인지인지인지, 트로이목마트로이목마트로이목마트로이목마(.trojan) 등을등을등을등을표시함표시함표시함표시함, 바바바바이러스인이러스인이러스인이러스인경우경우경우경우접미어를접미어를접미어를접미어를사용하지사용하지사용하지사용하지않음않음않음않음

– 최종접미어는최종접미어는최종접미어는최종접미어는 파일파일파일파일 손상손상손상손상 여부여부여부여부 및및및및 형태형태형태형태(.html 혹은혹은혹은혹은 .eml) 혹은혹은혹은혹은@mm과과과과같이같이같이같이다량다량다량다량메일메일메일메일발송발송발송발송기능기능기능기능등의등의등의등의특징을특징을특징을특징을표시함표시함표시함표시함

명명법명명법((((((((2)2)2)2)2)2)2)2)

접두어접두어접두어접두어/ 이름이름이름이름 .접미어접미어접미어접미어 .변형변형변형변형 최종접미어최종접미어최종접미어최종접미어

Win32/ Colevo .worm . 188928 @mm

Page 5: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University17

명명법명명법((((((((3)3)3)3)3)3)3)3)

접두어접두어접두어접두어

ICE1212 - Malicious Code©황규범.

Information and Communications University18

명명법명명법((((((((4)4)4)4)4)4)4)4)

접미어접미어접미어접미어

ICE1212 - Malicious Code©황규범.

Information and Communications University19

명명법명명법(5)(5)(5)(5)(5)(5)(5)(5)

I-Worm.Win32.Colevo.188928

ICE1212 - Malicious Code©황규범.

Information and Communications University20

명명법명명법((((((((6)6)6)6)6)6)6)6)

• CARO[4]

– Computer Anti-virus Research Organizations– 유럽을중심으로한안티바이러스소사이어티– A New Virus Naming Convention, 1991을정함– 유럽연구회사외에는잘안씀. -> 단순화추세– 현재 CARO Namming Convension개정작업중

– 길이가짧은바이러스에대한명명법으로 Family_Name으로Trivial을정하고, 변종은 Trivial.length로표기함

– 특징이없는바이러스는 Silly로정하고, 변종은 Silly.len– 상주형과비상주형(resident versus non-resident)으로분류

Page 6: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University21

• 기본기본기본기본형태형태형태형태

– 바이러스바이러스바이러스바이러스이름은이름은이름은이름은기본적으로기본적으로기본적으로기본적으로 4개개개개부분으로부분으로부분으로부분으로나뉘며나뉘며나뉘며나뉘며각각각각부분은부분은부분은부분은점점점점(Point, ‘.’)으로으로으로으로구분함구분함구분함구분함

– 각각각각부분의부분의부분의부분의이름은이름은이름은이름은 “A-Za-z0-9$%&!’`#-”등을등을등을등을사용하여사용하여사용하여사용하여구분함구분함구분함구분함

– Non-Alphanumeric 글자도글자도글자도글자도허용하나허용하나허용하나허용하나사용은사용은사용은사용은제한하는제한하는제한하는제한하는것을것을것을것을권장함권장함권장함권장함

– 밑줄밑줄밑줄밑줄(Underscore, ‘_’)은은은은가독성가독성가독성가독성(readability)을을을을높이기높이기높이기높이기위하위하위하위하여여여여사용함사용함사용함사용함

• 글자수가글자수가글자수가글자수가 20글자글자글자글자이상이이상이이상이이상이될될될될경우는경우는경우는경우는가급적이면가급적이면가급적이면가급적이면짧은짧은짧은짧은이름이름이름이름을을을을정함정함정함정함

– 짧은짧은짧은짧은이름이이름이이름이이름이사용하기사용하기사용하기사용하기편리함편리함편리함편리함

명명법명명법((((((((7)7)7)7)7)7)7)7)

인류인류인류인류 .황색인종황색인종황색인종황색인종 .한국인한국인한국인한국인 .수원거주자수원거주자수원거주자수원거주자

Family_Name .Group_Name .Major_Variant .Minor_Variant

ICE1212 - Malicious Code©황규범.

Information and Communications University22

• 논의중인논의중인논의중인논의중인새새새새명명법명명법명명법명명법

– 기존의기존의기존의기존의명명법으로명명법으로명명법으로명명법으로수용할수용할수용할수용할수수수수없는없는없는없는플랫폼이나플랫폼이나플랫폼이나플랫폼이나악성코드악성코드악성코드악성코드형태형태형태형태등이등이등이등이추가되어추가되어추가되어추가되어각각각각업체별업체별업체별업체별고유고유고유고유방법방법방법방법사용으로사용으로사용으로사용으로인한인한인한인한혼란혼란혼란혼란방지방지방지방지

– 기존의기존의기존의기존의명명법에명명법에명명법에명명법에악성코드악성코드악성코드악성코드종류와종류와종류와종류와감염크기감염크기감염크기감염크기, 플랫폼등이플랫폼등이플랫폼등이플랫폼등이추가추가추가추가됨됨됨됨

– 기본기본기본기본구조는구조는구조는구조는총총총총 8개개개개항목으로항목으로항목으로항목으로구성하며구성하며구성하며구성하며각각각각항목은항목은항목은항목은생략될생략될생략될생략될수수수수있있있있음음음음<malware_type>://<platform>/<family_name><.groupname><.infective_length><.sub variant><.devolution><.modfiers>

명명법명명법((((((((8)8)8)8)8)8)8)8)

•Malcode_Type:// •<Platform>/ <FamilyName> •<Group Name>

Virus:// W32/ Celevo .188928

•<Infective_Length>

.B

•<sub variant>

ICE1212 - Malicious Code©황규범.

Information and Communications University23

• 새새새새명명법의명명법의명명법의명명법의문제점문제점문제점문제점

– 기존에기존에기존에기존에사용하던사용하던사용하던사용하던이름을이름을이름을이름을변환해야변환해야변환해야변환해야하는가하는가하는가하는가?– 이름이이름이이름이이름이너무너무너무너무길어지는건길어지는건길어지는건길어지는건아닌가아닌가아닌가아닌가?– 형식을형식을형식을형식을통일한다고통일한다고통일한다고통일한다고하더라도하더라도하더라도하더라도이름이이름이이름이이름이같을같을같을같을수수수수있는가있는가있는가있는가?– 이이이이새로운새로운새로운새로운명명법은명명법은명명법은명명법은 Ahnlab, McAfee, Symantec, F-PROT등등등등은은은은크게크게크게크게달아지는달아지는달아지는달아지는점점점점없음없음없음없음 but Hauri, AVP, TrendMicro는는는는변변변변경경경경불가피불가피불가피불가피

– 기존의기존의기존의기존의명명법은명명법은명명법은명명법은형식보다도형식보다도형식보다도형식보다도이름이름이름이름자체가자체가자체가자체가틀리다는것이틀리다는것이틀리다는것이틀리다는것이더더더더큰큰큰큰문제임문제임문제임문제임

– 형식이형식이형식이형식이통일되면통일되면통일되면통일되면이름을이름을이름을이름을비교하여비교하여비교하여비교하여정보정보정보정보수집에수집에수집에수집에용이함용이함용이함용이함

– Win32/Babo.worm.189232.packed -> worm://Win32/Babo.189232#upx– W97M/Hua.B, X97M/Hua.B or O97M/Hua.B -> {W97M, X97M}/Hua.B

명명법명명법((((((((9)9)9)9)9)9)9)9)

ICE1212 - Malicious Code©황규범.

Information and Communications University24

• 파일파일파일파일(File) 바이러스바이러스바이러스바이러스

– 일반적인일반적인일반적인일반적인프로그램에프로그램에프로그램에프로그램에감염되는감염되는감염되는감염되는바이러스로바이러스로바이러스로바이러스로대부분대부분대부분대부분확장자가확장자가확장자가확장자가

COM, EXE인인인인파일에파일에파일에파일에감염시킴감염시킴감염시킴감염시킴.

– 일반일반일반일반바이러스바이러스바이러스바이러스 : 코드의코드의코드의코드의변형이나변형이나변형이나변형이나변화없이변화없이변화없이변화없이고정된고정된고정된고정된크기의크기의크기의크기의

간단한간단한간단한간단한형태의형태의형태의형태의바이러스바이러스바이러스바이러스.

– 암호화암호화암호화암호화바이러스바이러스바이러스바이러스 : 바이러스바이러스바이러스바이러스전체전체전체전체또는또는또는또는일부가일부가일부가일부가암호화되어암호화되어암호화되어암호화되어

보호되는보호되는보호되는보호되는형태로형태로형태로형태로암호화암호화암호화암호화/복호화복호화복호화복호화루틴은루틴은루틴은루틴은변경되지변경되지변경되지변경되지않고않고않고않고

Key값만값만값만값만변경되는변경되는변경되는변경되는형태형태형태형태

– 다형성다형성다형성다형성바이러스바이러스바이러스바이러스 : 바이러스바이러스바이러스바이러스일부일부일부일부또는또는또는또는전부가전부가전부가전부가암호화되어암호화되어암호화되어암호화되어

있으며있으며있으며있으며매번매번매번매번암호화암호화암호화암호화/복호화복호화복호화복호화루틴이루틴이루틴이루틴이변경되는변경되는변경되는변경되는형태형태형태형태.

파일파일 바이러스바이러스

Page 7: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University25

EXE PROGRAMMZfPtr

파일파일 바이러스바이러스(2)(2)

• 일반적인일반적인일반적인일반적인실행실행실행실행파일은파일은파일은파일은MZ헤더와헤더와헤더와헤더와 PE/NE/LE헤더로헤더로헤더로헤더로구성됨구성됨구성됨구성됨

CS:IP

EXE/PE PROGRAMMZ

EntryPointRVA

fPtrPE

CS:IP

EXE/NE PROGRAMMZ

CS:EIP

fPtrNE

CS:IP

DOS16

WIN32

WIN16

ICE1212 - Malicious Code©황규범.

Information and Communications University26

EXE(PE) PROGRAMMZ

EXE HEADEREntryPointRVA

fPtrPE

EXEHD

PEHD

* PE PE PE PE 파일파일파일파일 EXE EXE EXE EXE 헤더헤더헤더헤더 분석분석분석분석

파일파일 바이러스바이러스((3)3)

일반적인실행파일은MZ헤더와 PE/NE/LE헤더로구성됨

ICE1212 - Malicious Code©황규범.

Information and Communications University27

EXE PROGRAMMZfPtr

파일파일 바이러스바이러스((4)4)

CS:IP

파일크기파일크기파일크기파일크기=(wPage-1)*512+wMod

wHdSize=wHdPage*16bytes

fPtr=(wCS+wHdPage)*16+wIP

ICE1212 - Malicious Code©황규범.

Information and Communications University28

파일파일 바이러스바이러스(5)(5)

PEfPtr

SE PROGRAM CODE

ENTRYPOINTRVA

Page 8: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University29

주요주요 감염감염 기법기법(1)(1)

• ENTRYPOINTRVA수정하는수정하는수정하는수정하는기법기법기법기법

프로그램프로그램프로그램프로그램

프로그램프로그램프로그램프로그램

감염전감염전감염전감염전프로그램프로그램프로그램프로그램크기크기크기크기

감염전감염전감염전감염전

감염후감염후감염후감염후 바바바바이이이이러러러러스스스스

ENTRYPOINTRVA

PEHD

ENTRYPOINTRVA

• PEHD의의의의 dwEntryPointRVA를를를를수정하여수정하여수정하여수정하여바이러스바이러스바이러스바이러스실행실행실행실행

• 가장가장가장가장일반적인일반적인일반적인일반적인방법방법방법방법

ICE1212 - Malicious Code©황규범.

Information and Communications University30

감염전감염전감염전감염전 감염후감염후감염후감염후

ICE1212 - Malicious Code©황규범.

Information and Communications University31

주요주요 감염감염 기법기법(2)(2)

• ENTRYPOINT 앞부분을앞부분을앞부분을앞부분을수정하는수정하는수정하는수정하는기법기법기법기법

프로그램프로그램프로그램프로그램

프로그램프로그램프로그램프로그램

감염전감염전감염전감염전프로그램프로그램프로그램프로그램크기크기크기크기

감염전감염전감염전감염전

감염후감염후감염후감염후 바바바바이이이이러러러러스스스스

ENTRYPOINTRVA

PEHD

ENTRYPOINTRVA

• dwEntryPoint에에에에바이러스로바이러스로바이러스로바이러스로향하는향하는향하는향하는코드를코드를코드를코드를삽입함삽입함삽입함삽입함

• Win32/FunLove.4099

ICE1212 - Malicious Code©황규범.

Information and Communications University32

감염전감염전감염전감염전 감염후감염후감염후감염후

Page 9: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University33

주요주요 감염감염 기법기법(3)(3)

• 기생겹쳐쓰기법기생겹쳐쓰기법기생겹쳐쓰기법기생겹쳐쓰기법

프로그램프로그램프로그램프로그램

프로그램프로그램프로그램프로그램

감염전감염전감염전감염전프로그램프로그램프로그램프로그램크기크기크기크기

감염전감염전감염전감염전

감염후감염후감염후감염후 바바바바 이이이이 러러러러 스스스스

ENTRYPOINTRVA

PEHD

ENTRYPOINTRVA

• PE의의의의 Alignment로로로로인한인한인한인한공간에공간에공간에공간에바이러스바이러스바이러스바이러스코드코드코드코드분할분할분할분할삽입삽입삽입삽입

• Win95/CIH, Win95/Love

ICE1212 - Malicious Code©황규범.

Information and Communications University34

바이러스바이러스 분석분석 기초기초((계속계속))

감염전감염전감염전감염전

감염후감염후감염후감염후

ICE1212 - Malicious Code©황규범.

Information and Communications University35

• 실행점불분명화기법실행점불분명화기법실행점불분명화기법실행점불분명화기법(Entry Point Obscuring Scheme)

주요주요 감염감염 기법기법(4)(4)

프로그램프로그램프로그램프로그램

프로그램프로그램프로그램프로그램

감염전감염전감염전감염전프로그램프로그램프로그램프로그램크기크기크기크기

감염전감염전감염전감염전

감염후감염후감염후감염후 바바바바이이이이러러러러스스스스

VIRUS

BODY

감염전감염전감염전감염전 감염후감염후감염후감염후

ICE1212 - Malicious Code©황규범.

Information and Communications University36

감염전감염전감염전감염전 감염후감염후감염후감염후

Page 10: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University37

동향동향(1)(1)

• 2003년년년년 1월월월월 26일일일일 SQL_Overflow(Slammer)로로로로인터넷이인터넷이인터넷이인터넷이마비되었음마비되었음마비되었음마비되었음

• 전반적으로전반적으로전반적으로전반적으로웜이웜이웜이웜이증가하고증가하고증가하고증가하고있는있는있는있는것으로것으로것으로것으로보임보임보임보임(바이러스는바이러스는바이러스는바이러스는주춤주춤주춤주춤)

• 2003년년년년현재현재현재현재윈도우윈도우윈도우윈도우웜웜웜웜및및및및바이러스바이러스바이러스바이러스발견발견발견발견동향동향동향동향(국내국내국내국내)

• 전반적으로전반적으로전반적으로전반적으로웜과웜과웜과웜과트로이목마가트로이목마가트로이목마가트로이목마가증가하고증가하고증가하고증가하고있음있음있음있음

– ADSL/VDSL사용이사용이사용이사용이증가하면서증가하면서증가하면서증가하면서네트워크네트워크네트워크네트워크공격이공격이공격이공격이증가함증가함증가함증가함

– 네트워크상에서네트워크상에서네트워크상에서네트워크상에서 SQL/Overflow, Codered.F등의등의등의등의공격이공격이공격이공격이감지됨감지됨감지됨감지됨

– Personal Firewall 설치설치설치설치필요성이필요성이필요성이필요성이대두됨대두됨대두됨대두됨

17

2

5월

17

2

6월

1011138웜

2221바이러스

4월3월2월1월구분

ICE1212 - Malicious Code©황규범.

Information and Communications University38

동향동향(2)(2)

1 2 3 4

2003

•Win32/Yaha.worm.34304.B

•Win32/ExploreZIP.worm.91048

•Win32/Opasoft.worm.18432

•Win32/Agobot.worm.241664

•Win32/Idtsys.36864

•Win32/Opasoft.worm.18432.B

•Win32/Opasoft.worm.47616

•Win32/Agobot.worm.237568

•Win32/SQLExploit.worm.272385

•Win32/Agobot.worm.103936

•Win32/Slacke.worm.28672

•Win32/Slaph.worm.377856

•Win32/Valhome.worm.36864

•Win32/Netspree.worm.48080

•Win32/Roron.worm.13824.B•Win32/Roron.worm.81925

•Win32/Freethem.worm.47616.C•Win32/Agobot.worm.104448.C

•Win32/Agobot.worm.237568.B

•Win32/Scvcon.worm.5152

•Win32/JML

•Win32/JML.29696

•SQL_Overflow

•Win32/Gotit.worm.25480

•Win32/Slake.worm.155736

•Win32/Slake.worm.28672.B

•Win32/Cblode.worm.389181.B

•Win32/Slake..worm.28672.C•Win32/LovGate.worm.205824

•Win32/Deloder.worm.745984

•Win32/Agobot.worm.104448

•Win32/Yahan.worm.45568.B

•Win32/Yahan.worm.44544

•Win32/LovGate.84992.B

•Win32/LovGate.107008

•Win32/LovGate.107008.B

•Win32/LovGate.107008.B

•Win32/Gentry.20484

•Win32/Gentry.15872

Win32/LoveGate.107008•

Win32/Gotit.worm.75503•

Win32/Morbex.worm.55808 •

Win32/LovGate.worm.108032•Win32/LovGate.worm.107008.D •

5 6

•Win-Joke/Ghost.251838Win32/Deborm.worm.85504•

Win32/Opasoft.worm.32003•Win32/Banuris.worm.98304•

•Win32/LovGate.worm.120320

Win32/Roron.worm.71680•

Win32/SpyBot.worm.44064•

Win95/Tenrobot.B•

Win32/LoveGate.worm.127488•Win32/LoveGate.worm.127488.B•

Win32/Fizzer.worm•

Win32/Fizzer.worm.7680•

Win32/Fizzer.worm.15360•

Win32/LovGate.worm.132096•

Win32/Palyh.worm•

Win32/Valla.2048•

Win32/LovGate.worm.127488.E•

Win32/LovGate.worm.133120•

Win32/Damm.1537•

Win32/Pendex.worm.48640•

Win32/SpyBot.worm.44064.B•

Win32/Agobot.worm.104448•

Win32/Sobig.worm.C•

Win32/SdDrop.worm.26000•

Win32/Mhvc.worm.53251•

Win32/LovGate.worm.132096.B •

Win32/SpyBot.worm.27648 •

Win32/Bugbear.B •

Win32/Deborm.worm.96112 •

Win32/Mofei.worm.33165 •

Win32/LovGate.worm.142336 •

Win32/Mofei.worm.35788 •

Win32/IRCBot.worm.83414 •

Win32/Naco •

Win32/Adurk.worm.13312 •

Win32/Opasoft.worm.45558•

Win32/LovGate.worm.155648•

Win32/Kindal.worm.27648•

Win32/Yaha.worm.51424•

Win32/Randex.worm.32256•

Win32/Randex.worm.37376•

Win32/Randex.worm.40960•

Win32/Mumu.worm.16384•

ICE1212 - Malicious Code©황규범.

Information and Communications University39

동향동향(3)(3)

• 악성코드악성코드악성코드악성코드제작에제작에제작에제작에고급언어고급언어고급언어고급언어사용이사용이사용이사용이일반화됨일반화됨일반화됨일반화됨

– VISUAL BASIC, DELPHI등등등등고급언어를고급언어를고급언어를고급언어를이용함이용함이용함이용함

• 이메일을이메일을이메일을이메일을통한통한통한통한확산이확산이확산이확산이일반화됨일반화됨일반화됨일반화됨

– MIME의의의의취약점을취약점을취약점을취약점을이용하여이용하여이용하여이용하여확산확산확산확산

– 사용자에게사용자에게사용자에게사용자에게도움을도움을도움을도움을청하는청하는청하는청하는내용으로내용으로내용으로내용으로유포유포유포유포가능가능가능가능(취약점과취약점과취약점과취약점과무관무관무관무관함함함함)

• 취약점을취약점을취약점을취약점을이용한이용한이용한이용한악성코드악성코드악성코드악성코드확산확산확산확산주체로주체로주체로주체로이용됨이용됨이용됨이용됨

– IIS, SQL-Server나나나나기타기타기타기타윈도우윈도우윈도우윈도우커널의커널의커널의커널의취약점등을취약점등을취약점등을취약점등을이용할이용할이용할이용할가능성가능성가능성가능성

• 암호가암호가암호가암호가설정되지설정되지설정되지설정되지않은않은않은않은혹은혹은혹은혹은취약한취약한취약한취약한시스템시스템시스템시스템공격공격공격공격

– 관리편의로관리편의로관리편의로관리편의로암호를암호를암호를암호를사용하지사용하지사용하지사용하지않는않는않는않는시스템시스템시스템시스템공격공격공격공격

– Admininistrator의의의의암호를암호를암호를암호를설치하지않거나설치하지않거나설치하지않거나설치하지않거나간단하게간단하게간단하게간단하게설치한설치한설치한설치한경우경우경우경우공격공격공격공격대상이대상이대상이대상이됨됨됨됨

ICE1212 - Malicious Code©황규범.

Information and Communications University40

동향동향((4)4)

• 악성코드악성코드악성코드악성코드제작에제작에제작에제작에고급언어를고급언어를고급언어를고급언어를쓰는쓰는쓰는쓰는이유이유이유이유

– 비주얼베이직과비주얼베이직과비주얼베이직과비주얼베이직과같이같이같이같이학습이학습이학습이학습이용이한용이한용이한용이한언어를언어를언어를언어를이용함이용함이용함이용함

– 깊은깊은깊은깊은지식이지식이지식이지식이없더라도없더라도없더라도없더라도공개된공개된공개된공개된컨포넌트들을컨포넌트들을컨포넌트들을컨포넌트들을이용하여이용하여이용하여이용하여다양한다양한다양한다양한기능기능기능기능구현구현구현구현

– 메일보내기메일보내기메일보내기메일보내기, 네트워크네트워크네트워크네트워크폴더폴더폴더폴더접속등이접속등이접속등이접속등이용이함용이함용이함용이함

– 국내에서국내에서국내에서국내에서제작된제작된제작된제작된 I-Worm/White의의의의경우경우경우경우중학생이중학생이중학생이중학생이비주얼베이비주얼베이비주얼베이비주얼베이직으로직으로직으로직으로코딩함코딩함코딩함코딩함

– Win32/Nimda -> Visual C– Win32/Sircam.worm -> Delphi– SQL/Overflow(Slammer) -> ASM

• 실행실행실행실행파일파일파일파일압축을압축을압축을압축을통해통해통해통해다른다른다른다른코드로코드로코드로코드로변환됨변환됨변환됨변환됨

– 압축을압축을압축을압축을풀지못하므로풀지못하므로풀지못하므로풀지못하므로쉽게쉽게쉽게쉽게인지하기인지하기인지하기인지하기어려움어려움어려움어려움

– 웜의웜의웜의웜의발견후발견후발견후발견후변종의변종의변종의변종의경우경우경우경우실행실행실행실행파일파일파일파일압축된압축된압축된압축된경우가경우가경우가경우가매우매우매우매우많음많음많음많음

Page 11: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University41

동향동향(5)(5)

– Visual C• ITW의의의의약약약약 31.4%, ITZ의의의의 20.8%가가가가해당됨해당됨해당됨해당됨

• WININET 및및및및WSOCK, MAPI 라이브러리등라이브러리등라이브러리등라이브러리등이용함이용함이용함이용함

• Win32/Klez, Win32./Nimda등이등이등이등이대표적대표적대표적대표적

– VisualBasic• ITW의의의의 30%, ITZ의의의의 41.4%가가가가해당됨해당됨해당됨해당됨

• P-CODE기반의기반의기반의기반의컴파일된컴파일된컴파일된컴파일된코드코드코드코드생성생성생성생성

• 각종각종각종각종다양한다양한다양한다양한모듈들이모듈들이모듈들이모듈들이준비되어준비되어준비되어준비되어있음있음있음있음

– DELPHI• ITW의의의의약약약약 14.9%, ITZ의의의의 15.3%가가가가해당됨해당됨해당됨해당됨

• Win32/Sircam이이이이대표적대표적대표적대표적

• SMTP 및및및및 MAPI 컨포넌트들이컨포넌트들이컨포넌트들이컨포넌트들이이용됨이용됨이용됨이용됨

ICE1212 - Malicious Code©황규범.

Information and Communications University42

• 취약점을취약점을취약점을취약점을 이용한이용한이용한이용한 악성코드악성코드악성코드악성코드

– 버퍼버퍼버퍼버퍼 오버런을오버런을오버런을오버런을 통한통한통한통한 악성코드악성코드악성코드악성코드 실행실행실행실행

• IIS/IIS/IIS/IIS/CoderedCoderedCoderedCodered

– IIS IIS IIS IIS 서버의서버의서버의서버의 버퍼버퍼버퍼버퍼 오버플로우오버플로우오버플로우오버플로우 공격을공격을공격을공격을 통한통한통한통한 감염감염감염감염 확산확산확산확산

– MS01MS01MS01MS01----033 : Unchecked Buffer in Index Server ISAPI 033 : Unchecked Buffer in Index Server ISAPI 033 : Unchecked Buffer in Index Server ISAPI 033 : Unchecked Buffer in Index Server ISAPI Extension Could Enable Web Server CompromiseExtension Could Enable Web Server CompromiseExtension Could Enable Web Server CompromiseExtension Could Enable Web Server Compromise

• SQL/SQL/SQL/SQL/Overflow(SlammerOverflow(SlammerOverflow(SlammerOverflow(Slammer))))– UDP 378BytesUDP 378BytesUDP 378BytesUDP 378Bytes의의의의 패킷패킷패킷패킷 정보가정보가정보가정보가 SQL SQL SQL SQL 서버내에서서버내에서서버내에서서버내에서 실행됨실행됨실행됨실행됨

– 암호없는암호없는암호없는암호없는 경우경우경우경우

• JS/JS/JS/JS/SpidaSpidaSpidaSpida

– 1433143314331433포트로포트로포트로포트로 SASASASA로그인로그인로그인로그인 취약점취약점취약점취약점((((암호가암호가암호가암호가 없는없는없는없는 경우경우경우경우))))이용이용이용이용

– 메일메일메일메일 발송발송발송발송 모듈을모듈을모듈을모듈을 포함하여포함하여포함하여포함하여 SQLSQLSQLSQL서버서버서버서버 중요중요중요중요 정보정보정보정보 유출유출유출유출

– SQL SQL SQL SQL 서버의서버의서버의서버의 SA(System Administrator)SA(System Administrator)SA(System Administrator)SA(System Administrator)의의의의 암호암호암호암호 임의임의임의임의 설정설정설정설정

– Q313418: Unsecured SQL Server with Blank (NULL) SA Q313418: Unsecured SQL Server with Blank (NULL) SA Q313418: Unsecured SQL Server with Blank (NULL) SA Q313418: Unsecured SQL Server with Blank (NULL) SA Password Leaves Vulnerability to a WormPassword Leaves Vulnerability to a WormPassword Leaves Vulnerability to a WormPassword Leaves Vulnerability to a Worm

• Win32/Lovgate.worm Win32/Lovgate.worm Win32/Lovgate.worm Win32/Lovgate.worm 외외외외 다수다수다수다수

취약점취약점 이용이용(1)(1)

ICE1212 - Malicious Code©황규범.

Information and Communications University43

– 동작동작동작동작 취약점취약점취약점취약점 이용이용이용이용

• MIMEMIMEMIMEMIME----exploitexploitexploitexploit

– 아웃룩에서아웃룩에서아웃룩에서아웃룩에서 MIMEMIMEMIMEMIME의의의의 MultimediaMultimediaMultimediaMultimedia스트림을스트림을스트림을스트림을 처리의처리의처리의처리의 취약취약취약취약점을점을점을점을 이용이용이용이용

– 멀티미디어멀티미디어멀티미디어멀티미디어 스트림으로스트림으로스트림으로스트림으로 들어오는들어오는들어오는들어오는 파일을파일을파일을파일을 실행함실행함실행함실행함

• MID, WAVMID, WAVMID, WAVMID, WAV등등은등등은등등은등등은 WinAmpWinAmpWinAmpWinAmp 혹은혹은혹은혹은 MediaPlayerMediaPlayerMediaPlayerMediaPlayer등에등에등에등에의해의해의해의해 처리되나처리되나처리되나처리되나, , , , EXE, PIFEXE, PIFEXE, PIFEXE, PIF등은등은등은등은 자동자동자동자동 실행함실행함실행함실행함

• MS01MS01MS01MS01----20: Incorrect MIME Header Can Cause 20: Incorrect MIME Header Can Cause 20: Incorrect MIME Header Can Cause 20: Incorrect MIME Header Can Cause IE to Execute EIE to Execute EIE to Execute EIE to Execute E----mail Attachmentmail Attachmentmail Attachmentmail Attachment

취약점취약점 이용이용(2)(2)

멀티미디어멀티미디어멀티미디어멀티미디어스트림에스트림에스트림에스트림에 README.EXE 가가가가첨부되었고첨부되었고첨부되었고첨부되었고 BASE64 인코딩된인코딩된인코딩된인코딩된데이터가데이터가데이터가데이터가

TVqQAA로로로로시작하는시작하는시작하는시작하는경우경우경우경우악성코드일악성코드일악성코드일악성코드일가능성가능성가능성가능성높음높음높음높음

ICE1212 - Malicious Code©황규범.

Information and Communications University44

취약점취약점 이용이용(3)(3)

Page 12: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University45

고급언어이용고급언어이용(1)(1)

ICE1212 - Malicious Code©황규범.

Information and Communications University46

고급언어이용고급언어이용(2)(2)

ICE1212 - Malicious Code©황규범.

Information and Communications University47

• 메신저를메신저를메신저를메신저를 이용한이용한이용한이용한 악성코드악성코드악성코드악성코드 확산확산확산확산– 메시지메시지메시지메시지 전송외에전송외에전송외에전송외에 파일을파일을파일을파일을 전송전송전송전송 가능가능가능가능 – 전송된전송된전송된전송된 파일의파일의파일의파일의 수신은수신은수신은수신은 사용자의사용자의사용자의사용자의책임에책임에책임에책임에 의함으로의함으로의함으로의함으로 실수에실수에실수에실수에 의한의한의한의한 실행실행실행실행 가능성가능성가능성가능성 높음높음높음높음

– 대화대화대화대화 상대에서상대에서상대에서상대에서 악의적악의적악의적악의적 사이트사이트사이트사이트 URLURLURLURL을을을을 전송하여전송하여전송하여전송하여 실행토록함실행토록함실행토록함실행토록함

• JS/ExploitJS/ExploitJS/ExploitJS/Exploit----MessengerMessengerMessengerMessenger

– 파일파일파일파일 전송전송전송전송• MSN SDKMSN SDKMSN SDKMSN SDK를를를를 이용하여이용하여이용하여이용하여 파일을파일을파일을파일을 전송할전송할전송할전송할 수수수수 있음있음있음있음

• Win32/Supova.worm, Win32/BR2002.wormWin32/Supova.worm, Win32/BR2002.wormWin32/Supova.worm, Win32/BR2002.wormWin32/Supova.worm, Win32/BR2002.worm

• 기타기타기타기타 백오리피스와백오리피스와백오리피스와백오리피스와 같은같은같은같은 프로그램프로그램프로그램프로그램 악의악의악의악의 전송전송전송전송 가능가능가능가능

– 전송된전송된전송된전송된 파일은파일은파일은파일은 자동으로자동으로자동으로자동으로 수신하지수신하지수신하지수신하지 않아않아않아않아, , , , 주의하면주의하면주의하면주의하면 피해피해피해피해 예방예방예방예방 가능가능가능가능

• P2PP2PP2PP2P를를를를 이용한이용한이용한이용한 악성코드악성코드악성코드악성코드 확산확산확산확산– 음악음악음악음악 파일파일파일파일, , , , 영화영화영화영화 파일파일파일파일 및및및및 불법불법불법불법 소프트웨어소프트웨어소프트웨어소프트웨어 교환교환교환교환 채널로채널로채널로채널로 이용됨이용됨이용됨이용됨

– 실행실행실행실행 파일에파일에파일에파일에 바이러스바이러스바이러스바이러스 감염되어감염되어감염되어감염되어 유포될유포될유포될유포될 수수수수 있음있음있음있음

– 소리바다소리바다소리바다소리바다, , , , WinMxWinMxWinMxWinMx, , , , eDonkeyeDonkeyeDonkeyeDonkey and and and and eMuleeMuleeMuleeMule, , , , KazzarKazzarKazzarKazzar

P2PP2P를를 통한통한 확산확산(1)(1)

ICE1212 - Malicious Code©황규범.

Information and Communications University48

P2PP2P를를 통한통한 확산확산(2)(2)

Page 13: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University49

P2PP2P를를 통한통한 확산확산(3)(3)

ICE1212 - Malicious Code©황규범.

Information and Communications University50

P2PP2P를를 통한통한 확산확산(4)(4)

ICE1212 - Malicious Code©황규범.

Information and Communications University51

• HONEYPOT– 바이러스바이러스바이러스바이러스확산확산확산확산및및및및신종신종신종신종악성코드악성코드악성코드악성코드검출을검출을검출을검출을위한위한위한위한연구연구연구연구

– 인터넷인터넷인터넷인터넷상에서상에서상에서상에서공격이공격이공격이공격이의심되는의심되는의심되는의심되는포트를포트를포트를포트를열고열고열고열고동작을동작을동작을동작을시뮬레이시뮬레이시뮬레이시뮬레이트하여트하여트하여트하여공격을공격을공격을공격을받아줌받아줌받아줌받아줌 –공격된공격된공격된공격된내용은내용은내용은내용은파일로파일로파일로파일로저장함저장함저장함저장함

– 통상통상통상통상무결성검사를무결성검사를무결성검사를무결성검사를통하여통하여통하여통하여기존기존기존기존새로운새로운새로운새로운패킷에패킷에패킷에패킷에대한대한대한대한알람기능알람기능알람기능알람기능이이이이있음있음있음있음

– 현재현재현재현재Kaspersky Lab 그리고그리고그리고그리고 ICSA에서에서에서에서집중집중집중집중연구됨연구됨연구됨연구됨

• Kaspersky Lab. – Smallpot으로으로으로으로 Linux상에서상에서상에서상에서 네트워크로네트워크로네트워크로네트워크로유입되는유입되는유입되는유입되는바이러스나바이러스나바이러스나바이러스나웜이웜이웜이웜이이용하는이용하는이용하는이용하는대표적인대표적인대표적인대표적인포트를포트를포트를포트를감감감감시함시함시함시함(80, 25, 21, 1433, 1434.. Etc)

• ICSA – WormWatch로로로로Windows 상에서상에서상에서상에서네트워크로네트워크로네트워크로네트워크로유입유입유입유입되는되는되는되는바이러스나바이러스나바이러스나바이러스나웜이웜이웜이웜이이용하는이용하는이용하는이용하는대표적인대표적인대표적인대표적인포트를포트를포트를포트를감시함감시함감시함감시함( 80, 25, 21, 1433, 1434.. Etc) –메일로메일로메일로메일로송부함송부함송부함송부함

http://www.wormwatch.org

최근최근최근최근최근최근최근최근 연구연구연구연구연구연구연구연구 동향동향동향동향동향동향동향동향(1)(1)

ICE1212 - Malicious Code©황규범.

Information and Communications University52

SMALL POTSMALL POT(1)(1)

• Costin Raiu에에에에의해의해의해의해 2002년에년에년에년에소개됨소개됨소개됨소개됨– Rumania Anti-Virus Analyst(Kaspersky Lab에에에에있음있음있음있음)– http://www.craiu.com

• 개요개요개요개요– SmallPot = Small Honeypot– Cordred.C를를를를모니터링모니터링모니터링모니터링하기위해하기위해하기위해하기위해시작함시작함시작함시작함

– FTP, POP3, SMTP, SUN-RPC, TELNET, UPnP, MS-SQL, SSH, Netbus, SubSeven등을등을등을등을모니터링함모니터링함모니터링함모니터링함

– 방어를방어를방어를방어를위한위한위한위한것이것이것이것이아님아님아님아님공격공격공격공격로그로그로그로그및및및및공격공격공격공격패킷패킷패킷패킷수집용수집용수집용수집용

– WIN32로로로로환경에서환경에서환경에서환경에서작성한작성한작성한작성한것으로것으로것으로것으로알려져알려져알려져알려져있음있음있음있음

– 리눅스리눅스리눅스리눅스프로그램을프로그램을프로그램을프로그램을포팅하여포팅하여포팅하여포팅하여작성함작성함작성함작성함

Page 14: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University53

SMALL POTSMALL POT(2)(2)

2001.11 ~ 2002.7

ICE1212 - Malicious Code©황규범.

Information and Communications University54

SMALL POTSMALL POT(3)(3)

ICE1212 - Malicious Code©황규범.

Information and Communications University55

SMALL POTSMALL POT(4)(4)

• Visual C로로로로작성함작성함작성함작성함

• Multi-thread 환경환경환경환경및및및및WSOCK32.DLL를를를를이용하여이용하여이용하여이용하여코딩함코딩함코딩함코딩함

• 19 TCP port를를를를열어두고열어두고열어두고열어두고공격을공격을공격을공격을받아줌받아줌받아줌받아줌

• 베너를베너를베너를베너를 5초마다초마다초마다초마다변경하여변경하여변경하여변경하여공격자를공격자를공격자를공격자를속임속임속임속임

– 공격프로그램이공격프로그램이공격프로그램이공격프로그램이버전을버전을버전을버전을체크하는체크하는체크하는체크하는경우를경우를경우를경우를대비하여대비하여대비하여대비하여다양하게다양하게다양하게다양하게준비함준비함준비함준비함(취약점취약점취약점취약점있는있는있는있는버전에버전에버전에버전에대한대한대한대한공격이공격이공격이공격이이루어짐이루어짐이루어짐이루어짐)

ICE1212 - Malicious Code©황규범.

Information and Communications University56

SMALL POTSMALL POT(5)(5)

• 수신된수신된수신된수신된데이트데이트데이트데이트처리처리처리처리

– CRC를를를를이용하여이용하여이용하여이용하여기존기존기존기존데이터와데이터와데이터와데이터와비교비교비교비교

– 두개의두개의두개의두개의데이터데이터데이터데이터베이스베이스베이스베이스이용이용이용이용

• DB1– 많이많이많이많이확산된확산된확산된확산된유형유형유형유형

– External DB-패킷이패킷이패킷이패킷이깨졌거나깨졌거나깨졌거나깨졌거나중복된중복된중복된중복된패킷패킷패킷패킷

• DB2– SMALLPOT.CRC– ‘Fixed’ Request를를를를저장함저장함저장함저장함

– 특별한특별한특별한특별한파싱과정이파싱과정이파싱과정이파싱과정이필요함필요함필요함필요함 –내부에내부에내부에내부에특별한특별한특별한특별한처리가처리가처리가처리가포포포포함됨함됨함됨함됨

– 패킷패킷패킷패킷변조를변조를변조를변조를포함함포함함포함함포함함(공격공격공격공격대응대응대응대응)– 프락시에서프락시에서프락시에서프락시에서만든만든만든만든헤더를헤더를헤더를헤더를수정수정수정수정(제거제거제거제거)함함함함– 새로운새로운새로운새로운패킷의패킷의패킷의패킷의경우경우경우경우테스트를테스트를테스트를테스트를위해위해위해위해메일메일메일메일전송함전송함전송함전송함

Page 15: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University57

SMALL POTSMALL POT(6)(6)

•필터링필터링필터링필터링전전전전

•필터링필터링필터링필터링후후후후

ICE1212 - Malicious Code©황규범.

Information and Communications University58

SMALL POTSMALL POT(7)(7)

ICE1212 - Malicious Code©황규범.

Information and Communications University59

WORM CATCHERWORM CATCHER(1)(1)

• Roger Thompson에에에에의해의해의해의해 2001년에년에년에년에소개됨소개됨소개됨소개됨

– ICSA Lab에서에서에서에서진행함진행함진행함진행함

– http://www.wormwatcher.org

• 개요개요개요개요

– 2001년부터년부터년부터년부터시작됨시작됨시작됨시작됨

– 웜이웜이웜이웜이사용하는사용하는사용하는사용하는포트를포트를포트를포트를모니터링함모니터링함모니터링함모니터링함(80,21,22,23,25,445,53,111,515,1433,27374)

– 방어를방어를방어를방어를위한위한위한위한것이것이것이것이아님아님아님아님공격공격공격공격로그로그로그로그및및및및공격공격공격공격패킷패킷패킷패킷수집용수집용수집용수집용

– Windows환경에서환경에서환경에서환경에서동작함동작함동작함동작함

– 메일로메일로메일로메일로데이터를데이터를데이터를데이터를공유함공유함공유함공유함

– TCP, UDP포트를포트를포트를포트를사용자가사용자가사용자가사용자가지정할지정할지정할지정할수수수수있음있음있음있음

ICE1212 - Malicious Code©황규범.

Information and Communications University60

WORM CATCHERWORM CATCHER(2)(2)

Page 16: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University61

WORM CATCHERWORM CATCHER(3)(3)

• 수신된수신된수신된수신된데이트데이트데이트데이트처리처리처리처리

– CRC를를를를이용하여이용하여이용하여이용하여기존기존기존기존데이터와데이터와데이터와데이터와비교비교비교비교

– DB를를를를업데이트업데이트업데이트업데이트함으로써함으로써함으로써함으로써악성코드악성코드악성코드악성코드이름을이름을이름을이름을제공함제공함제공함제공함

– 수신된수신된수신된수신된패킷패킷패킷패킷데이터를데이터를데이터를데이터를일단위로일단위로일단위로일단위로저장함저장함저장함저장함• 필요에필요에필요에필요에따라서따라서따라서따라서하드디스크에하드디스크에하드디스크에하드디스크에저장된저장된저장된저장된데이터를데이터를데이터를데이터를이용함이용함이용함이용함

– 기존에기존에기존에기존에수신되었던수신되었던수신되었던수신되었던패킷은패킷은패킷은패킷은메일메일메일메일제목으로제목으로제목으로제목으로내용만내용만내용만내용만알려줌알려줌알려줌알려줌

– 새로운새로운새로운새로운패킷은패킷은패킷은패킷은수신된수신된수신된수신된패킷을패킷을패킷을패킷을첨부하여첨부하여첨부하여첨부하여메일로메일로메일로메일로알려줌알려줌알려줌알려줌

ICE1212 - Malicious Code©황규범.

Information and Communications University62

WORM CATCHERWORM CATCHER(4)(4)

ICE1212 - Malicious Code©황규범.

Information and Communications University63

WORM CATCHERWORM CATCHER(5)(5)

ICE1212 - Malicious Code©황규범.

Information and Communications University64

• AUTOMATION– 백신백신백신백신동작을동작을동작을동작을외부에서외부에서외부에서외부에서자동화자동화자동화자동화함함함함

– 다양한다양한다양한다양한백신의백신의백신의백신의동작을동작을동작을동작을자동화자동화자동화자동화함으로써함으로써함으로써함으로써테스트나테스트나테스트나테스트나HONEYPOT등에등에등에등에적용함적용함적용함적용함

– 엔진을엔진을엔진을엔진을라이센스할라이센스할라이센스할라이센스할수수수수없는없는없는없는연구기관이나연구기관이나연구기관이나연구기관이나학계에학계에학계에학계에필요함필요함필요함필요함

– Ahnlab및및및및Microsoft에서에서에서에서연구함연구함연구함연구함

• Ahnlab – V3Genie System으로으로으로으로전세계전세계전세계전세계Major급급급급백신백신백신백신제품제품제품제품을을을을모두모두모두모두컨트롤함컨트롤함컨트롤함컨트롤함(진단진단진단진단및및및및자동자동자동자동업데이트업데이트업데이트업데이트, 해당해당해당해당홈페이지홈페이지홈페이지홈페이지정정정정보보보보수집수집수집수집), 현재현재현재현재실제실제실제실제적용되어적용되어적용되어적용되어업무에업무에업무에업무에활용됨활용됨활용됨활용됨

• Microsoft –백신백신백신백신벤치마킹을벤치마킹을벤치마킹을벤치마킹을위해서위해서위해서위해서제작하였음을제작하였음을제작하였음을제작하였음을피력함피력함피력함피력함Scan-O-Matic이란이란이란이란이름으로이름으로이름으로이름으로발표됨발표됨발표됨발표됨

– Ahnlab의의의의 VBS, 메시지랩의메시지랩의메시지랩의메시지랩의 VirusEyes도도도도자동화시스템의자동화시스템의자동화시스템의자동화시스템의하나하나하나하나로로로로볼수볼수볼수볼수있음있음있음있음

최근최근최근최근최근최근최근최근 연구연구연구연구연구연구연구연구 동향동향동향동향동향동향동향동향(2)(2)

Page 17: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University65

• SANDBOX

– 악성코드로악성코드로악성코드로악성코드로의심되는의심되는의심되는의심되는샘플을샘플을샘플을샘플을격리된격리된격리된격리된환경에서환경에서환경에서환경에서테스트함테스트함테스트함테스트함

– 시뮬레이션시뮬레이션시뮬레이션시뮬레이션기법을기법을기법을기법을이용함이용함이용함이용함(실제실제실제실제실행시실행시실행시실행시위험위험위험위험부담이부담이부담이부담이큼큼큼큼)– 대부분대부분대부분대부분백신백신백신백신회사가회사가회사가회사가연구하고연구하고연구하고연구하고있음있음있음있음

– 현재는현재는현재는현재는윈도우윈도우윈도우윈도우프로그램의프로그램의프로그램의프로그램의 IMPORT TABLE의의의의함수들의함수들의함수들의함수들의상호상호상호상호연관관연관관연관관연관관계를계를계를계를통한통한통한통한자동자동자동자동분석이분석이분석이분석이소개됨소개됨소개됨소개됨

– Ahnlab의의의의경우경우경우경우 IMPORT TABLE 및및및및 C로로로로제작된제작된제작된제작된응용프로그램의응용프로그램의응용프로그램의응용프로그램의함함함함수내에수내에수내에수내에사용중인사용중인사용중인사용중인 API를를를를함수별로함수별로함수별로함수별로나열하여나열하여나열하여나열하여분석을분석을분석을분석을용이하게용이하게용이하게용이하게함함함함

• IA64– INTEL의의의의 64bit Architecture인인인인 IA64(Itenium2)가가가가채용한채용한채용한채용한Windows

XP 64bit 환경에서의환경에서의환경에서의환경에서의악성코드악성코드악성코드악성코드동작동작동작동작여부여부여부여부연구연구연구연구

– 레지스트리레지스트리레지스트리레지스트리구성구성구성구성및및및및OS환경환경환경환경차이로차이로차이로차이로기존기존기존기존악성코드악성코드악성코드악성코드동작동작동작동작불확실불확실불확실불확실

– 아이테니움아이테니움아이테니움아이테니움장비는장비는장비는장비는현재현재현재현재구매가구매가구매가구매가어렵고어렵고어렵고어렵고, 고가임고가임고가임고가임

최근최근최근최근최근최근최근최근 연구연구연구연구연구연구연구연구 동향동향동향동향동향동향동향동향(3)(3)

ICE1212 - Malicious Code©황규범.

Information and Communications University66

• ANTI-SPAM– 바이러스나바이러스나바이러스나바이러스나웜이웜이웜이웜이메일로메일로메일로메일로유입되는유입되는유입되는유입되는경우가경우가경우가경우가많음많음많음많음

– 스팸스팸스팸스팸메일이메일이메일이메일이제목을제목을제목을제목을지능적으로지능적으로지능적으로지능적으로선택하여선택하여선택하여선택하여실수를실수를실수를실수를유발함유발함유발함유발함

– 기업의기업의기업의기업의경우경우경우경우메일메일메일메일서버의서버의서버의서버의부하부하부하부하및및및및공간공간공간공간차지등차지등차지등차지등부작용부작용부작용부작용유발유발유발유발

– 서버에서버에서버에서버에설치되는설치되는설치되는설치되는백신에백신에백신에백신에 ANTI-SPAM기능을기능을기능을기능을부여하여부여하여부여하여부여하여동시동시동시동시처리를처리를처리를처리를기대함기대함기대함기대함(백백백백신이신이신이신이수신된수신된수신된수신된메일을메일을메일을메일을검사하는검사하는검사하는검사하는기능이기능이기능이기능이있음있음있음있음)

– 중요한중요한중요한중요한연구점은연구점은연구점은연구점은백신의백신의백신의백신의기능과기능과기능과기능과 ANTI-SPAM의의의의기능을기능을기능을기능을효율적으로효율적으로효율적으로효율적으로융합하고융합하고융합하고융합하고, 스팸메일에스팸메일에스팸메일에스팸메일에대한대한대한대한정의정의정의정의및및및및분류등이분류등이분류등이분류등이필요함필요함필요함필요함(백신은백신은백신은백신은오진을오진을오진을오진을중시하고중시하고중시하고중시하고, 스팸으로스팸으로스팸으로스팸으로걸러진걸러진걸러진걸러진메일이메일이메일이메일이민감한민감한민감한민감한경우경우경우경우)

• 부분부분부분부분진단법진단법진단법진단법(스트림스트림스트림스트림진단법진단법진단법진단법)– 네트워크네트워크네트워크네트워크상에서상에서상에서상에서일부의일부의일부의일부의패킷을패킷을패킷을패킷을이용한이용한이용한이용한진단법진단법진단법진단법 –진단능력의진단능력의진단능력의진단능력의수준을수준을수준을수준을정하고정하고정하고정하고, 그그그그에에에에맞추어맞추어맞추어맞추어진단진단진단진단수행수행수행수행 – IDS나나나나 FIREWALL과과과과달리달리달리달리결정적인결정적인결정적인결정적인증거를증거를증거를증거를가지고가지고가지고가지고진단진단진단진단해야해야해야해야함함함함 –오진에오진에오진에오진에대한대한대한대한대비대비대비대비

– 네트워크상에서네트워크상에서네트워크상에서네트워크상에서모든모든모든모든패킷을패킷을패킷을패킷을모아모아모아모아메모리든메모리든메모리든메모리든하드든하드든하드든하드든파일파일파일파일형태로형태로형태로형태로구성하는구성하는구성하는구성하는것은것은것은것은네트워크네트워크네트워크네트워크효율저하효율저하효율저하효율저하및및및및진단능력저하진단능력저하진단능력저하진단능력저하그리고그리고그리고그리고비용증가비용증가비용증가비용증가유발유발유발유발

– CRC나나나나 INTEGRITY CHECKING(웜웜웜웜진단시진단시진단시진단시이용이용이용이용)을을을을사용할사용할사용할사용할수수수수없게됨없게됨없게됨없게됨

– 전체적으로전체적으로전체적으로전체적으로 AV+IDS+FIREWALL 형태를형태를형태를형태를가질가질가질가질수수수수있음있음있음있음.

최근최근최근최근최근최근최근최근 연구연구연구연구연구연구연구연구 동향동향동향동향동향동향동향동향(4)(4)

ICE1212 - Malicious Code©황규범.

Information and Communications University67

AUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATION(1)(1)

• C-Style Function List on Win32• Win32 파일에파일에파일에파일에대하여대하여대하여대하여함수를함수를함수를함수를추출하고추출하고추출하고추출하고, 함수내함수내함수내함수내사용사용사용사용 API 분석분석분석분석•여러여러여러여러파일을파일을파일을파일을관찰하면관찰하면관찰하면관찰하면시작위치시작위치시작위치시작위치예측예측예측예측가능함가능함가능함가능함

ICE1212 - Malicious Code©황규범.

Information and Communications University68

AUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATION(2)(2)

• Header Information( V3 File Analyzer )•엔진에서엔진에서엔진에서엔진에서읽어들인읽어들인읽어들인읽어들인파일에파일에파일에파일에대한대한대한대한헤더헤더헤더헤더분석분석분석분석정보를정보를정보를정보를출력함출력함출력함출력함•진단에진단에진단에진단에필요한필요한필요한필요한주요주요주요주요정보만정보만정보만정보만출력함출력함출력함출력함

Page 18: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University69

AUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATION(3)(3)

• Header Information( V3VIEW )• V3GENIE가가가가분석한분석한분석한분석한 헤더헤더헤더헤더정보정보정보정보출력출력출력출력•상세상세상세상세분석되며분석되며분석되며분석되며 Import/Export 테이블테이블테이블테이블이상이상이상이상유무도유무도유무도유무도확인확인확인확인가능함가능함가능함가능함

ICE1212 - Malicious Code©황규범.

Information and Communications University70

AUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATION(4)(4)

ICE1212 - Malicious Code©황규범.

Information and Communications University71

AUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATION(5)(5)

ICE1212 - Malicious Code©황규범.

Information and Communications University72

AUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATION(6)(6)

Page 19: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University73

AUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATIONAUTOMATION(7)(7)

ICE1212 - Malicious Code©황규범.

Information and Communications University74

악성코드악성코드악성코드악성코드대응은대응은대응은대응은끝이없는끝이없는끝이없는끝이없는싸움싸움싸움싸움!

그러나그러나그러나그러나가치가가치가가치가가치가적은적은적은적은소모전소모전소모전소모전!

결론은결론은결론은결론은여러분과여러분과여러분과여러분과함께함께함께함께

결론결론결론결론결론결론결론결론

참고자료참고자료

ICE1212 - Malicious Code©황규범.

Information and Communications University76

실수실수 방지방지 대책대책

DMZ(검사비대상검사비대상검사비대상검사비대상영역영역영역영역)를를를를설정함설정함설정함설정함→→→→실수실수실수실수예방예방예방예방

Page 20: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University77

분석도구분석도구(2)(2)

• TaskInfo2002의의의의장점장점장점장점– TASK의의의의정확한정확한정확한정확한위치위치위치위치(Path)와와와와실행실행실행실행형태를형태를형태를형태를알알알알수수수수있음있음있음있음

– 프로세스를프로세스를프로세스를프로세스를디버거를디버거를디버거를디버거를이용하여이용하여이용하여이용하여디버깅디버깅디버깅디버깅가능하도록가능하도록가능하도록가능하도록함함함함

– 시스템시스템시스템시스템관련관련관련관련(CPU 및및및및 Driver등등등등) 정보가정보가정보가정보가확인이확인이확인이확인이매우매우매우매우용이함용이함용이함용이함

– GUI(Graphic User Interface)가가가가매우매우매우매우뛰어나고뛰어나고뛰어나고뛰어나고, 시각적시각적시각적시각적효과가효과가효과가효과가우수함우수함우수함우수함

– 설치설치설치설치프로그램을프로그램을프로그램을프로그램을지원하여지원하여지원하여지원하여설치설치설치설치및및및및사용이사용이사용이사용이용이함용이함용이함용이함

• TaskInfo2002의의의의단점단점단점단점– 프로세스가프로세스가프로세스가프로세스가사용중인사용중인사용중인사용중인모듈을모듈을모듈을모듈을확인할확인할확인할확인할수수수수없음없음없음없음

– 실행실행실행실행중인중인중인중인프로세스가프로세스가프로세스가프로세스가서비스인서비스인서비스인서비스인경우경우경우경우종료할종료할종료할종료할수수수수없음없음없음없음

• Copyright ProtectionShareware Software(Registration fee, $35/copy)

ICE1212 - Malicious Code©황규범.

Information and Communications University78

분석도구분석도구(1)(1)

• TaskInfo2002(Igor Arsenin)– 현재현재현재현재시스템의시스템의시스템의시스템의주요주요주요주요정보를정보를정보를정보를확인확인확인확인가능함가능함가능함가능함(드라이버드라이버드라이버드라이버, 프로세스프로세스프로세스프로세스, 모듈모듈모듈모듈, 공유폴더공유폴더공유폴더공유폴더)– http://www.iarsn.com/index.html

시스템시스템시스템시스템정보정보정보정보

프로세스프로세스프로세스프로세스및및및및생성생성생성생성 THREAD

ICE1212 - Malicious Code©황규범.

Information and Communications University79

분석도구분석도구(2)(2)

• TaskInfo2002의의의의장점장점장점장점– TASK의의의의정확한정확한정확한정확한위치위치위치위치(Path)와와와와실행실행실행실행형태를형태를형태를형태를알알알알수수수수있음있음있음있음

– 프로세스를프로세스를프로세스를프로세스를디버거를디버거를디버거를디버거를이용하여이용하여이용하여이용하여디버깅디버깅디버깅디버깅가능하도록가능하도록가능하도록가능하도록함함함함

– 시스템시스템시스템시스템관련관련관련관련(CPU 및및및및 Driver등등등등) 정보가정보가정보가정보가확인이확인이확인이확인이매우매우매우매우용이함용이함용이함용이함

– GUI(Graphic User Interface)가가가가매우매우매우매우뛰어나고뛰어나고뛰어나고뛰어나고, 시각적시각적시각적시각적효과가효과가효과가효과가우수함우수함우수함우수함

– 설치설치설치설치프로그램을프로그램을프로그램을프로그램을지원하여지원하여지원하여지원하여설치설치설치설치및및및및사용이사용이사용이사용이용이함용이함용이함용이함

• TaskInfo2002의의의의단점단점단점단점– 프로세스가프로세스가프로세스가프로세스가사용중인사용중인사용중인사용중인모듈을모듈을모듈을모듈을확인할확인할확인할확인할수수수수없음없음없음없음

– 실행실행실행실행중인중인중인중인프로세스가프로세스가프로세스가프로세스가서비스인서비스인서비스인서비스인경우경우경우경우종료할종료할종료할종료할수수수수없음없음없음없음

• Copyright ProtectionShareware Software(Registration fee, $35/copy)

ICE1212 - Malicious Code©황규범.

Information and Communications University80

분석도구분석도구(3)(3)

FLCSS가가가가 THREAD 1개로개로개로개로실행중임실행중임실행중임실행중임

Page 21: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University81

분석도구분석도구(4)(4)

• FILEMON/NTFILEMON– 바이러스에바이러스에바이러스에바이러스에의한의한의한의한파일파일파일파일관련관련관련관련엑세스엑세스엑세스엑세스모니터링모니터링모니터링모니터링

– 인터넷을인터넷을인터넷을인터넷을통해서통해서통해서통해서구할구할구할구할수수수수있는있는있는있는프로그램프로그램프로그램프로그램(공개공개공개공개소프트웨어소프트웨어소프트웨어소프트웨어)– http://www.sysinternals.com/ntw2k/utilities.shtml

프로그램프로그램프로그램프로그램이름이름이름이름(프로세스프로세스프로세스프로세스)

파일파일파일파일관련관련관련관련작업작업작업작업(READ/WRITE)

ICE1212 - Malicious Code©황규범.

Information and Communications University82

분석도구분석도구(5)(5)

• FILEMON/NTFILEMON의의의의필요성필요성필요성필요성

– 행동행동행동행동(Behavior)을을을을모니터링모니터링모니터링모니터링할할할할수수수수있음있음있음있음

– 바이러스의바이러스의바이러스의바이러스의경우경우경우경우 fOpen->fWrite->fClose의의의의과정이과정이과정이과정이반드시반드시반드시반드시있음있음있음있음

– 파일파일파일파일관련관련관련관련억세스를억세스를억세스를억세스를보다보다보다보다정확하게정확하게정확하게정확하게간단하게간단하게간단하게간단하게확인이확인이확인이확인이가능함가능함가능함가능함

– 프로그램프로그램프로그램프로그램디버그시디버그시디버그시디버그시불필요한불필요한불필요한불필요한파일파일파일파일억세스를억세스를억세스를억세스를확인할확인할확인할확인할수수수수있음있음있음있음

– 현재현재현재현재실행중인실행중인실행중인실행중인프로그램들의프로그램들의프로그램들의프로그램들의파일파일파일파일억세스를억세스를억세스를억세스를확인할확인할확인할확인할수수수수있음있음있음있음

– 필터링을필터링을필터링을필터링을통하여통하여통하여통하여원하는원하는원하는원하는정보만정보만정보만정보만혹은혹은혹은혹은원하는원하는원하는원하는프로그램의프로그램의프로그램의프로그램의억세스만억세스만억세스만억세스만확인할확인할확인할확인할수수수수있음있음있음있음

– 소스를소스를소스를소스를제공함으로제공함으로제공함으로제공함으로보다보다보다보다보강된보강된보강된보강된기능을기능을기능을기능을부여할부여할부여할부여할수수수수있음있음있음있음

• FILEMON/NTFILEMON의의의의제한점제한점제한점제한점

– 파일파일파일파일엑세스와엑세스와엑세스와엑세스와관련한관련한관련한관련한구체적인구체적인구체적인구체적인사항사항사항사항(Write 내용등등내용등등내용등등내용등등)을을을을확인하기확인하기확인하기확인하기어려움어려움어려움어려움

• Copyright Protection– Freeware

ICE1212 - Malicious Code©황규범.

Information and Communications University83

분석도구분석도구(6)(6)

분석에분석에분석에분석에있어서있어서있어서있어서도움이도움이도움이도움이됨됨됨됨

ICE1212 - Malicious Code©황규범.

Information and Communications University84

분석도구분석도구(7)(7)

Page 22: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University85

분석도구분석도구(8)(8)

IVP에에에에의한의한의한의한파일파일파일파일접근을접근을접근을접근을보여줌보여줌보여줌보여줌지속으로지속으로지속으로지속으로 FindFirst->FileOpen->FileClose->Delete->FindNext

ICE1212 - Malicious Code©황규범.

Information and Communications University86

분석도구분석도구(9)(9)

SYSTURBO에에에에의한의한의한의한파일파일파일파일접근을접근을접근을접근을보여줌보여줌보여줌보여줌지속으로지속으로지속으로지속으로 fGet->fOpen->fSeek->fClose형태임형태임형태임형태임

ICE1212 - Malicious Code©황규범.

Information and Communications University87

분석도구분석도구(10)(10)

Exefile\shell\command가가가가수정되면수정되면수정되면수정되면실행하는실행하는실행하는실행하는프로그램의프로그램의프로그램의프로그램의 path가가가가모두모두모두모두 SIRC32.EXE로로로로되어되어되어되어있음있음있음있음

ICE1212 - Malicious Code©황규범.

Information and Communications University88

분석도구분석도구(11)(11)

• REGMON/NTREGMON– 바이러스에바이러스에바이러스에바이러스에의한의한의한의한레지스트리레지스트리레지스트리레지스트리접근접근접근접근및및및및억세스억세스억세스억세스모니터링모니터링모니터링모니터링

– 인터넷을인터넷을인터넷을인터넷을통해서통해서통해서통해서구할구할구할구할수수수수있는있는있는있는프로그램프로그램프로그램프로그램(공개공개공개공개소프트웨어소프트웨어소프트웨어소프트웨어)– http://www.sysinternals.com/ntw2k/utilities.shtml

프로그램프로그램프로그램프로그램이름이름이름이름(프로세스프로세스프로세스프로세스)

레지스트리레지스트리레지스트리레지스트리관련관련관련관련작업작업작업작업(READ/WRITE)

Page 23: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University89

분석도구분석도구(1(12)2)

• REGEDIT의의의의필요성필요성필요성필요성– 인터넷인터넷인터넷인터넷웜의웜의웜의웜의경우경우경우경우레지스트리레지스트리레지스트리레지스트리등록을등록을등록을등록을통하여통하여통하여통하여재부팅시재부팅시재부팅시재부팅시실행실행실행실행되도록되도록되도록되도록함함함함

– 레지스트리에는레지스트리에는레지스트리에는레지스트리에는시스템시스템시스템시스템관련관련관련관련설정설정설정설정및및및및보안보안보안보안사항들이사항들이사항들이사항들이저장되어저장되어저장되어저장되어있음있음있음있음

– 웜이나웜이나웜이나웜이나네트워크로네트워크로네트워크로네트워크로확산되는확산되는확산되는확산되는바이러스들은바이러스들은바이러스들은바이러스들은반드시반드시반드시반드시레지스트리를레지스트리를레지스트리를레지스트리를이용함이용함이용함이용함

– 공유폴더공유폴더공유폴더공유폴더(Shared Folder)의의의의정보를정보를정보를정보를쉽게쉽게쉽게쉽게확인확인확인확인조작조작조작조작가능함가능함가능함가능함

• 주요주요주요주요필드필드필드필드– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

Ex– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServi

ces(Windows 9x/Me)– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServi

cesOnce(Windows 9x/Me)– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Scripting Host\Locations– HKEY_CURRENT_USER\Network– HKEY_CLASSES_ROOT\exefile\shell\open\command

ICE1212 - Malicious Code©황규범.

Information and Communications University90

분석도구분석도구(1(13)3)

ICE1212 - Malicious Code©황규범.

Information and Communications University91

다형성다형성 바이러스바이러스(1)(1)

Win95/Fono

• 다형성다형성다형성다형성바이러스의바이러스의바이러스의바이러스의특징특징특징특징

– 디코더디코더디코더디코더(암호암호암호암호) + 바이러스코드로바이러스코드로바이러스코드로바이러스코드로구성됨구성됨구성됨구성됨

– 디코더의디코더의디코더의디코더의구성이구성이구성이구성이완전히완전히완전히완전히다름다름다름다름

– 바이러스코드는바이러스코드는바이러스코드는바이러스코드는동일함동일함동일함동일함

– KPA(Known Plaintext Attack)이이이이가능함가능함가능함가능함

• 진단은진단은진단은진단은어떻게어떻게어떻게어떻게?– 현재현재현재현재소개된소개된소개된소개된방법방법방법방법

• Heuristic Method• Emulation Method• X-Ray Technique

ICE1212 - Malicious Code©황규범.

Information and Communications University92

다형성다형성 바이러스바이러스(2)(2)

• 부트부트부트부트바이러스바이러스바이러스바이러스– 디코더디코더디코더디코더코드의코드의코드의코드의일부와일부와일부와일부와암호키를암호키를암호키를암호키를변경시킴변경시킴변경시킴변경시킴

170170170170E:0100 FA CLIE:0100 FA CLIE:0100 FA CLIE:0100 FA CLI170E:0101 33C0 XOR AX,AX170E:0101 33C0 XOR AX,AX170E:0101 33C0 XOR AX,AX170E:0101 33C0 XOR AX,AX170E:0103 8ED0 MOV SS,AX170E:0103 8ED0 MOV SS,AX170E:0103 8ED0 MOV SS,AX170E:0103 8ED0 MOV SS,AX170E:0105 BC007C MOV SP,7C00170E:0105 BC007C MOV SP,7C00170E:0105 BC007C MOV SP,7C00170E:0105 BC007C MOV SP,7C00170E:0108 B7B8 MOV BH,B8170E:0108 B7B8 MOV BH,B8170E:0108 B7B8 MOV BH,B8170E:0108 B7B8 MOV BH,B8170E:010A BE187C MOV SI,7C18170E:010A BE187C MOV SI,7C18170E:010A BE187C MOV SI,7C18170E:010A BE187C MOV SI,7C18170E:010D 36 SS:170E:010D 36 SS:170E:010D 36 SS:170E:010D 36 SS:170E:010E 303C XOR [SI],BH170E:010E 303C XOR [SI],BH170E:010E 303C XOR [SI],BH170E:010E 303C XOR [SI],BH170E:0110 81EEFFFF SUB SI,FFFF170E:0110 81EEFFFF SUB SI,FFFF170E:0110 81EEFFFF SUB SI,FFFF170E:0110 81EEFFFF SUB SI,FFFF170E:0114 FEC7 INC BH170E:0114 FEC7 INC BH170E:0114 FEC7 INC BH170E:0114 FEC7 INC BH170E:0116 75F5 JNZ 010D170E:0116 75F5 JNZ 010D170E:0116 75F5 JNZ 010D170E:0116 75F5 JNZ 010D170E:0118 43 INC BX170E:0118 43 INC BX170E:0118 43 INC BX170E:0118 43 INC BX170E:0119 74A8 JZ 00C3170E:0119 74A8 JZ 00C3170E:0119 74A8 JZ 00C3170E:0119 74A8 JZ 00C3170E:011B 96 XCHG SI,AX170E:011B 96 XCHG SI,AX170E:011B 96 XCHG SI,AX170E:011B 96 XCHG SI,AX170E:011C B5BD MOV CH,BD170E:011C B5BD MOV CH,BD170E:011C B5BD MOV CH,BD170E:011C B5BD MOV CH,BD170E:011E 0F DB 0F170E:011E 0F DB 0F170E:011E 0F DB 0F170E:011E 0F DB 0F170E:011F B91321 MOV CX,2113170E:011F B91321 MOV CX,2113170E:011F B91321 MOV CX,2113170E:011F B91321 MOV CX,2113

1111byte XORbyte XORbyte XORbyte XOR

복호루틴복호루틴복호루틴복호루틴((((계속계속계속계속 변함변함변함변함))))

Page 24: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University93

다형성다형성 바이러스바이러스(3)(3)

• 도스용도스용도스용도스용파일파일파일파일바이러스바이러스바이러스바이러스– 디코더디코더디코더디코더코드의코드의코드의코드의일부와일부와일부와일부와암호키를암호키를암호키를암호키를변경시킴변경시킴변경시킴변경시킴

ICE1212 - Malicious Code©황규범.

Information and Communications University94

다형성다형성 바이러스바이러스(4)(4)

Connie.II

ICE1212 - Malicious Code©황규범.

Information and Communications University95

다형성다형성 바이러스바이러스(5)(5)

Connie.II

ICE1212 - Malicious Code©황규범.

Information and Communications University96

다형성다형성 바이러스바이러스(6)(6)

FCL

Page 25: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University97

다형성다형성 바이러스바이러스(7)(7)

FCL

ICE1212 - Malicious Code©황규범.

Information and Communications University98

다형성다형성 바이러스바이러스(8)(8)

• 다형성다형성다형성다형성매크로매크로매크로매크로바이러스바이러스바이러스바이러스

ICE1212 - Malicious Code©황규범.

Information and Communications University99

다형성다형성 바이러스바이러스(9)(9)

• 다형성다형성다형성다형성매크로매크로매크로매크로바이러스바이러스바이러스바이러스

ICE1212 - Malicious Code©황규범.

Information and Communications University100

다형성다형성 바이러스바이러스(10)(10)

•스크립트스크립트스크립트스크립트바이러스바이러스바이러스바이러스

Page 26: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University101

다형성다형성 바이러스바이러스(11)(11)

Win95/Fono

ICE1212 - Malicious Code©황규범.

Information and Communications University102

다형성다형성 바이러스바이러스(12)(12)

Win95/Fono

ICE1212 - Malicious Code©황규범.

Information and Communications University103

다형성다형성 바이러스바이러스(13)(13)

Win95/Fono

ICE1212 - Malicious Code©황규범.

Information and Communications University104

다형성다형성 바이러스바이러스(14)(14)

• 다형성다형성다형성다형성바이러스바이러스바이러스바이러스진단진단진단진단기술기술기술기술

– 코드코드코드코드비교비교비교비교및및및및계산법계산법계산법계산법

• 바이러스가바이러스가바이러스가바이러스가가지는가지는가지는가지는코드의코드의코드의코드의특징을특징을특징을특징을이용함이용함이용함이용함

• KPA를를를를이용하여이용하여이용하여이용하여암호키암호키암호키암호키및및및및암호암호암호암호방법을방법을방법을방법을추출함추출함추출함추출함

• 디코딩후디코딩후디코딩후디코딩후문자열문자열문자열문자열검사를검사를검사를검사를이용할이용할이용할이용할수수수수있음있음있음있음

– OPCODE의의의의니모닉을니모닉을니모닉을니모닉을이용한이용한이용한이용한코드코드코드코드조합조합조합조합

• 레지스터와레지스터와레지스터와레지스터와일부일부일부일부제한된제한된제한된제한된코드코드코드코드변형이변형이변형이변형이일어나는일어나는일어나는일어나는다형성다형성다형성다형성적용적용적용적용

• 많은수의많은수의많은수의많은수의다형성다형성다형성다형성바이러스가바이러스가바이러스가바이러스가적용될적용될적용될적용될수수수수있음있음있음있음

• OPCODE만을만을만을만을가지고가지고가지고가지고바이러스바이러스바이러스바이러스여부여부여부여부진단진단진단진단

– 코드코드코드코드조합법조합법조합법조합법

• 바이러스가바이러스가바이러스가바이러스가가지는가지는가지는가지는코드코드코드코드조합조합조합조합특성을특성을특성을특성을찾아찾아찾아찾아이를이를이를이를검출검출검출검출

Page 27: 목차 - KAISTcaislab.kaist.ac.kr/lecture/2003/summer/ice1212/material/030710... · Introduction to Anti-Virus Kyu-beom Hwang Ahnlab, Inc. Anti-virus Technology Unit ICE1212 - Malicious

ICE1212 - Malicious Code©황규범.

Information and Communications University105

미발견미발견 악성코드악성코드 대응대응(1)(1)

• AV대응기술대응기술대응기술대응기술

– 휴리스틱휴리스틱휴리스틱휴리스틱기술기술기술기술 –시만텍시만텍시만텍시만텍

• 기발견기발견기발견기발견패턴을패턴을패턴을패턴을데이터베이스화하여데이터베이스화하여데이터베이스화하여데이터베이스화하여비교후비교후비교후비교후기능기능기능기능판별판별판별판별 -정적정적정적정적

• 명령어명령어명령어명령어일부를일부를일부를일부를실행하여실행하여실행하여실행하여결과를결과를결과를결과를추출함추출함추출함추출함 -동적동적동적동적

– 에뮬레이션에뮬레이션에뮬레이션에뮬레이션기술기술기술기술 –기타기타기타기타백신회사백신회사백신회사백신회사

• 동적휴리스틱과동적휴리스틱과동적휴리스틱과동적휴리스틱과유사하며유사하며유사하며유사하며, CPU 와와와와 OS를를를를에뮬레이션에뮬레이션에뮬레이션에뮬레이션함함함함

• 사용사용사용사용API의의의의함수함수함수함수목록을목록을목록을목록을추출하며추출하며추출하며추출하며악성코드악성코드악성코드악성코드유무유무유무유무판별판별판별판별

– 무결성무결성무결성무결성검증검증검증검증 –일부일부일부일부샘플샘플샘플샘플수집용수집용수집용수집용

• 메일서버등에서메일서버등에서메일서버등에서메일서버등에서첨부첨부첨부첨부파일이파일이파일이파일이동일하게동일하게동일하게동일하게여러여러여러여러번번번번수신되는수신되는수신되는수신되는경우경우경우경우이이이이

를를를를검증하여검증하여검증하여검증하여관리자에게관리자에게관리자에게관리자에게통보하고통보하고통보하고통보하고블러킹블러킹블러킹블러킹

※※※※백신에백신에백신에백신에사용되기사용되기사용되기사용되기위해서는위해서는위해서는위해서는오진오진오진오진문제가문제가문제가문제가고려되어야고려되어야고려되어야고려되어야함함함함 –적용적용적용적용어려움어려움어려움어려움

ICE1212 - Malicious Code©황규범.

Information and Communications University106

미발견미발견 악성코드악성코드 대응대응(2)(2)

• 분석분석분석분석(테스팅테스팅테스팅테스팅) 환경환경환경환경

– 모니터링모니터링모니터링모니터링툴툴툴툴

• 각종각종각종각종이벤트이벤트이벤트이벤트(행위행위행위행위)를를를를모니터링모니터링모니터링모니터링하기하기하기하기위한위한위한위한툴툴툴툴이용이용이용이용

• 각각각각툴의툴의툴의툴의로그로그로그로그기록을기록을기록을기록을기준으로기준으로기준으로기준으로악성악성악성악성여부여부여부여부판별판별판별판별

• 파일모니터파일모니터파일모니터파일모니터, 네트워크모니터네트워크모니터네트워크모니터네트워크모니터, 레지스트리모니터등이레지스트리모니터등이레지스트리모니터등이레지스트리모니터등이필요함필요함필요함필요함

• 웜의웜의웜의웜의경우경우경우경우분석분석분석분석및및및및대응대응대응대응방법도방법도방법도방법도추출할추출할추출할추출할수수수수있음있음있음있음

– 에뮬레이션에뮬레이션에뮬레이션에뮬레이션기술기술기술기술

• 고성능고성능고성능고성능컴퓨터를컴퓨터를컴퓨터를컴퓨터를이용하여이용하여이용하여이용하여각각각각코드를코드를코드를코드를모두모두모두모두에뮬레이션하여에뮬레이션하여에뮬레이션하여에뮬레이션하여암호암호암호암호

및및및및다형성다형성다형성다형성여부여부여부여부및및및및치료치료치료치료방법방법방법방법판별판별판별판별

• 실험샘플을실험샘플을실험샘플을실험샘플을통하여통하여통하여통하여치료치료치료치료방법방법방법방법및및및및진단진단진단진단방법을방법을방법을방법을추출할추출할추출할추출할수수수수있음있음있음있음

ICE1212 - Malicious Code©황규범.

Information and Communications University107

미발견미발견 악성코드악성코드 대응대응(3)(3)

• 기술연구가기술연구가기술연구가기술연구가어려운어려운어려운어려운이유이유이유이유

– 웜이나웜이나웜이나웜이나바이러스가바이러스가바이러스가바이러스가고급언어로고급언어로고급언어로고급언어로작성됨작성됨작성됨작성됨

• 어셈블리와어셈블리와어셈블리와어셈블리와달리달리달리달리각종각종각종각종함수함수함수함수구조가구조가구조가구조가복잡함복잡함복잡함복잡함

• 필연적으로필연적으로필연적으로필연적으로코드의코드의코드의코드의크기가크기가크기가크기가커커커커에뮬레이션에뮬레이션에뮬레이션에뮬레이션시간이시간이시간이시간이많으듦많으듦많으듦많으듦

• 검사시검사시검사시검사시시스템시스템시스템시스템성능성능성능성능저하저하저하저하요인으로요인으로요인으로요인으로작용함작용함작용함작용함

– 에뮬레이션의에뮬레이션의에뮬레이션의에뮬레이션의어려움어려움어려움어려움

• IA32 명령어와명령어와명령어와명령어와 OS를를를를에뮬레이션에뮬레이션에뮬레이션에뮬레이션해야해야해야해야함함함함(방대함방대함방대함방대함)

– 보통보통보통보통선택적으로선택적으로선택적으로선택적으로에뮬레이션을에뮬레이션을에뮬레이션을에뮬레이션을시도함시도함시도함시도함

• 악성코드악성코드악성코드악성코드제작자에제작자에제작자에제작자에의해의해의해의해에뮬레이션에뮬레이션에뮬레이션에뮬레이션기법이기법이기법이기법이크랙당함크랙당함크랙당함크랙당함

• 일반적으로일반적으로일반적으로일반적으로시스템내에는시스템내에는시스템내에는시스템내에는악성코드가악성코드가악성코드가악성코드가아닌경우가아닌경우가아닌경우가아닌경우가일반적임일반적임일반적임일반적임

ICE1212 - Malicious Code©황규범.

Information and Communications University108

미발견미발견 악성코드악성코드 대응대응(4)(4)

• 기술연구가기술연구가기술연구가기술연구가어려운어려운어려운어려운이유이유이유이유

– 연구연구연구연구비용에비용에비용에비용에대해대해대해대해효과가효과가효과가효과가적음적음적음적음

• 신종신종신종신종악성코드의악성코드의악성코드의악성코드의경우경우경우경우미발견미발견미발견미발견악성코드악성코드악성코드악성코드대응대응대응대응기술에기술에기술에기술에감지되지감지되지감지되지감지되지않않않않

음음음음

– 악성코드악성코드악성코드악성코드제작자가제작자가제작자가제작자가백신백신백신백신진단진단진단진단여부를여부를여부를여부를테스트하여테스트하여테스트하여테스트하여제작함제작함제작함제작함

• 시스템시스템시스템시스템리소스를리소스를리소스를리소스를많이많이많이많이요구함으로요구함으로요구함으로요구함으로실용성이실용성이실용성이실용성이떨어짐떨어짐떨어짐떨어짐

• 지속적인지속적인지속적인지속적인관리와관리와관리와관리와업그레이드를업그레이드를업그레이드를업그레이드를해야해야해야해야함함함함

• 시간과시간과시간과시간과비용비용비용비용, 그리고그리고그리고그리고결과에결과에결과에결과에대한대한대한대한타협이타협이타협이타협이필요함필요함필요함필요함

• 다형성다형성다형성다형성및및및및암호화암호화암호화암호화바이러스바이러스바이러스바이러스대응시대응시대응시대응시에뮬레이션만으로에뮬레이션만으로에뮬레이션만으로에뮬레이션만으로대응하기대응하기대응하기대응하기

힘듦힘듦힘듦힘듦 -> 규모가큰규모가큰규모가큰규모가큰루프루프루프루프및및및및스택에스택에스택에스택에코드코드코드코드적재적재적재적재기법등을기법등을기법등을기법등을이용함이용함이용함이용함