본문 바로가기

[+] Forensic

Memory Analysis (4)

이번에는 크래시 덤프에 대해서 알아보도록 하겠다.

[Crash dump 정의]
OS가 시스템을 유지하기 힘들정도로 심각한 문제가 발생하였을 때 문제의 원인을 찾기 위해 생성하는 메모리 덤프를 말한다. 예를 들면 흔히들 WIn 98에서 본 블루스크린이 있다.


정의를 알아봤으니 이젠 크래시 덤프의 장단점을 짚어보고 다음것을 알아보도록 하자.

[크래시 덤프의 장단점]
1. 장점
   - 모든 메모리 덤프 중에서 가장 순수한 메모리 덤프를 얻을 수 있음.
   - 키보드 시퀀스에 의한 강제 메모리 덤프는 Ctrl + Alt + Delete 키 시퀀스가 동작하지 않는 상황에서조차 사용할 수 있음.

2. 단점
   - 메모리 덤프를 만들기 위한 조건이 까다롭고 언제나 풀 크래스 덤프를 만들 수 있는 것도 아님. 
   - 사전에 이미 레지스트리 값이 수정되어 있어야 함.
   - 크래시 덤프는 기본값으로 부트 볼륨에 저장 됨.
   - 아주 가끔이지만 수동 크래시 덤프가 BSoD를 일으킬 수 있음. 


포렌식을 공부하고 있으니 크래시 덤프를 포렌식 관점에서 봤을 때는 어떨까?

[포렌식 관점에서의 크래시 덤프]
크래시 덤프의 결과물은 다른 방법들 보다도 정확하며 순수하다. 하지만, 크래시 덤프를 생성하는 일은 쉽지 않으며 언제나 이 방법을 사용 할 수 있지 않다. 기본적으로 OS에서는 사용자가 크래시 덤프를 생성하게 끔 허락하지 않기 때문에 임의의 설정을 통하여 크래시 덤프를 생성하여야 한다. 하지만 설정 후 시스템을 재부팅해야만 하는데 이 재부팅 과정에서 포렌식에서 중요하게 여기는 휘발성 정보등의 증거들과 조사해야 할 환경들이 사라지게 되어 포렌식관점에서 바라봤을때는 무조건 이 방법을 사용해야만 한다고는 볼 수 없다.
또, 크래시 덤프를 하게 되면 기본적인 저장 경로는 로컬 하드 드라이브로 되어 있는데 이 경로를 그대로 사용한다면 크래시 덤프의 데이터가 하드 드라이브에 어떤 중요한 증거일지도 모르는 데이터를 뒤집어 씌울 수도 있어 포렌식 관점에서는 좋지 못하다. 기본경로를 수정 할 수는 있지만 이 또한 수정 후에는 재부팅을 해야 하므로 좋지 못한 방법이다.
만약 조사관이 조사 대상 시스템을 조사하던 중 크래시 덤프 파일이 있거나, 크래시 덤프를 사용자가 생성할 수 있도록 설정이 되어 있고 저장 경로가 하드 드라이브가 아닌 다른 외장장치로 되어 있다면 크래시 덤프 방법을 사용해도 좋다. 

 

크래시 덤프에는 3가지 종류가 있는데 3가지 종류마다 담고 있는 데이터가 다르다.

이에 대해서 알아보도록 하자.

[크래시 덤프의 종류]
1. 작은 메모리 덤프(Small Memory Dump)
    - 오류가 발생한 원인을 밝히기 위한 최소한의 정보만을 기록한다. 부트 볼륨에 최소한 2MB 이상의 페이지 파일이
       있어야 한다.

2. 커널 메모리 덤프(Kernel Memory Dump)
    - 할당되지 않은 메모리 영역과 사용자 모드로 동작 중인 프로그램들에 메모리 영역을 제외한 커널 모드와
       HAL(Hardware Abstraction Layer) 메모리 영역만을 기록한다. 포렌식 관점에서 봤을 땐 사용자 모드 프로그램의
       메모리 영역을 기록하지 않아 중요하진 않지만, 오류 수정하는데에는 적합한 덤프이다.

3. 전체 메모리 덤프(Full Memory Dump)
    - 메모리 전체를 기록한다. 이 메모리 덤프를 만들기 위해서는 부트 볼륨에 전체 메모리 크기에 1MB를 더한 만큼의
       페이지 파일이 있어야 하며, 32bit 환경에서는 2GB 이상의 메모리는 덤프 할 수 없다. 

* 커널 메모리 덤프나, 전체 메모리 덤프는 저장경로에 하나의 파일로 존재하여, 새로운 덤프파일이 생성되면
   이전에 생성된 덤프파일을 덮어 씌어버린다. 



'[+] Forensic' 카테고리의 다른 글

Memory Analysis (6)  (0) 2011.12.26
Memory Analysis (5)  (0) 2011.12.26
Memory Analysis (4)  (0) 2011.12.25
Memory Analysis (3)  (2) 2011.12.25
HardDisk 구조  (0) 2011.12.24