03.07.2013 Views

목차 정의 정의(2) - Li 등의 ID기반 방송형 Signcryption기법의 안전성 ...

목차 정의 정의(2) - Li 등의 ID기반 방송형 Signcryption기법의 안전성 ...

목차 정의 정의(2) - Li 등의 ID기반 방송형 Signcryption기법의 안전성 ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Introduction to Anti-Virus<br />

Anti Virus<br />

ICE1212 - Malicious Code<br />

WORM<br />

<strong>정의</strong><br />

VIRUS<br />

ANTISOCIAL<br />

PROGRAM<br />

MALICIOUS CODES “MALCODES”<br />

TROJAN<br />

HORSE<br />

© 황규범.<br />

Information and Communications University<br />

Kyu-beom Hwang<br />

Ahnlab, Inc.<br />

Anti-virus Technology Unit<br />

3<br />

<strong>정의</strong><br />

<strong>정의</strong><br />

정보 정보 수집<br />

명명법 명명법<br />

명명법<br />

동향<br />

동향<br />

최근 최근 연구 연구 동향<br />

결론<br />

결론<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

<strong>목차</strong><br />

© 황규범.<br />

Information and Communications University<br />

<strong>정의</strong>(2) <strong>정의</strong> (2)<br />

악성 악성 코드 코드(바이러스<br />

코드 바이러스 바이러스 포함 포함)의 포함<br />

<strong>정의</strong><br />

<strong>정의</strong><br />

– 제작자가 제작자가 의도적 의도적(Intentionally)으로<br />

의도적<br />

으로 으로 사용자에게 사용자에게 피해를<br />

피해를<br />

주고자 주고자 주고자 만든 만든 모든 악의의 악의의 악의의 목적 목적(Harmful)을 목적<br />

가진 가진 가진 프로그램<br />

프로그램<br />

및 매크로 매크로, 매크로 스크립트등 스크립트등 스크립트등 컴퓨터 컴퓨터 상에서 상에서 작동하는 작동하는 모든 실행<br />

실행<br />

가능한 가능한 형태 형태(Executable)<br />

형태<br />

구성<br />

구성<br />

– 바이러스 바이러스(VIRUS)<br />

바이러스<br />

– 트로이목마 트로이목마(TROJAN 트로이목마 HORSE)<br />

– 웜(WORM)<br />

– 혹스 혹스(HOAX)<br />

혹스<br />

– 조크 조크(JOKE)<br />

조크<br />

© 황규범.<br />

Information and Communications University<br />

2<br />

4


ICE1212 - Malicious Code<br />

<strong>정의</strong>(3) <strong>정의</strong> (3)<br />

COMPUTER VIRUS<br />

– Fred Cohen, “Computer Viruses – Theory and Experience”, 1984<br />

We define a computer ‘virus’ as a program can ‘infect’ other<br />

programs by modifying them to include a possibly evolved copy of<br />

itself. With the infection property, a virus can spread throughout<br />

a computer system or network using the authorizations of every<br />

user using it to infect their programs. Every program that gets<br />

infected may also act as a virus and thus the infection grows.<br />

– Lawrence E. Bassham & W. Timothy Polk, “Treat Assessment of<br />

Malicious Code and Human Threats”, 1992.<br />

The following are necessary characteristics of a virus<br />

– Replication<br />

– Requires a host program as a carrier<br />

– Activated by external action<br />

– Replication limited to (virtual) system<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

<strong>정의</strong>(5) <strong>정의</strong> (5)<br />

컴퓨터 컴퓨터 컴퓨터 바이러스 바이러스<br />

바이러스<br />

– 감염 감염 감염 대상 대상 대상 및자기 자기 자기 복제 복제 능력 을가지는 가지는 실행 실행 실행 가능한 가능한 모든<br />

모든<br />

유형<br />

유형<br />

감염대상<br />

자기복제<br />

바이러스 트로이목마 웜<br />

파일/부트 X X<br />

Y X Y<br />

존재형태 기생/겹침 독립 독립<br />

복구방법 치료<br />

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

구분함<br />

© 황규범.<br />

Information and Communications University<br />

삭제 삭제<br />

5<br />

7<br />

ICE1212 - Malicious Code<br />

<strong>정의</strong>(4) <strong>정의</strong> (4)<br />

WORM<br />

– A worm is a sophisticated piece of replicating code that uses its own<br />

program coding to spread, with minimal user intervention. A worm<br />

might attach itself to piece of outgoing email or use a file transfer<br />

command between trust systems. Worms take advantage of holes in<br />

software and exploit system. Unlike viruses, worm rarely host<br />

themselves within a legitimate file or boot.<br />

TROJAN HORSE<br />

– A Trojan is a non-replicating program masquerading as one type of<br />

program with its real intent hidden from the user.<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

정보수집<br />

Malcode(Malicious Code)<br />

– Defined as all kinds of executable programs, or macros, or<br />

scripts that are produced in order to intentionally damage<br />

computer systems. Thus, bugs occurred by programmers<br />

mistakes, which are not intentionally produced are not<br />

included in the category of malicious codes. However the bugs<br />

being really harmful to computer users are sometimes<br />

categorized as malicious codes.<br />

Malware( Malicious software)<br />

– A general purpose term encompassing virus, Trojan Horse and<br />

Worm programs(and possibly others). The main idea is that a<br />

program is malware if it ‘does something bad or disagreable’.<br />

The experts may debate whether a password stealer, remote<br />

access Trojan or ‘network creeper’ is a virus, Trojan or Worm,<br />

but all are generally agreed to be malware.<br />

© 황규범.<br />

Information and Communications University<br />

6<br />

8


ICE1212 - Malicious Code<br />

정보수집(2) 정보수집 (2)<br />

VX( Virus eXchange)<br />

– A term originally used to describe the open exchange of virus<br />

samples, that usually involved “swapping”(as commonly seen<br />

on VX BBSes).<br />

– In contrast, the careful, professionally moderated transfer of<br />

samples between antivirus researchers is predicated on high<br />

level of personal trust between those sending and receiving the<br />

samples<br />

VXer( Virus eXchanger)<br />

– A person involved in VX activities.<br />

– However, there was no handy, short term for ‘virus writer’ so<br />

‘Vxer’ is also used to mean ‘someone involved in virus<br />

exchange or virus writing’<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

정보 수집(4) 수집 4)<br />

VIRUS….?<br />

– 일반적으로 일반적으로 사용하는 사용하는 단어<br />

단어<br />

– 긍정적인 긍정적인 긍정적인 단어<br />

단어<br />

– 주로 주로 ANTI-VIRUS의 의미가 의미가 같이 포함됨<br />

그렇다면 그렇다면.. 그렇다면 그렇다면 어떤 어떤 단어를 단어를….? 단어를<br />

– 우리말에도 우리말에도 (비)속어가 속어가 존재함<br />

존재함<br />

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

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

– FTP/HTTP SEARCH를 사용함<br />

사용함<br />

© 황규범.<br />

Information and Communications University<br />

9<br />

11<br />

ItW( In the Wild )<br />

ICE1212 - Malicious Code<br />

정보수집(3) 정보수집 (3)<br />

– When a virus is reported to us by two or more Reporters, it's a<br />

pretty good indication that the virus is out there, spreading,<br />

causing real problems to users. We consider such a virus to<br />

be 'In the Wild'.<br />

– On the 15th day of each month, the formal Wild<strong>Li</strong>st is<br />

extracted from all verified reports, and published at<br />

http://www.wildlist.org.<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

정보 수집(5) 수집 5)<br />

© 황규범.<br />

Information and Communications University<br />

YAHOO<br />

10<br />

12


ICE1212 - Malicious Code<br />

악성코드 악성코드 이름<br />

이름<br />

ICE1212 - Malicious Code<br />

정보 수집(6) 수집 6)<br />

© 황규범.<br />

Information and Communications University<br />

명명법<br />

명명법(1) (1)<br />

(1)<br />

(1)<br />

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

– 각 기업마다 기업마다 명명원칙을 가지고 정함<br />

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

CARO, Public Channel<br />

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

이름이 이름이 달라지는 달라지는 이유<br />

이유<br />

© 황규범.<br />

Information and Communications University<br />

ALTAVISTA<br />

– 발견 발견 지역의 차이 차이(주로 차이<br />

주로 미주 미주, 미주 유럽 유럽, 유럽 아시아순으로<br />

아시아순으로 아시아순으로 발견됨 발견됨) 발견됨<br />

