윈도우 포렌식에서 메모리분석과 함께 제일 중요하게 여겨지고 있는 것은 레지스트리(Registry) 분석이다.

레지스트리란, 윈도우에서의 모든 정보가 저장되어 있는 데이터베이스이다.

레지스트리의 역사는 윈도우 3.1부터 시작되었으며, 시작은 .ini 파일처럼 단순한 구조로 시작되었다.

모든 정보가 저장되어 있는 만큼 포렌식 과정에서 얻고자 하는 정보도 들어있는 것은 분명하지만, 오늘날의 레지스트리는

복잡하고 양이 방대하여 섣불리 분석을 시도했다가는 분석한 시간에 비해 얻은 결과물은 초라할 것이다. 

각 레지스트리가 어떠한 정보를 담고 있는지에 대해서 알아보도록 하자.

레지스트리를 공부하기 전에 알아둬야 할 용어들이 있는데 아래에 간단히 적어보도록 하겠다.

이 용어를 숙지한 후 레지스트리를 공부하게 된다면 조금 더 레지스트리를 이해하는데 수월 해 질 것이다.

[레지스트리 용어]
 - 키 : 레지스트리에서 폴더처럼 데이터를 가지고 있는 것

[그림 1 - 키]


 - 루트키 : 레지스트리의 최상위 키

[그림 2 - 루트키]


 - 서브키 : 루트키 하위에 있는 키

[그림 3 - 서브키]

 
 - value : 폴더에 속한 파일처럼 키에 속한 값의 이름

[그림 4 - value]

 
 - data : value가 가지고 있는 값

[그림 5 - data]


 - 하이브 : 서브키와 같은 것이지만, 데이터가 메모리나 하드디스크에 저장되는 개념이 추가 된 것

 - HKCR : HKEY_CLASSED_ROOT의 약자 
 - HKCU : HKEY_CURRENT_USER의 약자 
 - HKLM : HKEY_LOCAL_MACHINE의 약자
 - HKU : HKEY_USER의 약자
 - HKCC : HKEY_CURRENT_CONFIG의 약자


용어는 위의 정도만 알아두면 앞으로의 설명을 이해하는데에는 어려움이 없을 것이다.

이제 각 루트키가 어떠한 것을 의미하는지 알아볼 차례이다.

[루트키]
 - HKEY_CLASSES_ROOT : 파일확장자와 확장자가 사용할 프로그램의 맵핑 정보, COM 오브젝트 등록 정보를 저장하고 있다.
   * 구성 : HKLM/SOFTWARE\Classes와 HKU\<SID>/Classes의 집합
 
 - HKEY_CURRENT_USER : 현재 시스템에 로그온하고 있는 사용자의 시스템 정보를 저장하고 있다.
   * 구성 : HKU 아래 유저들 중 현재 로그온한 유저에 해당하는 서브키 포함

 - HKEY_LOCAL_MACHINE : 시스템에 있는 하드웨어와 소프트웨어 정보, 드라이버 정보를 저장하고 있다.
   * 구성 : 하드 드라이브에 있는 하이브 파일들과 메모리에 있는 하이브의 모음

 - HKEY_USER : 시스템에 있는 모든 계정과 그룹에 대한 정보를 저장하고 있다.
   * 구성 : 사용자 최상위 폴더 아래에 있는 NTUSER.DAT 파일의 집합

 - HKEY_CURRENT_CONFIG : 시스템이 부팅시 사용하는 하드웨어 프로파일 정보를 저장하고 있다. 
   * 구성 : HKLM\CurrentControlSet\Hardware Profiles\Current에서 부팅시 사용한 하드웨어 프로파일의 집합


위 내용들을 보면 각 루트키들은 독자적인 영역이 있지 않고 HKLM과 HKU만 제외하고 모두 서로 얽혀 있는 것을 볼 수 있다.

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

Registry (3)  (0) 2012.01.03
Registry (2)  (0) 2012.01.02
Registry (1)  (0) 2012.01.02
Memory Analysis (8)  (3) 2011.12.28
Memory Analysis (7)  (0) 2011.12.28

+ Recent posts