정적분석은 악성코드를 실행하지 않고 코드 자체를 분석하는 방법이다.
특징:
동적분석은 악성코드를 실제로 실행하면서 그 동작을 관찰하고 분석하는 방법이다.
특징:
| 항목 | 정적분석 | 동적분석 |
|---|---|---|
| 실행 여부 | 실행하지 않음 | 실행함 |
| 안전성 | 높음 | 낮음 (격리된 환경 필요) |
| 분석 대상 | 코드 자체 | 실행 중 동작 |
| 분석 깊이 | 전체 코드 구조 파악 가능 | 실제 동작만 관찰 가능 |
| 은닉 기법 대응 | 어려움 | 효과적 |
| 시간 소요 | 상대적으로 빠름 | 상대적으로 느림 |
Virustotal(기초 분석) : 백신에 따른 악성코드 확인과 해시값 조회를 통한 과거 검사 이력 확인
Exeinfo(패킹 여부 확인) : PE파일 생성에 사용했던 패커나 컴파일러를 확인할 수 있다
(*PE : 악성코드의 실행 파일이나 악성 라이브러리 등을 포함하는 형식)

Exeinfo 사용법
좌측 그림에서 우측 상단에 체크된 파일 모양 박스를 클릭해 파일을 불러 올 수 있다.
파일을 스캔하게 되면 우측과 같은 모습을 확인할 수 있음
상단부터 체크된 곳은 알아둬야 할 것 으로 보여집니다.
상단에 스캔한 파일의 이름
Image is 32 bit executable 의 경우 32 bit 로 구동이 된다 라는 것을 알려주는 것
UPX 0.89 - 3.xx 의 경우 ' UPX ' 라는 패킹 툴로 패킹이 된 것을 확인 할 수 있다.
unpack "upx.exe -d" from http:// ........... 의 경우 해당 UPX 로 패킹처리 된 것을 언패킹 하기 위한 정보가 담겨져 있다.

BinText 는 파일에 포함된 문자열들을 GUI 의 형태로 보여주는 툴이다.
해당 툴의 경우 패킹이 된 파일을 스캔할 경우에는 제대로된 정보가 나오지 않기 때문에 언패킹을 꼭 진행한 후에 사용을 해야한다.
BinText 사용법
Bintext 를 실행한다.
우측 상단 Browse 박스를 클릭해 스캔하고 싶은 파일을 불러온 후 우측에 Go 박스를 클릭한다.
해당 파일에 포함된 문자열들이 우측 그림과 같이 아래에 나열된다.
해당 파일의 문자열을 확인해 해당 파일에 Import 한 DLL 의 정보와 함께 사용된 함수를 확인할 수 있다.
네트워크 행위를 하는 파일의 경우에는 해당 파일에 포함된 IP 주소와 URL 정보 등도 확인이 가능할 것으로 보인다.
Process Explorer(프로세스) : 현재 동작중이거나 새로 실행, 종료 되는 process들에 대해서 트리형식을 실시간으로 볼 수 있다
-> 현재 사용되는 시스템의 리소스를 알 수 있고, 프로세스의 상세정보를 확인할 수 있다

<그림 1> 모습의 경우 Process Explorer 를 실행을 하였을 때 모습이다.
현재 실행되고 있는 프로세스들을 관리하고 분석할 수 있는 툴이다.
현재 실행되는 프로세스를 트리 형식으로 보여주는 것이 특징이다.
현재 사용되는 시스템의 리소스를 알 수 있고, 실행중인 프로세스의 상세정보를 파악할 수 있다.

분석하고 싶은 프로세스를 우클릭하게 될 경우 좌측 사진과 같이 여러 메뉴들이 나오는 것을 확인할 수 있다.
좌측 메뉴를 보면 프로세스 종료, 재시작, 정지 기능도 가능하고, Create Dump 를 이용해 덤프파일을 생성해메모리를 분석하는 등의 작업도 할 수 있을 것으로 보인다.
그아래 Properties 라는 메뉴를 볼 수 있는데 말 그대로 ' 속성 ' 이라는 뜻이다.
해당 메뉴를 들어갈 경우 우측과 같은 모습을 확인할 수 있는데 상단에 상당히 다양한 탭을 이용해 해당 프로세스가 리소스를 얼마나 사용하는지 네트워크 통신을 하는지 해당 프로세스에 포함된 문자열 등을 손쉽게 확인할 수 있음
Autoruns(파일 및 레지스토리) : 시스템에서 실행되고 있는 프로그램 및 서비스를 볼 수 있고 관리할 수 있게 해준다
-> 악성코드가 시스템에 설치되었거나 실행되었는지 확인할 수 있다

Autoruns 는 윈도우가 부팅 후 자동으로 시작되는 서비스 또는 프로그램을 모니터링 할 수 있는 툴이다.
해당 툴은 보통 악성 코드 분석 시 해당 악성 파일을 실행하기 전 스냅샷을 촬영하고 실행 후 스냅샷을 촬영해 두 개를 비교하는 것으로 사용한다.
스냅샷을 촬영 후 비교하는 방법
파일 실행 전 좌측 상단 플로피 디스크 버튼을 클릭 해 저장한다.
분석할 파일을 관리자 권한으로 실행한다.
아래 <그림 2>와 같이 좌측상단에 File 탭에서 Compare 버튼을 클릭해 이전에 저장한 파일을 불러오게 되면 두 개의 스냅샷을 비교해 프로그램에 어떤 부분이 변경되었는지 확인할 수 있게된다.

WireShark(네트워크) : 네트워크 패킷 캡쳐 및 분석 도구
-> 악성코드가 네트워크 트래픽을 생성하는 경우, 이를 캡쳐하여 분석한다
-> 모든 패킷에 대한 정보를 실시간으로 기록하며 패킷 내의 프로토콜 정보를 세부적을 파악이 가능하다.
