File System Forensics

[File System] NTFS (28) - $DATA, $INDEX_ROOT, $INDEX_ALLOCATION 속성

도깬리 2023. 8. 20. 07:00

안녕하세요. 도깬리 포렌식스 입니다.

오늘은 $DATA, $INDEX_ROOT, $INDEX_ALLOCATION 속성에 대해 알아보겠습니다. 모두 화이팅하세요!!!

 

$DATA 속성

속성 타입 ID : 128

고유한 구조체가 없습니다.

처음엔 거주형이었다가 내용이 약 700 바이트가 넘어가면 비거주형으로 전환됩니다.

일반적으로 MFT Entry의 마지막 속성이 됩니다.

 

$INDEX_ROOT 속성

속성 타입 ID : 144

항상 거주형’ 입니다.

인덱스 트리의 루트에 해당합니다.

 

바이트 범위 설명
0~3 인덱스에 있는 속성 타입 ( : 디렉토리 인덱스라면 $FILE_NAME 속성을 가지고 있으므로, 이 항목에는 0x30 이라는 값이 들어간다)
4~7 Collation Rule 수집정렬 규칙
8~11 인덱스 레코드 크기 (바이트)
12~12 인덱스 레코드 크기 (클러스터)
13~15 사용되지 않음
16 이상 노드 헤더

 

예제 데이터 (김철수.dd MFT엔트리 10871)

 

 

$INDEX_ALLOCATION 속성

속성 타입 ID : 160

항상 비거주형’ 입니다.

이 속성의 내용은 Index Record라는 구조체들로 구성되어 있습니다.

 

$INDEX_ROOT

Index Node $INDEX_ROOT속성 안에 저장됩니다.

$INDEX_ALLOCATION

Index Node Index Record라는 구조체 안에 저장됩니다.

Index Record의 크기는 일반적으로 4,096바이트 입니다.

 

인덱스 레코드 헤더의 데이터 구조체

 

바이트 범위 설명
0~3 시그너처 값 (INDX)
4~5 Fixup 배열 오프셋
6~7 Fixup 배열의 엔트리 수
8~15 $LogFile 순서번호 (LSN)
16~23 전체 인덱스 스트림에서 해당 레코드의 VCN
24 이상 노드 헤더

 

 

 

 

 

감사합니다. 오늘도 즐거운 하루 되세요.

"좋아요"와 "구독하기"는 힘이 됩니다.

참고문서 : File System Forensic Analysis (Brian Carrier)