– 주 근무시간대의 근무시간대의 차이 차이(시차가<br />

차이<br />

시차가 큰원인임 원인임 원인임) 원인임<br />

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

– 협의를 협의를 진행할 충분한 시간적 시간적 여유가 여유가 없음 없음(시차 없음<br />

시차 및고객 고객 피해 방지 방지) 방지<br />

13<br />

15<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

정보 수집(7) 수집 7)<br />

© 황규범.<br />

Information and Communications University<br />

명명법<br />

명명법(2) 2)<br />

2)<br />

2)<br />

© 황규범.<br />

Information and Communications University<br />

LYCOS<br />

기본 기본 기본 형태<br />

– 접두어는 접두어는 보통 플랫폼을 플랫폼을 지칭 지칭함(작동<br />

지칭 작동 환경 환경) 환경<br />

윈도우 윈도우95이상<br />

윈도우 윈도우 이상 이상(Win32/, 이상 윈도우 윈도우2000(Win2K/)등<br />

윈도우<br />

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

정함<br />

– 접미어는 접미어는 웜(.worm)인지 인지 인지, 인지 트로이목마 트로이목마(.trojan) 트로이목마 트로이목마 등을 등을 표시함 표시함, 표시함 바<br />

이러스인 이러스인 경우 접미어를 접미어를 사용하지 사용하지 않음<br />

– 최종접미어는 최종접미어는 파일 손상 손상 여부 여부 및형태 형태 형태(.html 형태 혹은 혹은 .eml) 혹은 혹은<br />

혹은<br />

@mm과 같이 같이 다량 메일 메일 발송 발송 기능 <strong>등의</strong> <strong>등의</strong> 특징을 특징을 표시함<br />

표시함<br />

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

최종접미어<br />

Win32/ Colevo .worm . 188928 @mm<br />

14<br />

16


접두어<br />

접두어<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

명명법<br />

명명법(3) 3)<br />

3)<br />

3)<br />

© 황규범.<br />

Information and Communications University<br />

명명법<br />

명명법(5) (5)<br />

(5)<br />

(5)<br />

I-Worm.Win32.Colevo.188928<br />

© 황규범.<br />

Information and Communications University<br />

17<br />

19<br />

접미어<br />

접미어<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

명명법<br />

명명법(4) 4)<br />

4)<br />

4)<br />

© 황규범.<br />

Information and Communications University<br />

명명법<br />

명명법(6) 6)<br />

6)<br />

6)<br />

CARO[4]<br />

– Computer Anti-virus Research Organizations<br />

– 유럽을 중심으로한 안티바이러스 소사이어티<br />

– A New Virus Naming Convention, 1991을 정함<br />

– 유럽연구회사외에는 잘 안씀. -> 단순화 추세<br />

– 현재 CARO Namming Convension개정 작업중<br />

– 길이가 짧은 바이러스에 대한 명명법으로 Family_Name으로<br />

Trivial을 정하고, 변종은 Trivial.length로 표기함<br />

– 특징이 없는 바이러스는 Silly로 정하고, 변종은 Silly.len<br />

– 상주형과 비상주형(resident versus non-resident)으로 분류<br />

© 황규범.<br />

Information and Communications University<br />

18<br />

20


기본 기본 형태<br />

형태<br />

– 바이러스 바이러스 이름은 이름은 기본적으로 기본적으로 4개 부분으로 부분으로 나뉘며 나뉘며 각 부분은<br />

부분은<br />

점(Point, ‘.’)으로 으로 으로 구분함<br />

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

구분함<br />

– Non-Alphanumeric 글자도 글자도 허용하나 허용하나 사용은 사용은 사용은 제한하는 제한하는 제한하는 것을<br />

것을<br />

권장함<br />

권장함<br />

– 밑줄 밑줄(Underscore, 밑줄<br />

‘_’)은 가독성 가독성(readability)을 가독성<br />

높이기 높이기 위하 위하<br />

위하<br />

여 사용함<br />

사용함<br />

글자수가 글자수가 글자수가 20글자 글자 이상이 될 경우는 경우는 경우는 가급적이면 가급적이면 짧은 짧은 이름<br />

이름<br />

을정함 정함<br />

– 짧은 짧은 짧은 이름이 이름이 사용하기 사용하기 편리함 편리함<br />

ICE1212 - Malicious Code<br />

명명법<br />

명명법(7) 7)<br />

7)<br />

7)<br />

Family_Name .Group_Name .Major_Variant .Minor_Variant<br />

ICE1212 - Malicious Code<br />

인류 인류 .황색인종 황색인종 .한국인 한국인 .수원거주자 수원거주자<br />

© 황규범.<br />

Information and Communications University<br />

명명법<br />

명명법(9) 9)<br />

9)<br />

9)<br />

새 명명법의 명명법의 명명법의 문제점<br />

문제점<br />

– 기존에 기존에 사용하던 사용하던 이름을 변환해야 변환해야 하는가 하는가? 하는가<br />

– 이름이 이름이 너무 너무 길어지는건 길어지는건 길어지는건 아닌가 아닌가? 아닌가<br />

– 형식을 형식을 통일한다고 통일한다고 하더라도 하더라도 이름이 같을 같을 수있는가 있는가 있는가? 있는가<br />

– 이 새로운 새로운 명명법은 명명법은 Ahnlab, McAfee, Symantec, F-PROT등<br />

은크게 크게 달아지는 점없음 없음 but Hauri, AVP, TrendMicro는 변<br />

경 불가피<br />

불가피<br />

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

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

– Win32/Babo.worm.189232.packed -> worm://Win32/Babo.189232#upx<br />

– W97M/Hua.B, X97M/Hua.B or O97M/Hua.B -> {W97M, X97M}/Hua.B<br />

© 황규범.<br />

Information and Communications University<br />

21<br />

23<br />

논의중인 논의중인 새 명명법<br />

명명법<br />

– 기존의 기존의 명명법으로 명명법으로 수용할 수용할 수없는 없는 플랫폼이나 플랫폼이나 악성코드 악성코드 형태<br />

형태<br />

등이 등이 추가되어 추가되어 각업체별 업체별 고유 방법 방법 사용으로 사용으로 인한 인한 혼란 방지<br />

방지<br />

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

추가<br />

됨<br />

– 기본 기본 구조는 구조는 구조는 총 8개 항목으로 항목으로 구성하며 구성하며 각 항목은 항목은 항목은 생략될 생략될 수있<br />

음<br />

:///<br />

ICE1212 - Malicious Code<br />

명명법<br />

명명법(8) 8)<br />

8)<br />

8)<br />

Malcode_Type:// / <br />

Virus:// W32/ Celevo .188928<br />

파일 파일(File) 파일 바이러스<br />

바이러스<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

파일 바이러스<br />

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

COM, EXE인 파일에 파일에 감염시킴 감염시킴. 감염시킴<br />

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

크기의<br />

간단한 간단한 형태의 형태의 바이러스 바이러스. 바이러스<br />

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

암호화되어<br />

보호되는 보호되는 형태로 암호화 암호화/복호화<br />

암호화 복호화 루틴은 루틴은 변경되지 변경되지 않고<br />

않고<br />

Key값만 값만 변경되는 변경되는 형태<br />

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

암호화되어<br />

있으며 있으며 매번 매번 암호화 암호화/복호화<br />

암호화<br />

복호화 루틴이 변경되는 변경되는 형태 형태. 형태<br />

© 황규범.<br />

Information and Communications University<br />

.B<br />

22<br />

24


MZ<br />

MZ<br />

MZ<br />

CS:IP<br />

CS:IP<br />

fPtr<br />

fPtr<br />

PE<br />

fPtr<br />

NE<br />

ICE1212 - Malicious Code<br />

파일 바이러스(2) 바이러스 (2)<br />

EXE PROGRAM<br />

CS:IP<br />

EXE/PE PROGRAM<br />

EntryPointRVA<br />

EXE/NE PROGRAM<br />

CS:EIP<br />

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

구성됨<br />

MZ<br />

fPtr<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

파일 바이러스(4) 바이러스 4)<br />

EXE PROGRAM<br />

CS:IP<br />

© 황규범.<br />

Information and Communications University<br />

DOS16<br />

WIN32<br />

WIN16<br />

25<br />

파일크기 파일크기=(wPage-1)*512+wMod<br />

파일크기<br />

wHdSize=wHdPage*16bytes<br />

