본문 바로가기

Kitri_NCS3기 보안과정/디지털포렌식

170626 윈도우 포렌식 - 레지스트리

윈도우 레지스트리(Windows Registry)


마이크로소프트 윈도우 운영체제에서 운영체제와 응용프로그램 운영에 필요한 정보를 저장하기 위해 고안한 

계층형 데이터베이스 


필요성 

윈도우 시스템 분석의 필수 요소 

• 운영체제 정보, 사용자 계정 정보, 시스템 정보, 응용프로그램 실행 흔적, 최근 접근 문서 등 

• 자동 실행 항목(Autoruns) 분석, 악성코드 탐지 

• 저장매체 사용 흔적 분석(하드디스크, CD-ROM, USB 등) 

사용자/시스템/저장매체 사용 흔적 분석 → 추가적인 포렌식 분석 대상 선별 


포렌식 관점 

온라인 레지스트리 분석

 활성시스템에서의 레지스트리 분석

 RegEdit(regedit.exe), RegEdt32(regedt32.exe)를 통해 확안 가능

 

오프라인 레지스트리 분석

 비활성시스템(포렌식 복제 드라이브나 이미지)에서의 레지스트리 분석 

 레지스트리 하이브(Hive) 파일의 수집이 필요 

 운영체제 버전별 하이브 파일의 정확한 위치를 사전에 숙지 

 포렌식 분석은 대부분 오프라인 레지스트리 분석을 대상으로 함 


하이브 파일이란?

레지스트리 정보를 저장하고 있는 물리적인 파일

키 값들이 논리적인 구조로 저장 

활성시스템의 커널에서 하이브 파일을 관리 (일반적인 방법으로는 접근불가)


하이브 셋(Hive set)

활성 시스템의 레지스트리를 구성하는 하이브 파일 목록

SAM, SECURITY, SYSTEM, SOFTWARE, Default, NTUSER.DAT, Usrclass.dat 등 

FTK imager에서 레지스트리를 추출


레지스트리 데이터 형식 



레지스트리 루트 키 


루트종류 와 하위 정보 및 경로 


 HKEY_CLASSES_ROOT 

파일 연관성과 COM(Component Object Model) 객체 등록 정보 

 HKEY_CURRENT_USER 

현재 시스템에 로그인된 사용자의 사용자 프로파일 정보 

 HKEY_LOCAL_MACHINE 

시스템의 하드웨어, 소프트웨어 설정 및 다양한 환경 정보 

하위 키

하이브 파일 위치

BCD000000000 

부트 구성 데이터베이스 정보 (Boot.ini 대체) 

%SystemRoot%\System32\config\BCD-Template 

COMPONENT 

컴포넌트 기반 서비스 스택과 관련된 정보 

%SystemRoot%\System32\config\COMPONENTS

HARDWARE 

시스템 하드웨어 디스크립션과 모든 하드웨어 장치의 드라이버 매핑정보 

Volatile hive 

SAM 

로컬 계정 정보와 그룹정보(시스템 계정에만 접근 가능) 

%SystemRoot%\System32\config\SAM 

SECURITY 

시스템 보안 정책과 권한 할당 정보(시스템 계정만 접근가능) 

%SystemRoot%\System32\config\SECURITY 

 SOFTWARE

시스템 부팅에 필요없는 시스템 전역 구성정보 (소프트웨어 정보) 

%SystemRoot%\System32\config\SOFTWARE 

 SYSTEM

시스템 부팅에 필요한 시스템 전역 구성 정보 

%SystemRoot%\System32\config\SYSTEM 


부팅시 HKLM\SYSTEM 하이브는 물리 메모리로 로드 되기 때문에 하이브 파일 크기에 제한.


 HKEY_USERS 

시스템의 모든 사용자와 그룹에 관한 프로파일 정보 

모든 사용자의 프로파일과 사용자 클래스 등록 정보 (사용자 별로 나누어져 있다.)

 HKEY_CURRENT_CONFIG 

시스템이 시작할 때 사용되는 하드웨어 프로파일 정보 

 HKEY_PERFORMANCE_DATA 

성능 정보를 저장