본문 바로가기

디지털 포렌식 (Forensic)/디스크 포렌식 (Disk)

[디스크 포렌식] NTFS 파일 시스템 Non-Resident $DATA 속성

728x90
반응형

NTFS 파일 시스템 Non-Resident $DATA 속성

 

Non-Resident 속성의 경우 해당 Index Entry에서 0x80($DATA) 속성을 찾아 분석하여 수동으로 해당 데이터의 실제 위치를 알아낼 수 있습니다.

 

위 그림은 $DATA 속성의 구조입니다. 

 

의미 내용
Attribute Type ID 속성 타입 식별 값을 나타냄. $DATA는 [80 00 00 00] (0x10, 0x30, 0x80, 0xA0 등 하위 MFT Entry)
Length of Attribute 속성 헤더를 포함한 속성 전체의 길이를 나타냄
N-R Flag Non-Resident 속성 여부를 나타냄 (0x01은 N-R 속성)
Flags 속성 상태를 나타냄 (0x0001은 압축, 0x0002는 숨김, 0x0020은 압축)
Real Size of Attribute Content 실제 파일의 크기
Initialized Size of Attribute Content 실제 파일의 초기 크기
Attribute Name 실제 데이터 위치 정보를 담고 있음

위는 실습 파일의 Index Entry 영역에서 $DATA 영역입니다.

 

해당 파일의 데이터 주소는 마지막 Attribute Name 영역을 분석하여 알아낼 수 있습니다.

 

Attribute Name은 클러스터 런이라는 구조체를 따르며 클러스터 런은 하나의 Index Entry(1024byte)에 파일 내용을 모두 담지 못하여 새로 클러스터를 할당받아 파일의 내용을 저장하는 방법입니다.

 

즉, 연속적으로 저장되어야만 하나의 파일으로써 의미가 있으므로 연속적인 클러스터 공간을 새로 할당받는 것입니다.

 

처음 1바이트는 새로 할당받은 클러스터의 위치고, 두 번째 1바이트는 할당받은 클러스터의 크기입니다.

 

예를 들어 0x420302854F111300 이라는 주소가 할당되었다고 치면,

 

4바이트를 사용하는 주소와 2바이트를 사용하는 클러스터 주소가 할당됩니다.

 

즉 0x0203 크기의 클러스터를 사용하며, 파일의 주소는 0x13114F85가 됩니다.

728x90
반응형