fPtr=(wCS+wHdPage)*16+wIP<br />

27<br />

* PE PE 파일 파일 EXE EXE 헤더 헤더 분석<br />

MZ<br />

EXE HEADER<br />

ICE1212 - Malicious Code<br />

파일 바이러스(3) 바이러스 3)<br />

fPtr<br />

PE<br />

EXE(PE) PROGRAM<br />

EntryPointRVA<br />

EXEHD<br />

PEHD<br />

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

fPtr<br />

PE<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

파일 바이러스(5) 바이러스 (5)<br />

SE PROGRAM CODE<br />

ENTRYPOINTRVA<br />

© 황규범.<br />

Information and Communications University<br />

26<br />

28


ICE1212 - Malicious Code<br />

주요 감염 기법<br />

ENTRYPOINTRVA수정하는 수정하는 수정하는 기법<br />

기법<br />

감염전<br />

감염전<br />

PEHD<br />

프로그램<br />

프로그램<br />

기법(1) (1)<br />

감염전 감염전 감염전 프로그램 프로그램 프로그램 크기 크기<br />

크기<br />

ENTRYPOINTRVA<br />

감염후 감염후<br />

프로그램<br />

프로그램<br />

바 이 러 스<br />

© 황규범.<br />

Information and Communications University<br />

ENTRYPOINTRVA<br />

PEHD의 dwEntryPointRVA를 수정하여 바이러스 바이러스 실행<br />

실행<br />

가장 가장 일반적인 일반적인 방법<br />

방법<br />

ICE1212 - Malicious Code<br />

주요 감염 기법<br />

ENTRYPOINT 앞부분을 앞부분을 앞부분을 수정하는 수정하는 수정하는 기법<br />

기법<br />

감염전<br />

감염전<br />

PEHD<br />

프로그램<br />

프로그램<br />

기법(2) (2)<br />

감염전 감염전 프로그램 프로그램 크기<br />

크기<br />

ENTRYPOINTRVA<br />

감염후 감염후 감염후<br />

①<br />

프로그램<br />

프로그램<br />

바 이 러 스<br />

②<br />

ENTRYPOINTRVA<br />

dwEntryPoint에 바이러스로 바이러스로 향하는 향하는 코드를 코드를 삽입함<br />

삽입함<br />

Win32/FunLove.4099<br />

© 황규범.<br />

Information and Communications University<br />

29<br />

31<br />

감염전 감염전<br />

감염후<br />

감염후<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

감염전 감염전<br />

감염후<br />

감염후<br />

© 황규범.<br />

Information and Communications University<br />

30<br />

32


기생겹쳐쓰기법<br />

기생겹쳐쓰기법<br />

감염전<br />

감염전<br />

ICE1212 - Malicious Code<br />

주요 감염 기법<br />

PEHD<br />

기법(3) (3)<br />

감염전 감염전 감염전 프로그램 프로그램 프로그램 크기 크기<br />

크기<br />

프로그램 프로그램<br />

프로그램<br />

ENTRYPOINTRVA<br />

감염후 감염후<br />

바 프로그램<br />

프로그램 이 러 스<br />

ENTRYPOINTRVA<br />

PE의 Alignment로인한 인한 공간에 공간에 바이러스 코드 코드 분할 분할 삽입<br />

삽입<br />

Win95/CIH, Win95/Love<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

주요 감염 기법<br />

기법(4) (4)<br />

실행점불분명화기법<br />

실행점불분명화기법(Entry 실행점불분명화기법 Point Obscuring Scheme)<br />

감염전<br />

감염전<br />

감염전 감염전 프로그램 프로그램 프로그램 크기<br />

크기<br />

프로그램<br />

프로그램<br />

감염후 감염후 감염후<br />

프로그램<br />

프로그램<br />

바 이 러 스<br />

감염전 감염전<br />

감염후 감염후<br />

감염후<br />

© 황규범.<br />

Information and Communications University<br />

VIRUS<br />

BODY<br />

33<br />

35<br />

바이러스 분석 기초(계속 기초 계속)<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

감염전<br />

감염전<br />

감염후<br />

감염후<br />

© 황규범.<br />

Information and Communications University<br />

감염전 감염전<br />

감염후<br />

감염후<br />

© 황규범.<br />

Information and Communications University<br />

34<br />

36


ICE1212 - Malicious Code<br />

동향(1) 동향 (1)<br />

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

마비되었음<br />

전반적으로 전반적으로 웜이 웜이 증가하고 있는 있는 것으로 보임 보임(바이러스는<br />

보임 바이러스는 주춤 주춤) 주춤<br />

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

구분<br />

바이<br />

러스<br />

웜<br />

1월<br />

1<br />

8<br />

2월<br />

2<br />

13<br />

3월<br />

5월<br />

전반적으로 전반적으로 웜과 웜과 트로이목마가 증가하고 증가하고 증가하고 있음<br />

있음<br />

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

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

– Personal Firewall 설치 설치 필요성이 필요성이 대두됨<br />

ICE1212 - Malicious Code<br />

2<br />

11<br />

4월<br />

10<br />

17<br />

© 황규범.<br />

Information and Communications University<br />

© 황규범.<br />

Information and Communications University<br />

2<br />

동향(3) 동향 (3)<br />

2<br />

6월<br />

악성코드 악성코드 악성코드 제작에 제작에 제작에 고급언어 고급언어 사용이 사용이 사용이 일반화됨<br />

일반화됨<br />

– VISUAL BASIC, DELPHI등 고급언어를 고급언어를 이용함<br />

이용함<br />

이메일을 이메일을 통한 통한 확산이 일반화됨<br />

일반화됨<br />

– MIME의 취약점을 이용하여 확산<br />

– 사용자에게 사용자에게 사용자에게 도움을 도움을 도움을 청하는 청하는 내용으로 유포 유포 가능 가능(취약점과<br />

가능 취약점과 무관<br />

무관<br />

함)<br />

취약점을 취약점을 이용한 이용한 악성코드 악성코드 확산 주체로 이용됨<br />

이용됨<br />

– IIS, SQL-Server나 기타 윈도우 커널의 커널의 취약점등을 취약점등을 이용할<br />

이용할<br />

가능성<br />

가능성<br />

암호가 암호가 설정되지 설정되지 설정되지 않은 혹은 혹은 혹은 취약한 시스템 시스템 시스템 공격<br />

공격<br />

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

공격<br />

– Admininistrator의 암호를 암호를 설치하지않거나 설치하지않거나 간단하게 간단하게 설치한<br />

설치한<br />

경우 경우 경우 공격 공격 대상이 됨<br />

2<br />

17<br />

37<br />

39<br />

2003<br />

ICE1212 - Malicious Code<br />

동향(2) 동향 (2)<br />

Win32/LovGate.worm.132096.B<br />

Win32/Opasoft.worm.32003<br />

Win32/Banuris.worm.98304 Win32/LovGate.worm.142336<br />

Win32/LovGate.worm.107008.D<br />

Win32/Damm.1537<br />

Win32/LovGate.worm.108032<br />

Win32/Kindal.worm.27648<br />

Win32/Valla.2048<br />

Win32/Gentry.15872 Win32/Mhvc.worm.53251<br />

Win32/Slake..worm.28672.C<br />

Win32/Mofei.worm.35788<br />

Win32/LovGate.worm.205824 Win32/LovGate.worm.132096<br />

Win32/JML.29696 Win32/Gentry.20484<br />

Win32/Mumu.worm.16384<br />

Win32/Palyh.worm<br />

Win32/JML Win32/LovGate.84992.BWin32/Fizzer.worm.15360<br />

Win32/LovGate.worm.155648<br />

Win32/SpyBot.worm.27648<br />

Win32/Scvcon.worm.5152 Win32/LovGate.107008 Win32/Fizzer.worm.7680<br />

SQL_Overfl<br />

Win32/Agobot.worm.237568.B<br />

Win32/SdDrop.worm.26000<br />

ow<br />

Win32/Fizzer.worm Win32/Yaha.worm.51424<br />

Win32/SQLExploit.worm.272385 Win32/Deloder.worm.745984<br />

Win32/Pendex.worm.48640<br />

Win32/Agobot.worm.104448.C<br />

Win32/Agobot.worm.237568<br />

Win32/LoveGate.worm.127488<br />

Win32/Opasoft.worm.45558<br />

Win32/Freethem.worm.47616.C Win32/LoveGate.worm.127488.B<br />

