컴퓨터개론/Windows

레지스트리 내부구조

ggaul 2023. 3. 16. 06:07
반응형

 레지스트리는 헤더와 여러 개의 hive bind으로 구성되어 있다. 

논리적인 할당 단위 블록 크기 4096byte로 일정하게 구성되어 있다.

 - 레지스트리 헤더 

  레지스트리 헤더 또는 하이브 헤더 라고 한다. 시그니처, 갱신 순서 번호, 마지막 수정시간, 레지스트리 복구에 관한 정보, 하이브 포맷 버전 번호 등의 정보가 있다.

  00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
0x00 Signature “regf” Sequence Num1 Sequence Num2 Timestamp
0x10   Major Version Minor Version Unknown
0x20 Unknown Start of Root Cell Start of last hbin Always 1
0x30 Hife file path or name (Unicode, 64 bytes)
0x40
0x50
0x60
 * Signature: regf로서 레지스트리 헤더
 * Sequence Num1: 시퀀스 번호1. 하이브에 문제가없다면 시퀀스 번호 2과 같아야 한다.

 * Sequence Num1:  시퀀스 번호2. 하이브에 문제가 없다면 시퀀스 번호 1과 같아야 한다. 

 * Timestamp: 64비트 형식의 윈도우 타임스탬프

 * 메이저 버전:  상위 버전의 번호

 * 마이너 버전:  하위 버전의 번

 * Start of Root Cell : 루트 셀 오프셋으로 0x20이다. 하이브 헤더 길이는 4096(0x1000) 바이트이다. 이것은 첫 번째 hbin 셀이 절대 오프셋 0x1000에서 발견된다는 것을 의미하고 루트 셀의 상대 위치인 0x20에 0x1000을 더해야 한다. 즉, 0x20 + 0x1000 = 0x1020 오프셋이 생성되고 해당 오프셋을 보면 루트 셀의 데이터 구조를 볼 수 있다.

  * 길이: 레지스트리 하이브의 길이는 오프셋 0x28에 있다.

  * 파일 이름: 이름은 최대 길이가 64인 UTF-16 리틀 엔디안 형식으로 저장된다. 문자열은 NUL(문자열 끝) 문자로 종료된다. 위 그림의 파일 이름은 System을 알 수 있을 것이다.

Hive Bin 1

 

Hive Bin 2

   *  Hive Bin(하이브 빈)

    - 셀(Cell)을 포함하는 모든 레코드의 "컨테이너"로서 hbin 시그니처로 시작한다.

    - hbin 셀은 4096(0x1000)바이트의 고정크기를 가지며 몇 가지 중요한 정보 서명, 파일 오프셋, 크기 등을 가지고 있다.

 

   * 셀(Cell): 하이브 내의 다양한 데이터는 셀 구조로 저장(8바이트의 배수)하며 실제 데이터를 저장하는 단위로 데이터 유형을 저장한다.

레코드 유형 설명
키셀(Key Cell) nk로 시작하며 키에 대한 값이 들어있으며 타임스탬프, 부모키 인덱스, 서브키 인덱스, 키 이름 저장
값셀(Value Cell) vk로 시작하며 값, 유형, 이름 등을 저장
하위키 목록 셀(Subkey-list Cell) If, Ih, ri 3가지 타입이 있으며 부모키의 모든 하위키 셀의 인덱스 목록 저장
값 목록 셀(Value-list Cell) 부모키의 모든 값 셀의 인덱스 목록 저장
데이터 셀(Data Cell) 데이터를 저장하는 셀 (Big Data Cell, Normal Data Cell)
보안기술자 셀(Security-descriptor Cell) sk로 시작하며 보안기술자 저장

                                                                                                                                           

 *참고 문헌: 디지털포렌식 한 권으로 끝내기<이중, 바른북스>

반응형

'컴퓨터개론 > Windows' 카테고리의 다른 글

Registry(TimeZone Information)  (0) 2023.03.24
Rigistry(System Information)  (0) 2023.03.21
Registry Analysis(2)  (0) 2023.03.13
Registry Analysis(1)  (0) 2023.03.12
Windows 환경 변수 설정 방법  (0) 2023.03.11