관리 메뉴

Jsecurity

NTFS MFT(Attributes)속성 본문

포렌식/디지털 포렌식

NTFS MFT(Attributes)속성

Great king 2019. 6. 17. 15:02

# MFT Attributes

- 파일의 여러 정보를 저장하고 있는 Metadata

- Attrubyte Header: 속성 Type, 속성의 길이, Non-Resident Falg 등

- Attribute Content: 속성의 Type에 따른 정보 저장

 

 

# 속성의 종류

 

 $STANDARD_INFORMATION 속성, $FILE_NAME 속성

Fixup 배열 이후에 속성 식별자로 “0x00000010” 값을 가지는 $STANDARD_INFORMATION 속성이 나온다. 다른건 다 놔두고 이어서 나오는 $FILE_NAME 속성 전에 가운데 부분을 보면 일정한 형태의 값 4개를 확인할 수 있다. (“A0 59 A7 53 FE FE C3 01”) 이것은 $STANDARD_INFORMATION 속성의 4가지 시간정보이다.

 

 

# Resident와 Non-Resident

 

- MFT Entry에 속성을 저장하는 방식

- Resident 방식: 속성 내용 (Attribyte Content)이 MFT Entry에 존재

- Non-Resident 방식: 속성 내용이 너무 커서 MFT Entry에 저장할 수 없어 별도의 클러스터를 할당 받아 저장

 


# 클러스터 런 (Cluster Runs)

 

설명-> 속성이 Non-resident일 경우 별도의 클러스터를 할당 받아 내용을 저장한다고 했다. 할당 받는 클러스터가 내용의 크기에 따라 한, 두 개에서 수 천개가 될 수도 있다. 700메가의 동영상 파일이라고 하면, 4K의 클러스터를 사용할 경우 20만개의 클러스터가 사용된다. 이 클러스터들은 하드디스크의 여유 공간이 너무 많아 연속적으로 할당 될 수 있겠지만, 대부분은 비 연속적으로 할당 된다.

 

- Non-Resident 방식으로 속성의 내용이 저장되어 있는 경우 MFT Entry의 Attribute Content에 Cluster Runs 구조를 통해서 실제 속 성 내용의 클러스터 위치 확인

- LCN (Logical Cluster Number): 볼륨에서의 클러스터 번호

- VCN (Virtual Cluster Number): 파일내에서 클러스터 번호

 

 

# 클러스터 런 구하기

- 첫 번째 클러스터 런: B0 00 00 00 48 00 00

    ∙ 런 길이(3 bytes): 0x000000

    ∙  런 오프셋(3 bytes): 0x000048

 

- 두 번째 클러스터 런: 00 01 00 40 00 00 00 05

    ∙ 런 길이(3 bytes): 0x400001

    ∙  런 오프셋(3 bytes): 0x050000

 

# Sparse

- $DATA 속성 (실제 파일의 내용 저장)에서 사용

- 클러스터의 데이터가 모두 0일 때 해당 클러스터를 실제 할당하지 않음

 

'포렌식 > 디지털 포렌식' 카테고리의 다른 글

시스템 로그 정보 (Linux, windows)  (0) 2019.06.21
파일시스템 개요  (0) 2019.06.17
NTFS MFT Entry  (0) 2019.06.16
NTFS의 MFT(Master File Table)란?  (0) 2019.06.15
NTFS Boot Record  (0) 2019.06.15
Comments