Win32/Opasoft.worm.18432.B<br />

Win32/Mofei.worm.33165<br />

Win32/Roron.worm.81925 Win32/LovGate.107008.BWin32/LovGate.worm.127488.E<br />

Win32/Opasoft.worm.47616 Win32/Roron.worm.13824.B Win32/LovGate.107008.B Win32/Sobig.worm.C<br />

Win32/Agobot.worm.104448<br />

Win32/Randex.worm.32256<br />

Win32/Idtsys.36864 Win32/Netspree.worm.48080<br />

Win95/Tenrobot.B Win32/Bugbear.B<br />

Win32/LoveGate.107008<br />

Win32/Agobot.worm.241664<br />

Win32/Valhome.worm.36864<br />

Win32/LovGate.worm.133120<br />

Win32/Slake.worm.28672.B Win32/SpyBot.worm.44064 Win32/IRCBot.worm.83414<br />

Win32/Opasoft.worm.18432<br />

Win32/Slaph.worm.377856Win32/Yahan.worm.45568.B<br />

Win32/Agobot.worm.104448<br />

Win32/Slake.worm.155736<br />

Win32/Randex.worm.37376<br />

Win32/ExploreZIP.worm.91048 Win32/Slacke.worm.28672<br />

Win32/Roron.worm.71680 Win32/Deborm.worm.96112<br />

Win32/Gotit.worm.25480<br />

Win32/Yahan.worm.44544 Win32/SpyBot.worm.44064.B Win32/Randex.worm.40960<br />

Win32/Yaha.worm.34304.B Win32/Agobot.worm.103936Win32/Gotit.worm.75503<br />

Win32/Naco<br />

Win32/Cblode.worm.389181.B Win-Joke/Ghost.251838<br />

Win32/Deborm.worm.85504<br />

Win32/Adurk.worm.13312<br />

Win32/Morbex.worm.55808 Win32/LovGate.worm.120320<br />

1 2 3 4<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

동향(4) 동향 4)<br />

악성코드 악성코드 제작에 제작에 제작에 고급언어를 고급언어를 쓰는 쓰는 이유<br />

이유<br />

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

– 깊은 깊은 지식이 지식이 지식이 없더라도 없더라도 공개된 공개된 컨포넌트들을 컨포넌트들을 이용하여 이용하여 이용하여 다양한 다양한<br />

기능 기능 구현<br />

구현<br />

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

용이함<br />

– 국내에서 국내에서 제작된 I-Worm/White의 경우 경우 경우 중학생이 중학생이 중학생이 비주얼베이<br />

비주얼베이<br />

직으로 직으로 코딩함<br />

코딩함<br />

– Win32/Nimda -> Visual C<br />

– Win32/Sircam.worm -> Delphi<br />

– SQL/Overflow(Slammer) -> ASM<br />

실행 실행 실행 파일 파일 압축을 압축을 압축을 통해 다른 다른 코드로 코드로 변환됨 변환됨<br />

변환됨<br />

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

어려움<br />

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

많음<br />

© 황규범.<br />

Information and Communications University<br />

5<br />

6<br />

38<br />

40


ICE1212 - Malicious Code<br />

동향(5) 동향 (5)<br />

– Visual C<br />

ITW의 약 31.4%, ITZ의 20.8%가 해당됨<br />

해당됨<br />

WININET 및 WSOCK, MAPI 라이브러리등 라이브러리등 이용함<br />

이용함<br />

Win32/Klez, Win32./Nimda등이 등이 등이 대표적<br />

대표적<br />

– VisualBasic<br />

ITW의 30%, ITZ의 41.4%가 해당됨<br />

해당됨<br />

P-CODE기반의 기반의 컴파일된 컴파일된 컴파일된 코드 코드 생성<br />

생성<br />

각종 각종 다양한 다양한 모듈들이 모듈들이 준비되어 있음 있음<br />

있음<br />

– DELPHI<br />

ITW의 약 14.9%, ITZ의 15.3%가 해당됨<br />

해당됨<br />

Win32/Sircam이 대표적 대표적<br />

SMTP 및 MAPI 컨포넌트들이 컨포넌트들이 이용됨<br />

이용됨<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

취약점 이용<br />

이용(2) (2)<br />

– 동작 동작 취약점 취약점 이용<br />

MIME-exploit<br />

MIME<br />

exploit<br />

– 아웃룩에서 아웃룩에서 MIME의 MIME<br />

Multimedia Multimedia스트림을<br />

Multimedia 스트림을 처리의 처리의 취약 취약<br />

취약<br />

점을 점을 이용<br />

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

실행함<br />

MID, MID, WAV WAV등등은<br />

WAV 등등은 WinAmp WinAmp 혹은 혹은 MediaPlayer<br />

MediaPlayer등에<br />

MediaPlayer 등에<br />

의해 의해 처리되나 처리되나, 처리되나<br />

, , EXE, EXE, PIF등은 PIF<br />

등은 자동 자동 실행함<br />

MS01-20: MS01<br />

20: 20: Incorrect Incorrect MIME MIME Header Header Can Can Cause<br />

Cause<br />

IE IE to to Execute EE-mail<br />

E mail Attachment<br />

Attachment<br />

멀티미디어 멀티미디어 스트림에 스트림에 README.EXE 가<br />

첨부되었고 첨부되었고 BASE64 인코딩된 인코딩된 데이터가<br />

데이터가<br />

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

© 황규범.<br />

Information and Communications University<br />

41<br />

43<br />

취약점을 취약점을 이용한 이용한 악성코드<br />

악성코드<br />

– 버퍼 버퍼 오버런을 오버런을 오버런을 통한 통한 악성코드 악성코드 악성코드 실행<br />

실행<br />

IIS/ IIS/Codered<br />

IIS/ Codered<br />

– IIS IIS<br />

서버의 서버의 버퍼 버퍼 오버플로우 오버플로우 오버플로우 공격을 공격을 통한 통한 감염 감염 확산<br />

확산<br />

– MS01-033 MS01<br />

033 : : Unchecked Unchecked Buffer Buffer in in Index Index Server Server ISAPI<br />

ISAPI<br />

Extension Extension Could Could Enable Enable Web Web Server Server Compromise<br />

Compromise<br />

