강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

관리자를 위한 악성프로그램 분석방법

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 1 -
관리자를 위한 악성프로그램(Malware)
분석방법
2004. 6. 16.
인터넷침해사고대응지원센터 (KISC)
본 보고서의 전부나 일부를 인용시 반드시 자료 한국정보보호진흥원 를 명시하여 [ : (KISA)] ※ 주시기 바랍니다.
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 2 -
개 요 □
악성 프로그램은 최근 인터넷서비스에 중대한 위험이 되고 있다 과거에는 바이러스가 .
유일한 악성프로그램이었지만 최근에는 네트워크를 이용하여 전파되는 웜 트로이잔 분 , ,
산서비스거부공격 에이전트 인터넷 릴레이 채팅서버를 이용하는 (DDoS Agent), bot (IRC
스파이웨어 등으로 다양해 졌다 또한 이메일 추출 브라우저 Controlled bots), (Spyware) . ,
취약점 운영체제 취약점 네트워크 사용 등으로 감염방법도 다양해졌다 , ,P2P .
일반사용자가 인터넷을 사용하면서 접하게 되는 대부분의 악성프로그램은 다양한 방법
으로 시스템 및 네트워크에 악의적인 영향을 준다 많은 악성프로그램은 백신 프로그램 .
및 스파이웨어 차단 프로그램 또는 유사 프로그램을 이용하여 차단할 수 있다 하지만 그 .
런 보안프로그램만으로는 충분하지 않다 작고 정상적으로 보이는 악성프로그램이 모든 .
보안시스템을 통과하여 사용자의 데이터를 훼손시킬 수 있다.
보안프로그램은 여러 가지 이유로 악성프로그램을 탐지하지 못할 수 있다 예를 들어 .
사용자가 불법적으로 백신프로그램의 탐지패턴을 업데이트한 경우 탐지패턴이 업데이트 ,
되지 않은 경우 악성프로그램이 백신업체에 알려지지 않은 경우나 정상 프로그램처럼 작 ,
성 되어진 악성프로그램은 보안프로그램이 탐지하지 못한다 비록 백신프 (custom coded) .
로그램은 지속적으로 발전하고 있지만 작고 많은 악성프로그램이 탐지되지 않고 전파되 ,
어 네트워크에 피해를 주고 있으며 이런 악성프로그램 미탐지율은 최근 지속적으로 증가 ,
하고 있다.
따라서 사용자 또는 관리자는 안전한 시스템 및 네트워크 서비스를 위하여 백신프로
그램을 사용하지 않고 프로그램의 위험성 유무를 확인할 수 있는 분석방법을 알아야 한
다 사용자의 필요에 따라 알아야할 프로그램 분석 수준은 달라진다 예를 들어 일반사용 . .,
자는 프로그램의 악성의 유무만 알고 싶어 하지만 관리자는 목적에 따라서 리버스 엔지
니어 를 원할 것이다 (reverse engineer) .
일반적으로 악성프로그램 분석은 매우 복잡하다고 알려져 있고 실재로 몇몇 기술은 ,
매우 복잡하다 그럼에도 불구하고 현재 상황을 보면 일반관리자들도 분석기법을 알아야 .
한다 그러기 위하여 분석기법은 더 쉬워져야 한다 하지만 공개되어진 쉬운 악성프로그 . .
램 분석관련 정보는 많지 않기 때문에 본 문서는 악성프로그램 분석방법을 일반관리자에
맞게 설명하여 악성프로그램의 위협을 줄이고자 한다.
1)
1) 악성프로그램 분석에는 컴퓨터 법정증거 허니팟 연구 보안취약점 , (honeypot research), 연구 등도
포함된다.
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 3 -
분석 배경 목적 가정과 도구 , , □
배경 1.
대표적인 악성프로그램 악성소프트웨어 o ( )
웜 외부 명령 없이 자신을 다른 시스템으로 복제할 수 있는 프로그램 숙주 프로 - : ,
그램이 필요 없이 전파가능
바이러스 외부 명령 없이 자신을 다른 시스템으로 복제할 수 있는 프로그램으로 - :
숙주가 되는 프로그램을 이용하여 전파
최근에는 웜과 바이러스의 구분이 없어지고 있으며 악성프로그램의 전파에 가장 많 ,
이 사용되는 경로는 다음과 같다.
이메일 ․
취약점 OS ․
암호가 설정되지 않은 네트워크 공유 ․
쉬운 암호가 설정된 네트워크 공유 패스워드 추측 이용 ( ) ․
네트워크 P2P (Peer to Peer ) ․
IRC ․
분석방법의 종류 o
악성프로그램을 분석하는 기술은 코드분석과 실행과정 분석의 가지로 나눌 수 있 2
다 대부분의 경우 가지 방법을 혼합하여 사용한다 . 2 .
- 코드분석 바이너리를 디버거 와 디스어셈블러 를 이 : (debugger) (disassembler)
용하여 분석하는 방법으로 아래와 같은 특징이 있다
악성프로그램인지 판단하는 중요한 기술 중에 하나 임 ․
소스분석은 프로그램의 동작을 가장 정확하게 이해할 수 있는 방법 ․
일반적으로 악성프로그램의 소스코드를 얻기는 불가능하기 때문에 쉽게 ․
얻을 수 있는 악성프로그램의 바이너리를 이용하여 분석하는 방법이 주로
사용됨
코드 분석은 특정지식과 많은 연구가 필요하여 사용이 어려움 ․
시간이 충분히 주어지면 어떤 프로그램도 크기와 복잡도에 상관없이 분석 ․
할 수 있음
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 4 -
- 실행과정 분석 악성소프트웨어가 실행하는 내용을 분석하는 방법으로 아래 :
와 같은 특징이 있다.
악성소프트웨어가 파일시스템이나 레지스트리 네트워크를 변화시키는 과 , ․
정 다른 장치나 네트워크와 통신하는 과정 등을 자세히 관찰하여 분석하 ,
는 방법
악성소프트웨어의 실행과정을 분석도구를 이용하여 분석 ․
동물원에서 동물의 행동이 자세하고 지속적으로 관찰되듯이 통제된 환경 ․
에서 바이너리의 실행과정 조사
보통의 관리자가 보다 쉽게 사용할 수 있는 장점 ․
실행과정 분석을 이용한 리버스 엔지니어링은 프로그램을 완벽하게 분석 ․
하지는 못하지만 일반 사용자들이 원하는 정보를 제공 백신을 연구하는 (
사람들에게는 충분하지 않지만 나머지 대부분의 사람들에게는 악성 유무
를 판단 할 수 있는 충분한 정보를 제공)
실행과정 분석은 일반관리자가 적용하기 쉬우므로 본 문서에서는 실행과정분석에
대하여 설명한다.
목적 2.
본 문서는 관리자가 악성소프트웨어 분석을 할 수 있도록 실행과정분석 방법을 설명
하는데 목적이 있다 이 방법을 이용하면 관리자는 알려지지 않은 소프트웨어를 분석하여 .
악성 여부를 판단 할 수 있게 되어 사용자에게 안전한 인터넷 서비스를 제공할 수 있다.
가정과 정의 3.
다음에 설명할 내용의 정확성을 위하여 몇 가지 가정 및 정의를 한다.
앞으로 언급할 악성소프트웨어는 를 기본으로 하는 소프트웨어다 o Intel x86, win32
악성소프트웨어가 실행되는 호스트는 피해호스트 또는 피해시스템으로 표현한다 o .
도구 4.
본 문서의 목적이 악성소프트웨어를 분석하는 일반적인 방법을 설명하는 것이기 때
문에 다음에 언급할 도구들은 단지 설명을 위한 것이며 문서 뒷장에 언급되어있는 사이
트에서 다운받을 수 있다.
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 5 -
□ 분석방법
분석순서는 아래와 같다.
분석환경 구성 1.
환경 기준구성 2.
정보 수집 3.
정보 분석 4.
결과보고서 작성 5.
분석환경 구성 1.
악성소프트웨어를 분석하기 위하여 감염되지 않고 통제 가능한 환경을 만드는 것은
매우 중요하다 분석환경을 만드는 중요한 요소는 다음과 같다 . .
분석을 위하여 분석 네트워크에는 최소 개 이상의 서버 시스템 가 사용된다 o 2 ()
서버는 실제로 존재하는 물리적 서버 와 물리적 서버에서 동작하는 o (physicalserver)
가상서버 로 구분 된다 그림 참조 (virtual server) . ( 1 )
o 가상서버는 물리적 서버에서 에뮬레이션 소프트웨어를 이용하여 구성한 (emulation)
서버이다 그림 은 를 이용하여 가상서버를 구성한 분석환경의 구성도이다 . ( 1) VMware .
가상 서버간의 통신을 위한 네트워크를 가상 네트워크라 한다 o .
하나의 물리적 서버에는 한대 이상의 가상 서버가 존재할 수 있으며 물리적 서버에 o
설치할 수 있는 가상서버의 수는 물리적 서버의 시스템 성능에 따라 다르다.
o 여러 가상 서버 중에서 가상 네트워크가 일반 네트워크처럼 동작할 수 있도록
등의 서비스를 제공하는 서버를 서비스 제공 가상서버라 한다 Samba, HTTP, FTP “ ” .
이미 악성소프트웨어가 설치되어 있으며 전파 대상시스템을 찾는 가상서버를 공격 o “
서버 라 한다 ” .
악성소프트웨어에 공격을 받는 가상서버를 피해대상 서버라 한다 o “ ” .
물리적 서버는 가상서버가 정상동작하고 네트워크의 트래픽을 모리터링하고 피해 o , ,“
대상 서버의 변경내용을 확인하는 등의 작업을 위해서 악성소프트웨어의 영향을 받 ”
지 않도록 를 사용한다 *nix OS .
※ 는 또는 를 뜻하며 가정과 정의에서 언급하였듯이 를 기반 *nix Unix Linux , Window
악성소프트웨어는 에 영향을 미치지 않기 때문에 사용을 권장한다 *nix *nix
가상망과 물리망을 분리하여 네트워크를 구성할 경우 시스템을 사용하여도 관 windows ※
계없다.
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 6 -
그림 는 를 이용하여 물리적 서버 을 구성한 결과로 물리적 시스템은 o ( 2) VMware 1 ,
를 사용하며 공격서버는 로 구성되어 있다 Linux OS , windows2000 server
그림 분석환경 구성 ( 1)
그림 를 이용한 물리적 서버 구성결과 ( 2)VMware 1
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 7 -
o 물리적 서버에는 가상 서버의 네트워크 서비스를 위하여 서버가 운영되어야 DHCP
하며 악성소프트웨어의 활동을 모니터링하는 기타 외부 관리 프로그램(External
Contro 이 운영된다 그림 참조 l program) . ( 3 )
서버는 가상 서버들이 처음 부팅 되었을 때 주소 서브넷 마스크 도메인 - DHCP IP , ,
이름 기본 라우터 게이트웨이 서버를 알려주는 역할을 한다 , - ,DNS
가상 서버들은 필요에 따라서 를 이용하여 를 할당 받을 수 있다 - DHCP IP
외부관리 소프트웨어는 가상서버가 전송하는 트래픽을 모니터링 하거나 가상서버 -
의 프로세스 등의 동작 상태를 모니터링 함으로써 악성소프트웨어에 의해 가상시
스템이 종료되었을 때 원인확인을 가능하게 한다.
공격 서버의 물리적 서버 시스템 사양에 따라 패킷 발생 속도에 영향을 줄 수 있음 ※
그림 서버 및 공격서버에서 동작하는 서비스 제공 목록 ( 3) 1
가 상 네 트 워 크
물 리 적 서 버 1
(Physical server 1)
-외 부 관 리 프 로 그 램
-Network Monitoring Software
가 상 서 버
(공 격 )
-바 이 너 리 (악 성 소 프 트 웨 어 )
서비스 제공 가상서버는 악성소프트웨어에 영향을 받지 않고 서비스를 안전하게 o “ ”
지속적으로 제공해야 함으로 를 사용한다 *nix OS .
본 문서에서 악성소프트웨어는 시스템을 대상으로 한다고 가정한다 windows . ※
가상 서버중 피해대상 시스템은 악성소프트웨어의 영향을 받기 위하여 는 o OS
계열이어야 한다 windows .
가상 서버중 트래픽을 스니핑하는 시스템은 악성프로그램에 영향을 받지 않아야 하 o
기 때문에 를 사용한다 *nix OS .
그림 는 를 이용하여 물리적 서버 를 구성한 예로 물리적 시스템은 o ( 4) VMware 2 ,
를 사용하며 피해대상 서버는 모니터링 서버는 Linux OS , Windows 2000 server,
로 구성되어 있다 Linux .
가상서버는 가상 네트워크를 이용하여 통신을 하며 물리적 서버간의 통신은 물리적 o
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 8 -
네트워크를 이용하여 한다.
서비스 제공 가상서버는 악성프로그램이 가상 분석환경에서 일반 네트워크처럼 o “ ”
활동할 수 있도록 이메일 패킷 라 Samba, HTTP, FTP, IRC, DNS, Drive sharing, ,
우팅 네트워크 모니터링 등의 서비스 제공해야 한다 그림 참조 , .(5)
- Samba 과 간의 파일인식이 가능하게 함 : *nix OS windows OS
- HTTP 서비스 : Web
- FTP 파일전송 시스템 :
- IRC 인터넷 릴레이 체팅으로 악성프로그램이 전파되거나 시스템에 설치되어 :
있는 악성프로그램으로 실행 명령 전파 가능
- DNS 문자 주소를 로 변경하는 서비스로 악성프로그램이 특정 서버에 접속 : IP
을 요청하거나 공격시 이용될 수 있음 DDoS
이메일 - 악성프로그램이 전파되는 대표적인 방법 :
네트워크 공유 - Drive sharing :
패킷 라우팅 악성프로그램이 전파되기 위해 또는 특정 서버를 공격하기 위해 필 - :
요한 서비스
그림 를 이용한 물리적 서버 구성결과 ( 4)VMware 2
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 9 -
그림 서버 서비스 제공 및 피해대상 서버에서 동작하는 서비스 제공 목록 ( 5) 2,
가상서버
(서비스 제공)
-Samba
-DNS Server
-Routing Software
-HTTP Server
-SMTP Server
-POP3 Server
-IRC Server
-Network Monitoring Software
가상네트워크
물리적서버 2
(Physical server 2)
-DHCP Server
-외부 관리 프로그램
가상서버
(피해 대상)
-Monitoring Subsystem
가상 서버 중 피해대상 시스템은 초기설정환경을 기록해야 한다 o .
를 사용시 기능을 이용하여 기록할 수 있다 - VMware snapshot .
가상 서버 중 피해대상 시스템에는 웜에 감염되었을 때 시스템 파일과 레지스트리 o
에서 발생하는 내용을 확인하기 위하여 모니터링하는 프로그램이 설치되어야 한다.
분석용 시스템은 다른 일반 네트워크와 분리되어 분석대상 네트워크에 분석을 위한 o
시스템 외 제 의 시스템에서 발생된 트래픽이 있어서는 안 된다 3 .
악성프로그램이 실행되면 인접한 시스템에 전파되어야 한다 악성프로그램이 o . Win32
라는 가정에 의해서 시스템으로만 전파된다 Win32 .
피해대상 시스템에는 분석용 도구 외의 다른 응용프로그램을 설치해서는 안 된다 o .
위내용이 악성프로그램 분석을 위한 기본환경 구성이다 하지만 경우에 따라 구성이 .
변경될 수 있다 보다 자세한 내용은 다음 을 참고한다 . URL .
http://www.research.ibm.com/antivirus/SciPapers/VB2000INW.htm
환경기준 구성 2. (Baselining the enviroment)
기준구성 이란 시스템의 현 상태를 기록하는 것이다 분석을 위해서 “ (baselining)“ .
악성프로그램은 통제환경에서 실행되어야 하며 -
악성프로그램에 의해서 변경된 내용이 확인될 수 있도록 도구가 설치되어야 하며 -
악성프로그램이 실행되기 전에 초기 환경구성이 기록되어져야 하며 -
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 10 -
실행된 뒤의 환경도 기록되어 악성프로그램의 실행전과 실행후의 내용을 비교함 -
으로서 악성프로그램이 수행한 내용을 확인할 수 있어야한다.
기준구성을 위해서 기록되어야할 환경요소는 다음과 같다.
피해시스템 o
피해시스템에서 기준구성이 되는 요소는 아래와 같다.
파일시스템 파일시스템이 피해시스템이 될 경우 기준구성이 되어야한다 - :
대부분의 악성프로그램은 피해시스템에 독립된 파일로 저장이 되거나 기존에 있 ․
는 파일을 변조하여 시스템에 저장한다.
악성프로그램의 ․ 실행전과 실행후의 파일명 사이즈 개수를 기록하여 변경유무를 확 , ,
인한다.
파일시스템의 상태를 기록할 수 있는 많은 프리웨어 프로그램이 있어서 변경된 ․
부분을 쉽게 찾을 수 있다
레지스트리 대부분의 악성프로그램은 레지스트리를 수정한다 - : .
․ 악성프로그램은 시스템 부팅시 자동으로 실행되기 위하여 레지스트리를 변경한다.
악성프로그램은 브라우저 실행시 임의의 사이트로 자동접속을 유도하기 위 Web ․
하여 레지스트리를 수정한다.
레지스트리의 변경 내용을 확인함으로서 악성프로그램의 실행내용을 분석할 수 ․
있다.
등의 도구를 이용하면 레지스트리 기준구성을 기록할 수 있다 Winalysis . ․
실행중인 프로세스 바이너리에 의해서 실행된 프로세스를 확인한다 - : .
․ 바이너리에 의해 실행된 프로세스를 확인함으로서 어떤 바이너리를 삭제해야 치료
가 가능한지 알 수 있다.
프로세스를 분석함으로 시스템에 미치는 영향을 분석할 수 있다. ․
실행중인 프로세스를 기록할 수 있는 프리웨어 프로그램은 다양하다. ․
열린 포트 열린 포트 목록을 이용하여 악성프로그램의 통신 포트를 확인한다 - : .
․ 악성프로그램의 확산 명령대기 백도어를 확인하기 위하여 열린 포트 목록 필요하다 , , .
명령을 이용하여 열린 포트 확인가능하다 그림 참조 Netstat . ( 6 ) ․
명령으로는 포트를 사용하는 프로세스는 확인할 수 없으므로 프로 Netstat fport ․
그램을 이용한 열린 포트와 해당포트에 연결된 프로세스 목록 확인 방법을 사용
하는 것이 분석에 도움이 된다 그림 참조 . ( 7 )
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 11 -
열린 포트와 연결된 프로세스를 확인하여 정상 프로세스 이름으로 위장한 바이 ․
너리를 탐지할 수 있다.
사용자 그룹 네트워크공유 서비스 등에 대해서도 기준구성을 해야 한다 - , , , .
그림 명령을 이용하여 열린 포트 확인 ( 6)Netstat
그림 명령을 이용하여 열린 포트 및 연결된 프로세서 확인 ( 7)Fport
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 12 -
네트워크 트래픽 o
네트워크 트래픽도 기준구성을 해야 한다 이런 목적을 위하여 네트워크 트래픽을 .
탐지하기 위하여 스니퍼 프로그램을 테스트 환경에 설치하여야 한다.
- 모든 테스트시스템은 실행되는 프로그램이 없어도 약간의 트래픽이 존재할 수 있다.
- 위의 기본 트래픽은 악성 프로그램의 트래픽과 구분되기 위하여 기록되어야 한다.
기본 트래픽을 테스트 네트워크 환경의 일반 트래픽 으로 정의한다 - (normal traffic) .
만약 바이너리 실행후 일반 트래픽과 다른 트래픽이 발생된다면 - 악성 프로그램에
의해서 발생되었다고 판단할 수 있다
바이너리에 의해 발생한 트래픽을 분석하여 접속 대상 사용서비스 전송내용을 - ,,
파악하여 악성 프로그램의 특성을 확인 할 수 있다.
외부확인 o
위에서 설명한 것처럼 바이너리에 의하여 열린 포트를 확인하고 기록하기 위하여
같은 프로그램을 피해시스템에서 이용한다 이 방법은 제 의 시스템에서 포트스캔 fport . 3
방법을 이용하여 기록하는 것보다 더 좋은 방법이다.
제 의 시스템에서 포트스캔은 과 같은 도구를 이용하여 가능하다 - 3 nmap .
이러한 방법은 침입차단시스템에 의하여 트래픽이 차단될 수 있으므로 내부 확인 -
방법에 비하여 정확도가 낮다
정보수집 3.
지금까지 분석을 위한 기본준비를 했다 다음의 설명은 실제로 사용자가 바이너리의 .
정보를 수집하는 절차다.
정적 분석 o
정적 분석을 위해서는 바이너리를 실행하지 않고서 가능한 많은 정보를 수집해야
한다.
- 정적 분석을 위하여 스크립트 패스워드 명령 컨트롤 채널 등을 기 , HTML, GUI, , ,
록한다.
과 같은 프로그램을 이용하여 바이너리에서 사람이 읽을 수 있는 - Binary Text Scan
내용을 추출해서 기록한다.
와 같은 프로그램을 이용하여 바이너리에 포함되어 있는 리소스 - Resource Hacker
를 추출하여 기록한다 (Resources) .
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 13 -
리소스는 요소 스크립트 그래픽 아이콘들을 포함하는 프로세스에서 - GUI , ,HTML, ,
확인 가능하다.
동적 분석 o
이 단계에서는 실제로 바이너리를 실행해서 분석환경에서 작용하는 내용을 확인한다.
위에서 설명한 스니퍼를 포함한 모든 모니터링도구를 이용하여 동적 분석을 수행 -
한다.
- 다른 시스템과의 연결시도를 모두 기록하여 악성프로그램이 전송하는 트래픽 확인
한다.
기준구성을 단계에 했던 것처럼 새롭게 다시 기록하여 악성프로그램의 실행 전 - 2
과 실행 후를 비교할 수 있는 자료 확보한다.
악성프로그램이 시스템에서 실행된 후 변경된 내용을 모두 기록한 뒤에 악성 프 -
로그램을 종료한다.
기준구성 기록내용과 새로 기록된 내용과 비교하여 차이점을 확인한다 - .
정보 분석 4.
이 단계에서는 지금까지 우리가 수집한 정보를 이용하여 최종 리버스 엔지니어링 작
업을 한다. 분석을 완료하여 전체 구성도가 나오기 위하여 지금까지 수행한 내용을 반복
수행한다. 일반적인 분석방법을 간단하게 설명하면 다음과 같다.
인터넷 서치 o (Internet Search)
서치엔진은 악성프로그램에서 더 많은 정보를 얻기 위하여 사용된다 정적 분석을 .
통하여 서치엔진에 입력할 핵심단어를 확보할 수 있다 핵심단어는 파일이름 레지스트리 . ,
키 값 명령어 등이 될 수 있다 , .
시작방법 o
모든 악성프로그램은 시스템이 재시동하면 반듯이 다시 실행되어야 한다 이점은 악 .
성프로그램의 맹점이다 모든 운영체제에서 시스템이 재시동할 때 프로그램이 자동으로 .
다시 실행될 수 있도록 하는 방법은 레지스트리 변경 등으로 한정되어 있다.
통신 프로토콜 o
같은 네트워크 트래픽 분석 프로그램을 이용하여 악성프로그램이 사용하는 Sniffer
프로토콜을 확인할 수 있다 그림 참조 . ( 8 )
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 14 -
전파방법 o
만약 악성프로그램이 자기복제 가능한 웜이나 바이러스라면 수집된 네트워크 트래 ,
픽을 분석하여 전파되는 방법을 쉽게 확인할 수 있다.
그림 를 이용하여 네트워크 트래픽 확인 ( 8) Sniffer
결과보고서작성 5.
악성프로그램 분석결과와 리버스 엔지니어링 결과를 보고서로 만드는 것은 매우 중요
하다 나중에 다른 악성프로그램을 분석할 때 참고하여 많은 도움을 받을 수 있는 장점이 .
있다.
결론 □
본 문서에서는 관리자나 사용자가 실행과정분석법을 이용하여 악성프로그램을 쉽게
분석하는 방법을 설명하였다 이 방법을 이용하면 일반 관리자는 최소한의 시스템을 이용 .
하여 악성프로그램을 분석하고 서비스에 미치는 영향을 확인하고 대처할 수 있다 분석을 .
위하여 대의 물리적 서버와 에뮬레이션 프로그램을 이용하여 구성한 가상서버 2 VMware
대를 이용하여 분석하는 예를 설명하였으며 분석환경 구성에 필요한 최소한의 서비스도 3
정의하였다 본 문서에서는 코드 분석에 대하여 자세히 다루지는 않았지만 위에서 설명한 .
내용으로 대부분의 사용자들은 기존의 분석방법에 비하여 보다 쉽게 악성프로그램을 분
석하여 피해를 줄일 수 있다.
KrCERT-TR-2004-002 http://www.krcert.or.kr
관리자를 위한 악성프로그램 분석방법 (Malware) cert@krcert.or.kr/(02)405-5091~4
__________________________________________________________________________________________
KISC
인터넷침해사고대응지원센터
- 15 -
□ 참고자료
1. "An Environment for Controlled Worm Replication and Analysis" by Ian Whalley
Bill Arnold, David Chess, John Morar, Alla Segal, Morton Swimmer
- www.research.ibm.com/antivirus/SciPapers/VB2000INW.htm
2. "Reverse Engineering Malware" by Lenny Zeltser
- www.zeltser.com/sans/gcih-practical/revmalw.html
3. "Paul Collins' Startup List" : http://www.sysinfo.org/startuplist.php
4. Archives of the various security and malware related mailing lists, most notably,
Bugtraq, Full-Disclosure, Focus-Virus, Incidents.
5. VMWare : www.vmware.com
6. Winalysis : www.winalysis.com
7. Installrite : www.epsilonsquared.com
8. Fport : www.foundstone.com
9. Nmap : www.insecure.org
10. Binary Text Scan : netninja.com/files/bintxtscan.zip
11. Resource Hacker : www.users.on.net/johnson/resourcehacker/
12. Filemon and Regmon : www.sysinternals.com
13. Ethereal : www.ethereal.com

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,045 명
  • 현재 강좌수 :  35,861 개
  • 현재 접속자 :  82 명