프로그램을 직접 실행하며 분석
악성코드 분석에서 가장 프로그램의 영향을 쉽게 파악
프로그램의 기능을 파악하기 위해 악성코드 실행 전후 조사 및 분석
악성코드 실습 시 발생하는 호스트/네트워크 환경 구성
파일, 프로그램 실행, 레지스트리, 서비스 등 관련 항목 변경 사항 확인
실생 시 발생하는 네트워크 트래픽 분석
특정 레지스트리, 파일 시스템, 네트워크, 프로세스, 스레드 행위를 모니터링 하는 고급 도구
악성코드가 감염되면 레지스트리 값을 건들고 OS에 영향을 준다. 즉 프로세스 모니터에서는 사용자단에서 발생하는 거의 대부분의 이벤트를 모니터링 할 수 있다.
1) 특정 GUI와 장치 I/O 제어를 통한 루트킷 탐지 불가
-> 루트킷: OS는 유저모드와 커널모드가 있는데 커널모드는 쉽게 사용자들이 접근하면 안된다. 루트킷은 커널단을 건드는 악성코드이다. 유저단에서 탐지하기 매우 어렵다.
2) 네트워크 행위에 대해 일관성 있는 탐지 불가
-> 너무나 많은 정보들이 찍혀서 일관성 있게 분석하기 어려움
-ProcMon 사용법(버튼 순서대로)
1) 버튼으로 필터링

-> 버튼 눌러서 비활성화 시켜서 레지스트리정보만 보거나 할 수 있음
2) clear

clear 버튼누르면 다 지워짐
3) 고급 필터
-> 노트패드만 보고 싶어


1) 레지스트리 정보
2) 파일시스템정보
3) 네트워크 패킷정보
4) 프로세스 스레드 정보

-> 반복적으로 실행됨
1. CreateFile: 파일을 생성했다.
거의 대부분 파일을 실행했다임
QueryBasicInformationFile
내가 파일에 접근한것에 파일정보들을 가지고 왔다.
CloseFile: 닫아줌
ex> 노트패드 실행하면 ProcMon에 어떻게 뜰까?

1. 노트패드 실행되면 이렇게 역시 앞의 3개가 세트로 나온다.
CreateFile,QueryBasicInformationFile, CloseFile
2. 그 후 경로를 확인한다.(Query Directory)
3. 그리고 링크 파일이 업데이트 된다.(노트패드기 실행되면 자동으로 실행)


ProcMon에 관련한 로그들이 다 찍힌다.

3.아래쪽으로 내리면 레지스트리 정보가 나온다.



-> ID값들이 할당됨
원래부터 서비스이름 알고 있으니 MalService로 그냥 찾는다.


궁금하면 이 경로 그대로 레지스트리에디터(Registry Editor)에서 따라가면 됨

바로바로 실시간으로 확인하는 것임(앞의 프로세스 모니터는 쌓아놓는 개념)


-> 다시 트리구조로 보고싶은 경우 이 버튼 누르면됨

-> 커맨드라인도 볼 수 있음

-> 각각의 서비스들을 관리하고 있는 프로그램들, 서비스에 등록돠어있던 애들을 관리하는 프로세스들
-> scvhost.exe라는 악성코드도 있었음, 근데 위치가 여기는 아님

-> explore.exe: 탐색기라는것은 그냥 전체이다. 띄워져 있는 것을 관리하는 프로세스다.
사용자가 실행하는 프로그램은 explore.exe아래에 위치한다.
악성코드도 자기가 자동으로 실행이 되더라도 사용자 권한으로 실행되면 사용자가 실행하는 것이다.(explore.exe아래에 들어온다)
그런데 만약 관리자 권한으로 해서 서비스로 등록되어서 실행되면 위쪽으로 간다.
아래로 들어가는 것은 사용자가 실행하는 것이다. 반면 가장 밖에 있는 것들은 관리자들이 관리자 권한으로 실행하는 것이다.

즉 악성코드가 위의 그림처럼 밖에서 실행되는것은 보안적으로 매우 심각한 악성코드이다.(사용자가 아니라 시스템 관리자 권한으로 실행되는것임)


chrome은 쓰레드가 많다.
프로세스하고 연결되어 있는애를 찾는다.
악성코드는 나중에 감염시키면 악성서버하고 연결해서 제어하거나 정보가지고 가는 정보(established여부)등이 있다.
3) Security

프로세스의 권한들이 어떠한 것들이 주어지느냐의 정보(많음)
이러한 권한들을 주었다.
시스템권한이 최고 권한이다.