SQL/ SQL/Overflow(Slammer<br />

SQL/ Overflow(Slammer<br />

Overflow(Slammer)<br />

Overflow(Slammer<br />

– UDP UDP 378Bytes의 378Bytes<br />

패킷 패킷 정보가 정보가 SQL SQL 서버내에서 서버내에서 서버내에서 실행됨<br />

실행됨<br />

– 암호없는 암호없는 경우<br />

경우<br />

JS/ JS/Spida JS/ Spida<br />

– 1433 1433포트로<br />

1433 1433포트로<br />

포트로 SA SA로그인 SA 로그인 취약점 취약점(암호가<br />

취약점 취약점 암호가 암호가 없는 없는 경우 경우)이용 경우 이용<br />

– 메일 메일 발송 발송 모듈을 모듈을 포함하여 포함하여 SQL SQL서버 SQL 서버 중요 중요 정보 정보 유출<br />

유출<br />

– SQL SQL<br />

서버의 서버의 SA(System SA(System Administrator)<br />

Administrator)의 Administrator) 암호 암호 임의 임의 설정<br />

설정<br />

– Q313418: Q313418: Unsecured Unsecured SQL SQL Server Server with with Blank Blank (NULL) (NULL) SA<br />

SA<br />

Password Password Leaves Leaves Vulnerability Vulnerability to to a a Worm<br />

Worm<br />

Win32/Lovgate.worm Win32/Lovgate.worm 외 다수<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

취약점 이용<br />

이용(1) (1)<br />

© 황규범.<br />

Information and Communications University<br />

취약점 이용<br />

이용(3) (3)<br />

© 황규범.<br />

Information and Communications University<br />

42<br />

44


ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

고급언어이용(1)<br />

고급언어이용 (1)<br />

© 황규범.<br />

Information and Communications University<br />

P2P를 P2P 통한 확산<br />

확산(1) (1)<br />

메신저를 메신저를 이용한 이용한 악성코드 악성코드 확산<br />

확산<br />

– 메시지 메시지 전송외에 파일을 파일을 전송 전송 가능 가능 – 전송된 전송된 파일의 파일의 수신은 사용자의<br />

사용자의<br />

책임에 책임에 의함으로 의함으로 실수에 실수에 의한 의한 의한 실행 실행 실행 가능성 가능성 높음<br />

높음<br />

– 대화 대화 대화 상대에서 상대에서 악의적 악의적 사이트 사이트 URL URL을 URL URL 전송하여 전송하여 실행토록함<br />

실행토록함<br />

JS/Exploit JS/Exploit-Messenger<br />

JS/Exploit<br />

Messenger<br />

– 파일 파일 전송<br />

전송<br />

MSN MSN SDK SDK를 SDK 이용하여 이용하여 파일을 파일을 전송할 전송할 수있음 있음<br />

Win32/Supova.worm, Win32/Supova.worm, Win32/BR2002.worm<br />

Win32/BR2002.worm<br />

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

가능<br />

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

가능<br />

P2P P2P를 P2P 이용한 이용한 악성코드 악성코드 확산 확산<br />

– 음악 음악 음악 파일 파일, 파일 , 영화 영화 파일 파일 및불법 불법 불법 소프트웨어 소프트웨어 교환 교환 채널로 채널로 이용됨<br />

이용됨<br />

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

– 소리바다 소리바다, 소리바다 , WinMx WinMx, WinMx , eDonkey eDonkey eDonkey and and eMule eMule, eMule , Kazzar<br />

Kazzar<br />

© 황규범.<br />

Information and Communications University<br />

45<br />

47<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

고급언어이용(2)<br />

고급언어이용 (2)<br />

© 황규범.<br />

Information and Communications University<br />

P2P를 P2P 통한 확산<br />

확산(2) (2)<br />

© 황규범.<br />

Information and Communications University<br />

46<br />

48


ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

P2P를 P2P 통한 확산<br />

확산(3) (3)<br />

© 황규범.<br />

Information and Communications University<br />

최근 최근<br />

최근<br />

최근 연구 연구<br />

연구<br />

연구 동향<br />

동향<br />

동향<br />

동향<br />

동향(1) (1)<br />

HONEYPOT<br />

– 바이러스 바이러스 확산 확산 및신종 신종 신종 악성코드 악성코드 악성코드 검출을 검출을 위한 위한 연구<br />

연구<br />

– 인터넷 인터넷 상에서 상에서 공격이 의심되는 의심되는 포트를 포트를 포트를 열고 열고 동작을 동작을 시뮬레이<br />

시뮬레이<br />

트하여 트하여 공격을 공격을 받아줌 – 공격된 공격된 내용은 내용은 파일로 파일로 저장함<br />

저장함<br />

– 통상 통상 통상 무결성검사를 무결성검사를 통하여 기존 새로운 새로운 패킷에 패킷에 대한 대한 알람기능<br />

알람기능<br />

이있음 있음 있음<br />

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

연구됨<br />

Kaspersky Lab. – Smallpot으로 으로 으로 <strong>Li</strong>nux상에서 상에서 네트워크로<br />

네트워크로<br />

유입되는 유입되는 유입되는 바이러스나 바이러스나 웜이 웜이 이용하는 이용하는 이용하는 대표적인 대표적인 대표적인 포트를 포트를 감<br />

시함 시함(80, 시함 25, 21, 1433, 1434.. Etc)<br />

ICSA – WormWatch로 Windows 상에서 상에서 네트워크로 네트워크로 유입 유입<br />

유입<br />

되는 되는 바이러스나 바이러스나 웜이 이용하는 이용하는 대표적인 대표적인 포트를 포트를 감시함<br />

감시함<br />

( 80, 25, 21, 1433, 1434.. Etc) – 메일로 메일로 송부함<br />

송부함<br />

http://www.wormwatch.org<br />

© 황규범.<br />

Information and Communications University<br />

49<br />

51<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

P2P를 P2P 통한 확산<br />

확산(4) (4)<br />

© 황규범.<br />

Information and Communications University<br />

SMALL POT(1) POT(1)<br />

Costin Raiu에 의해 의해 의해 2002년에 년에 년에 소개됨<br />

소개됨<br />

– Rumania Anti-Virus Analyst(Kaspersky Lab에 있음 있음) 있음 있음<br />

– http://www.craiu.com<br />

개요 개요<br />

개요<br />

– SmallPot = Small Honeypot<br />

– Cordred.C를 모니터링 하기위해 하기위해 시작함<br />

– FTP, POP3, SMTP, SUN-RPC, TELNET, UPnP, MS-SQL,<br />

SSH, Netbus, SubSeven등을 등을 모니터링함<br />

모니터링함<br />

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

수집용<br />

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

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

© 황규범.<br />

Information and Communications University<br />

50<br />

52


ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

SMALL POT(2) POT(2)<br />

© 황규범.<br />

Information and Communications University<br />

SMALL POT(4) POT(4)<br />

© 황규범.<br />

Information and Communications University<br />

2001.11 ~ 2002.7<br />

Visual C로 작성함<br />

Multi-thread 환경 환경 및 WSOCK32.DLL를 이용하여 이용하여 이용하여 코딩함<br />

코딩함<br />

19 TCP port를 열어두고 열어두고 공격을 공격을 받아줌<br />

받아줌<br />

베너를 베너를 5초마다 초마다 변경하여 공격자를 공격자를 속임<br />

– 공격프로그램이 공격프로그램이 버전을 체크하는 체크하는 경우를 경우를 대비하여 대비하여 다양하게<br />

다양하게<br />

준비함 준비함(취약점<br />

준비함 취약점 있는 있는 버전에 대한 공격이 공격이 이루어짐 이루어짐) 이루어짐<br />

53<br />

55<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

SMALL POT(3) POT(3)<br />

© 황규범.<br />

Information and Communications University<br />

SMALL POT(5) POT(5)<br />

수신된 수신된 데이트 데이트 데이트 처리<br />

– CRC를 이용하여 이용하여 기존 데이터와 데이터와 비교<br />

– 두개의 두개의 데이터 데이터 베이스 이용<br />

이용<br />

DB1<br />

– 많이 많이 확산된 확산된 유형<br />

유형<br />

– External DB-패킷이 패킷이 깨졌거나 깨졌거나 중복된 패킷<br />

패킷<br />

DB2<br />

– SMALLPOT.CRC<br />

– ‘Fixed’ Request를 저장함<br />

저장함<br />

– 특별한 특별한 파싱과정이 파싱과정이 필요함 필요함 – 내부에 내부에 특별한 특별한 처리가 처리가 포<br />

함됨 함됨<br />

함됨<br />

– 패킷 패킷 변조를 변조를 포함함 포함함(공격<br />

포함함 공격 대응 대응) 대응<br />

– 프락시에서 프락시에서 만든 만든 헤더를 헤더를 수정 수정(제거 수정 제거 제거)함 제거<br />

– 새로운 새로운 패킷의 패킷의 경우 테스트를 테스트를 위해 메일 메일 메일 전송함<br />

© 황규범.<br />

Information and Communications University<br />

54<br />

56


필터링 필터링 전<br />

필터링 필터링 후<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

SMALL POT(6) POT(6)<br />

© 황규범.<br />

Information and Communications University<br />

WORM CATCHER(1)<br />

CATCHER(1)<br />

Roger Thompson에 의해 의해 의해 2001년에 년에 년에 소개됨<br />

– ICSA Lab에서 에서 진행함<br />

– http://www.wormwatcher.org<br />

개요<br />

개요<br />

– 2001년부터 년부터 시작됨<br />

– 웜이 웜이 사용하는 사용하는 포트를 모니터링함<br />

모니터링함<br />

(80,21,22,23,25,445,53,111,515,1433,27374)<br />

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

수집용<br />

– Windows환경에서 환경에서 동작함<br />

– 메일로 메일로 데이터를 데이터를 공유함<br />

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

© 황규범.<br />

Information and Communications University<br />

57<br />

59<br />

ICE1212 - Malicious Code<br />

SMALL POT(7) POT(7)<br />

© 황규범.<br />

Information and Communications University<br />

WORM CATCHER(2)<br />

CATCHER(2)<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

58<br />

60


WORM CATCHER(3)<br />

CATCHER(3)<br />

수신된 수신된 데이트 데이트 처리<br />

처리<br />

– CRC를 이용하여 기존 데이터와 비교<br />

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

제공함<br />

– 수신된 수신된 패킷 패킷 데이터를 일단위로 일단위로 일단위로 저장함<br />

저장함<br />

필요에 필요에 따라서 하드디스크에<br />

하드디스크에 하드디스크에 저장된 저장된 데이터를 이용함 이용함<br />

이용함<br />

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

알려줌<br />

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

알려줌<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

WORM CATCHER(5)<br />

CATCHER(5)<br />

© 황규범.<br />

Information and Communications University<br />

61<br />

63<br />

WORM CATCHER(4)<br />

CATCHER(4)<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

최근 최근<br />

최근<br />

최근 연구 연구<br />

연구<br />

연구 동향<br />

동향<br />

동향<br />

동향<br />

동향(2) (2)<br />

AUTOMATION<br />

– 백신 백신 백신 동작을 동작을 동작을 외부에서 외부에서 자동화 자동화 자동화 함<br />

– 다양한 다양한 백신의 백신의 동작을 자동화 자동화 함으로써 함으로써 함으로써 테스트나 테스트나 HONEYPOT<br />

등에 등에 적용함<br />

적용함<br />

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

필요함<br />

– Ahnlab 및 Microsoft에서 에서 연구함<br />

연구함<br />

Ahnlab – V3Genie System으로 으로 전세계 전세계 Major급백신 백신 제품<br />

제품<br />

을모두 모두 컨트롤함 컨트롤함(진단<br />

컨트롤함 진단 및자동 자동 업데이트 업데이트, 업데이트 해당 해당 홈페이지 홈페이지 정<br />

보수집 수집 수집), 수집 현재 현재 실제 실제 적용되어 적용되어 업무에 업무에 업무에 활용됨<br />

활용됨<br />

Microsoft – 백신 백신 벤치마킹을 벤치마킹을 위해서 위해서 제작하였음을 제작하였음을 피력함<br />

Scan-O-Matic 이란 이란 이름으로 이름으로 발표됨<br />

발표됨<br />

– Ahnlab의 VBS, 메시지랩의 메시지랩의 VirusEyes도 자동화시스템의 자동화시스템의 하나<br />

로볼수 볼수 있음<br />

있음<br />

© 황규범.<br />

Information and Communications University<br />

62<br />

64


SANDBOX<br />

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

테스트함<br />

– 시뮬레이션 시뮬레이션 기법을 기법을 기법을 이용함 이용함(실제<br />

이용함 실제 실제 실행시 실행시 위험 위험 위험 부담이 큼)<br />

– 대부분 대부분 백신 백신 회사가 회사가 연구하고 연구하고 있음 있음<br />

있음<br />

– 현재는 현재는 윈도우 윈도우 프로그램의 프로그램의 프로그램의 IMPORT TABLE의 함수들의 함수들의 상호 상호 연관관<br />

연관관<br />

계를 계를 통한 자동 자동 자동 분석이 소개됨<br />

소개됨<br />

– Ahnlab의경우 경우 IMPORT TABLE 및 C로 제작된 제작된 응용프로그램의 응용프로그램의 함<br />

수내에 수내에 사용중인 사용중인 API를 함수별로 나열하여 나열하여 분석을 분석을 용이하게 용이하게 함<br />

IA64<br />

– INTEL의 64bit Architecture인 IA64(Itenium2)가 채용한 채용한 Windows<br />

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

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

불확실<br />

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

고가임<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

최근 최근<br />

최근<br />

최근 연구 연구<br />

연구<br />

연구 동향<br />

동향<br />

동향<br />

동향<br />

동향(3) (3)<br />

© 황규범.<br />

Information and Communications University<br />

AUTOMATION<br />

AUTOMATION(1)<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION(1)<br />

C-Style Function <strong>Li</strong>st on Win32<br />

Win32 파일에 파일에 대하여 대하여 대하여 함수를 함수를 추출하고 추출하고, 추출하고 함수내 함수내 사용 사용 API 분석<br />

분석<br />

여러 여러 파일을 관찰하면 관찰하면 시작위치 시작위치 예측 예측 가능함 가능함<br />

가능함<br />

© 황규범.<br />

Information and Communications University<br />

65<br />

67<br />

ANTI-SPAM<br />

– 바이러스나 바이러스나 바이러스나 웜이 메일로 유입되는 경우가 많음<br />

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

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

– 서버에 서버에 설치되는 백신에 ANTI-SPAM기능을 기능을 부여하여 동시 처리를 처리를 기대함 기대함(백 기대함<br />

신이 신이 신이 수신된 수신된 메일을 검사하는 기능이 있음 있음) 있음<br />

– 중요한 중요한 연구점은 백신의 기능과 ANTI-SPAM의 기능을 기능을 효율적으로 효율적으로 융합하고 융합하고, 융합하고<br />

스팸메일에 스팸메일에 대한 <strong>정의</strong> 및 분류등이 분류등이 필요함 필요함(백신은<br />

필요함<br />

백신은 오진을 중시하고 중시하고, 중시하고<br />

스팸으로<br />

스팸으로<br />

걸러진 걸러진 걸러진 메일이 메일이 민감한 경우 경우) 경우<br />

부분 부분 진단법 진단법(스트림<br />

진단법 스트림 진단법 진단법) 진단법<br />

– 네트워크 네트워크 상에서 일부의 패킷을 이용한 진단법 – 진단능력의 진단능력의 수준을 정하고 정하고, 정하고<br />

그<br />

에 맞추어 맞추어 맞추어 진단 수행 수행 –IDS나 FIREWALL과 달리 달리 결정적인 결정적인 증거를 가지고 가지고 진단<br />

해야 해야 함 – 오진에 오진에 오진에 대한 대비<br />

대비<br />

– 네트워크상에서 네트워크상에서 모든 패킷을 패킷을 모아 메모리든 메모리든 하드든 파일 형태로 형태로 형태로 구성하는 것은<br />

네트워크 네트워크 효율저하 및 진단능력저하<br />

진단능력저하 진단능력저하 그리고 비용증가 유발<br />

– CRC나 INTEGRITY CHECKING(웜 진단시 진단시 이용 이용)을 이용<br />

사용할 사용할 수없게됨 없게됨<br />

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

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

최근 최근<br />

최근<br />

최근 연구 연구<br />

연구<br />

연구 동향<br />

동향<br />

동향<br />

동향<br />

동향(4) (4)<br />

© 황규범.<br />

Information and Communications University<br />

AUTOMATION<br />

AUTOMATION(2)<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION(2)<br />

Header Information( V3 File Analyzer )<br />

엔진에서 엔진에서 읽어들인 읽어들인 파일에 파일에 대한 대한 헤더 헤더 분석 분석 정보를 출력함<br />

출력함<br />

진단에 진단에 필요한 필요한 주요 정보만 정보만 출력함<br />

출력함<br />

© 황규범.<br />

Information and Communications University<br />

66<br />

68


ICE1212 - Malicious Code<br />

AUTOMATION<br />

AUTOMATION(3)<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION(3)<br />

Header Information( V3VIEW )<br />

V3GENIE가 분석한 분석한 헤더 정보 출력<br />

출력<br />

상세 상세 상세 분석되며 분석되며 Import/Export 테이블 테이블 이상 이상 유무도 유무도 유무도 확인 확인 확인 가능함<br />

가능함<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

AUTOMATION<br />

AUTOMATION(5)<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION(5)<br />

© 황규범.<br />

Information and Communications University<br />

69<br />

71<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

AUTOMATION<br />

AUTOMATION(4)<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION(4)<br />

© 황규범.<br />

Information and Communications University<br />

AUTOMATION<br />

AUTOMATION(6)<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION(6)<br />

© 황규범.<br />

Information and Communications University<br />

70<br />

72


ICE1212 - Malicious Code<br />

AUTOMATION<br />

AUTOMATION(7)<br />

AUTOMATION<br />

AUTOMATION<br />

AUTOMATION(7)<br />

© 황규범.<br />

Information and Communications University<br />

참고자료<br />

73<br />

악성코드 악성코드 악성코드 대응은 대응은 끝이없는 끝이없는 끝이없는 싸움 싸움! 싸움<br />

그러나 그러나 가치가 가치가 적은 적은 소모전 소모전! 소모전 소모전<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

결론<br />

결론<br />

결론<br />

결론<br />

결론은 결론은 여러분과 여러분과 함께<br />

함께<br />

© 황규범.<br />

Information and Communications University<br />

실수 방지 대책<br />

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

예방<br />

© 황규범.<br />

Information and Communications University<br />

74<br />

76


ICE1212 - Malicious Code<br />

분석도구(2) 분석도구 (2)<br />

TaskInfo2002의 장점<br />

– TASK의 정확한 정확한 정확한 위치 위치(Path)와 위치<br />

실행 실행 형태를 형태를 알수있음 있음<br />

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

– 시스템 시스템 시스템 관련 관련(CPU 관련<br />

및 Driver등) 정보가 정보가 정보가 확인이 매우 용이함 용이함<br />

– GUI(Graphic User Interface)가 매우 매우 뛰어나고 뛰어나고, 뛰어나고<br />

시각적 시각적 효과가 우수함<br />

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

TaskInfo2002의 단점<br />

– 프로세스가 프로세스가 사용중인 모듈을 확인할 수없음 없음<br />

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

Copyright Protection<br />

Shareware Software(Registration fee, $35/copy)<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

분석도구(2) 분석도구 (2)<br />

TaskInfo2002의 장점<br />

– TASK의 정확한 정확한 위치 위치(Path)와 위치<br />

실행 실행 형태를 형태를 형태를 알수있음 있음<br />

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

– 시스템 시스템 관련 관련(CPU 관련<br />

및 Driver등) 정보가 정보가 확인이 매우 용이함<br />

– GUI(Graphic User Interface)가 매우 매우 뛰어나고 뛰어나고, 뛰어나고<br />

시각적 시각적 효과가 우수함<br />

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

TaskInfo2002의 단점<br />

– 프로세스가 프로세스가 사용중인 모듈을 확인할 확인할 수없음 없음 없음<br />

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

Copyright Protection<br />

Shareware Software(Registration fee, $35/copy)<br />

© 황규범.<br />

Information and Communications University<br />

77<br />

79<br />

ICE1212 - Malicious Code<br />

분석도구(1) 분석도구 (1)<br />

TaskInfo2002(Igor Arsenin)<br />

– 현재 현재 시스템의 주요 정보를 확인 가능함 가능함(드라이버<br />

가능함<br />

드라이버 드라이버, 드라이버 프로세스 프로세스, 프로세스 프로세스 모듈 모듈, 모듈 공유폴더 공유폴더) 공유폴더<br />

– http://www.iarsn.com/index.html<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

분석도구(3) 분석도구 (3)<br />

FLCSS가 THREAD 1개로 개로 실행중임<br />

© 황규범.<br />

Information and Communications University<br />

시스템<br />

시스템<br />

정보<br />

정보<br />

프로세스 프로세스 및생성 생성 THREAD<br />

78<br />

80


ICE1212 - Malicious Code<br />

분석도구(4) 분석도구 (4)<br />

FILEMON/NTFILEMON<br />

– 바이러스에 바이러스에 의한 파일 관련 엑세스 엑세스 모니터링<br />

– 인터넷을 인터넷을 통해서 구할 수있는 있는 프로그램 프로그램(공개<br />

프로그램<br />

공개 소프트웨어 소프트웨어)<br />

소프트웨어<br />

– http://www.sysinternals.com/ntw2k/utilities.shtml<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

분석도구(6) 분석도구 (6)<br />

© 황규범.<br />

Information and Communications University<br />

프로그램 프로그램 이름 이름(프로세스<br />

이름 프로세스 프로세스) 프로세스<br />

파일 파일 관련 관련 작업 작업(READ/WRITE)<br />

작업<br />

분석에 분석에 있어서 있어서 도움이 도움이 됨<br />

81<br />

83<br />

ICE1212 - Malicious Code<br />

분석도구(5) 분석도구 (5)<br />

FILEMON/NTFILEMON의 필요성<br />

필요성<br />

– 행동 행동(Behavior)을 행동<br />

모니터링 모니터링 할수있음 있음<br />

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

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

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

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

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

있음<br />

있음<br />

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

FILEMON/NTFILEMON의 제한점<br />

제한점<br />

– 파일 파일 엑세스와 관련한 구체적인 사항 사항(Write 사항<br />

내용등등 내용등등)을 내용등등 확인하기 확인하기 확인하기 어려움 어려움<br />

Copyright Protection<br />

– Freeware<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

분석도구(7) 분석도구 (7)<br />

© 황규범.<br />

Information and Communications University<br />

82<br />

84


ICE1212 - Malicious Code<br />

분석도구(8) 분석도구 (8)<br />

IVP에의한 의한 파일 파일 접근을 접근을 접근을 보여줌<br />

보여줌<br />

지속으로 지속으로 FindFirst->FileOpen->FileClose->Delete->FindNext<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

분석도구(10)<br />

분석도구 (10)<br />

Exefile\shell\command가 수정되면 수정되면 실행하는<br />

실행하는<br />

프로그램의 프로그램의 프로그램의 path가모두 모두 SIRC32.EXE로되어 되어 있음<br />

있음<br />

© 황규범.<br />

Information and Communications University<br />

85<br />

87<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

분석도구(9) 분석도구 (9)<br />

SYSTURBO에의한 의한 파일 파일 접근을 접근을 보여줌<br />

보여줌<br />

지속으로 지속으로 fGet->fOpen->fSeek->fClose 형태임<br />

형태임<br />

© 황규범.<br />

Information and Communications University<br />

분석도구(11)<br />

분석도구 (11)<br />

REGMON/NTREGMON<br />

– 바이러스에 바이러스에 의한 레지스트리 접근 접근 및 억세스 억세스 모니터링<br />

– 인터넷을 인터넷을 통해서 구할 수있는 있는 프로그램 프로그램(공개<br />

프로그램<br />

공개 소프트웨어 소프트웨어)<br />

소프트웨어<br />

– http://www.sysinternals.com/ntw2k/utilities.shtml<br />

© 황규범.<br />

Information and Communications University<br />

프로그램 프로그램 이름 이름(프로세스<br />

이름 프로세스 프로세스) 프로세스<br />

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

작업<br />

86<br />

88


ICE1212 - Malicious Code<br />

분석도구(1 분석도구<br />

(12) 2)<br />

REGEDIT의 필요성<br />

– 인터넷 인터넷 웜의 웜의 경우 경우 레지스트리 레지스트리 등록을 통하여 통하여 통하여 재부팅시 재부팅시 재부팅시 실행 실행 되도록 되도록 함<br />

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

– 웜이나 웜이나 네트워크로 네트워크로 네트워크로 확산되는 확산되는 바이러스들은<br />

바이러스들은 바이러스들은 반드시 레지스트리를 레지스트리를 이용함<br />

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

가능함<br />

주요 주요 필드<br />

– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run<br />

– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce<br />

– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce<br />

Ex<br />

– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServi<br />

ces(Windows 9x/Me)<br />

– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServi<br />

cesOnce(Windows 9x/Me)<br />

– HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Scripting Host\Locations<br />

– HKEY_CURRENT_USER\Network<br />

– HKEY_CLASSES_ROOT\exefile\shell\open\command<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

다형성 바이러스(1) 바이러스 (1)<br />

다형성 다형성 다형성 바이러스의 바이러스의 특징 특징<br />

특징<br />

– 디코더 디코더(암호<br />

디코더 암호 암호) 암호 + 바이러스코드로 바이러스코드로 구성됨<br />

– 디코더의 디코더의 구성이 구성이 완전히 완전히 다름 다름<br />

다름<br />

– 바이러스코드는 바이러스코드는 동일함<br />

– KPA(Known Plaintext Attack)이 가능함<br />

가능함<br />

진단은 진단은 진단은 어떻게 어떻게? 어떻게<br />

– 현재 현재 소개된 소개된 소개된 방법 방법<br />

방법<br />

Heuristic Method<br />

Emulation Method<br />

X-Ray Technique<br />

© 황규범.<br />

Information and Communications University<br />

89<br />

Win95/Fono<br />

91<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

분석도구(1 분석도구<br />

(13) 3)<br />

© 황규범.<br />

Information and Communications University<br />

다형성 바이러스(2) 바이러스 (2)<br />

부트 부트 부트 바이러스<br />

바이러스<br />

– 디코더 디코더 코드의 코드의 일부와 암호키를 암호키를 암호키를 변경시킴 변경시킴<br />

170 170E:0100 170 170E:0100<br />

E:0100 FA CLI<br />

170E:0101 170E:0101 33C0 33C0 XOR XOR AX,AX<br />

AX,AX<br />

170E:0103 170E:0103 8ED0 8ED0 MOV MOV MOV SS,AX<br />

SS,AX<br />

170E:0105 170E:0105 BC007C BC007C MOV MOV SP,7C00<br />

SP,7C00<br />

170E:0108 170E:0108 B7B8 B7B8 MOV MOV MOV BH,B8<br />

BH,B8<br />

170E:010A 170E:010A BE187C BE187C MOV MOV SI,7C18<br />

SI,7C18<br />

170E:010D 170E:010D 36 36 SS:<br />

SS:<br />

170E:010E 170E:010E 303C 303C XOR XOR [SI],BH<br />

[SI],BH<br />

170E:0110 170E:0110 170E:0110 81EEFFFF 81EEFFFF SUB SUB SI,FFFF<br />

SI,FFFF<br />

170E:0114 170E:0114 FEC7 FEC7 INC INC INC BH<br />

BH<br />

170E:0116 170E:0116 75F5 75F5 JNZ JNZ 010D<br />

010D<br />

170E:0118 170E:0118 43 43 INC INC BX<br />

BX<br />

170E:0119 170E:0119 74A8 74A8 JZ JZ 00C3<br />

00C3<br />

170E:011B 170E:011B 96 96 XCHG XCHG SI,AX<br />

SI,AX<br />

170E:011C 170E:011C B5BD B5BD MOV MOV CH,BD<br />

CH,BD<br />

170E:011E 170E:011E 0F 0F DB DB 0F<br />

0F<br />

170E:011F 170E:011F 170E:011F B91321 B91321 MOV MOV CX,2113<br />

CX,2113<br />

© 황규범.<br />

Information and Communications University<br />

1byte byte byte XOR<br />

XOR<br />

복호루틴 복호루틴(계속<br />

복호루틴 계속 변함 변함)<br />

변함<br />

90<br />

92


ICE1212 - Malicious Code<br />

다형성 바이러스(3) 바이러스 (3)<br />

도스용 도스용 파일 파일 바이러스<br />

바이러스<br />

– 디코더 디코더 디코더 코드의 코드의 코드의 일부와 일부와 일부와 암호키를 암호키를 암호키를 변경시킴 변경시킴<br />

변경시킴<br />

Connie.II<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

다형성 바이러스(5) 바이러스 (5)<br />

© 황규범.<br />

Information and Communications University<br />

93<br />

95<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

다형성 바이러스(4) 바이러스 (4)<br />

Connie.II<br />

© 황규범.<br />

Information and Communications University<br />

다형성 바이러스(6) 바이러스 (6)<br />

© 황규범.<br />

Information and Communications University<br />

FCL<br />

94<br />

96


ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

다형성 바이러스(7) 바이러스 (7)<br />

© 황규범.<br />

Information and Communications University<br />

다형성 바이러스(9) 바이러스 (9)<br />

다형성 다형성 매크로 매크로 바이러스<br />

바이러스<br />

© 황규범.<br />

Information and Communications University<br />

FCL<br />

97<br />

99<br />

ICE1212 - Malicious Code<br />

다형성 바이러스(8) 바이러스 (8)<br />

다형성 다형성 다형성 매크로 매크로 바이러스<br />

바이러스<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

다형성 바이러스<br />

스크립트 스크립트 바이러스<br />

바이러스<br />

바이러스(10) (10)<br />

© 황규범.<br />

Information and Communications University<br />

98<br />

100


ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

다형성 바이러스<br />

바이러스(11) (11)<br />

© 황규범.<br />

Information and Communications University<br />

다형성 바이러스<br />

바이러스(13) (13)<br />

© 황규범.<br />

Information and Communications University<br />

Win95/Fono<br />

101<br />

Win95/Fono<br />

103<br />

ICE1212 - Malicious Code<br />

ICE1212 - Malicious Code<br />

다형성 바이러스<br />

바이러스(12) (12)<br />

© 황규범.<br />

Information and Communications University<br />

다형성 바이러스<br />

다형성 다형성 바이러스 진단 진단 기술<br />

기술<br />

– 코드 코드 비교 및 계산법<br />

바이러스(14) (14)<br />

바이러스가 바이러스가 가지는 가지는 가지는 코드의 코드의 특징을 특징을 특징을 이용함 이용함<br />

KPA를 이용하여 이용하여 암호키 암호키 및암호 암호 방법을 추출함 추출함<br />

추출함<br />

디코딩후 디코딩후 문자열 문자열 문자열 검사를 검사를 이용할 이용할 이용할 수있음 있음<br />

– OPCODE의 니모닉을 니모닉을 이용한 이용한 코드 코드 조합<br />

© 황규범.<br />

Information and Communications University<br />

Win95/Fono<br />

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

적용<br />

많은수의 많은수의 다형성 다형성 바이러스가 적용될 적용될 적용될 수있음 있음<br />

OPCODE만을 만을 가지고 바이러스 여부 여부 진단<br />

진단<br />

– 코드 코드 조합법<br />

바이러스가 바이러스가 바이러스가 가지는 가지는 코드 조합 조합 특성을 찾아 찾아 이를 이를 검출<br />

102<br />

104


미발견 악성코드 대응<br />

AV대응기술 대응기술<br />

– 휴리스틱 휴리스틱 휴리스틱 기술 기술 – 시만텍<br />

시만텍<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

대응(1) (1)<br />

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

정적<br />

명령어 명령어 일부를 실행하여 실행하여 실행하여 결과를 결과를 추출함 추출함 추출함 - 동적<br />

동적<br />

– 에뮬레이션 에뮬레이션 기술 기술 – 기타 기타 백신회사<br />

백신회사<br />

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

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

– 무결성 무결성 검증 – 일부 일부 샘플 수집용<br />

수집용<br />

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

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

블러킹<br />

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

미발견 악성코드 대응<br />

기술연구가 기술연구가 어려운 어려운 이유<br />

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

작성됨<br />

ICE1212 - Malicious Code<br />

어셈블리와 어셈블리와 달리 달리 각종 함수 함수 구조가 복잡함<br />

© 황규범.<br />

Information and Communications University<br />

대응(3) (3)<br />

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

검사시 검사시 시스템 시스템 성능 성능 저하 요인으로 요인으로 작용함<br />

작용함<br />

– 에뮬레이션의 에뮬레이션의 어려움<br />

어려움<br />

IA32 명령어와 명령어와 OS를 에뮬레이션 에뮬레이션 해야 해야 함(방대함 방대함 방대함) 방대함<br />

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

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

크랙당함<br />

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

일반적임<br />

105<br />

107<br />

미발견 악성코드 대응<br />

분석 분석(테스팅<br />

분석 테스팅 테스팅) 테스팅 환경<br />

환경<br />

– 모니터링 모니터링 툴<br />

ICE1212 - Malicious Code<br />

© 황규범.<br />

Information and Communications University<br />

대응(2) (2)<br />

각종 각종 이벤트 이벤트(행위<br />

이벤트<br />

행위 행위)를 행위 모니터링 모니터링 하기 하기 위한 툴이용 이용<br />

각툴의 툴의 로그 로그 기록을 기준으로 악성 악성 여부 판별<br />

판별<br />

파일모니터 파일모니터, 파일모니터 네트워크모니터<br />

네트워크모니터, 네트워크모니터 레지스트리모니터등이<br />

레지스트리모니터등이 레지스트리모니터등이 필요함 필요함<br />

필요함<br />

웜의 웜의 경우 분석 분석 및대응 대응 방법도 방법도 추출할 추출할 수있음 있음<br />

– 에뮬레이션 에뮬레이션 에뮬레이션 기술<br />

기술<br />

ICE1212 - Malicious Code<br />

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

암호<br />

및 다형성 여부 여부 및치료 치료 방법 방법 판별<br />

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

미발견 악성코드 대응<br />

기술연구가 기술연구가 어려운 어려운 이유<br />

– 연구 연구 비용에 대해 대해 효과가 적음<br />

적음<br />

© 황규범.<br />

Information and Communications University<br />

대응(4) (4)<br />

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

음<br />

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

시스템 시스템 리소스를 리소스를 많이 많이 요구함으로 요구함으로 실용성이 실용성이 떨어짐 떨어짐<br />

떨어짐<br />

지속적인 지속적인 관리와 관리와 관리와 업그레이드를 해야 해야 함<br />

시간과 시간과 시간과 비용 비용, 비용 그리고 그리고 그리고 결과에 결과에 대한 대한 타협이 타협이 필요함<br />

필요함<br />

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

대응하기<br />

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

이용함<br />

106<br />

108

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!