File System Forensics

[File System] NTFS (02) - MFT 엔트리, 파일시스템메타데이터

도깬리 2023. 6. 23. 06:18

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

오늘은 MFT 엔트리의 내용과 파일시스템 메타데이터파일에 대해 알아 보겠습니다. 모두 화이팅하세요!!!

 

MFT 엔트리의 내용

엔트리의 크기(1KB)는 부트섹터에 기록됩니다.

파일의 크기가 1KB 이상이라면 여러 개의 엔트리를 사용할 수 있습니다.

1개의 파일이 여러 개의 엔트리를 사용하는 경우

- 첫 엔트리를 기준 엔트리라고 부릅니다.

- 나머지 엔트리는 기준 엔트리주소를 포함합니다.

 

MFT 엔트리는 일종의 소지품이 담겨 있는 큰 박스

박스의 외부는 이름과 주소 등 기본적인 정보가 붙어 있습니다.

기본 정보는 고정된 필드로 저장됩니다.

 

시그너처

- FILE : 정상적인 엔트리

- BAAD : 오류가 난 엔트리

 

플래그

- 사용중인지 여부

- 파일인지 디렉토리인지 여부

 

박스의 내부는 처음에는 비어 있지만, 박스보다 더 작은 물건은 그 어떤 것이라도 집어 넣을 수 있습니다.

특정한 정보를 속성이라는 이름으로 저장할 수 있습니다.

MFT 엔트리의 할당 상태는 $MFT파일의 $BITMAP 속성에 기록됩니다.

 

MFT 엔트리 주소

첫 엔트리 : 0번 엔트리

MFT 엔트리는 순차적으로 주소(=File Number,48비트(6바이트))가 지정됩니다.

모든 MFT 엔트리는 할당될 때마다 증가하는 순서번호(=Sequence Number,16비트(2바이트))를 갖고 있습니다.

순서번호 1번을 갖고 있던 MFT 엔트리 313번에 할당된 파일이 삭제되고, 새로운 파일이 생성될 때, 해당 엔트리가 재할당되면 순서번호는 2번이 됩니다.

 

파일참조주소 (File Reference Address, 64비트(8바이트))

File Number + Sequence Number

 

 

파일시스템 메타데이터 파일 (File System Metadata File)

메타데이터 파일 : 파일시스템 관리 데이터

MTF 엔트리에서 처음 16개의 엔트리를 지칭합니다.

사용자에게는 보이지 않습니다.

$로 시작하며, 파일이름에 대문자 + 소문자를 포함합니다. ($MFT는 예외)

일반파일이나 디렉토리는 24번 엔트리부터 시작합니다.

엔트리 파일 이름 설명
0 $MFT MFT 자신을 위한 엔트리를 저장
1 $MFTMirr MFT 엔트리의 백업본
2 $LogFile 트랜잭션 저널 기록을 저장
3 $Volume 볼륨레이블, 버전 등 볼륨에 관한 정보를 저장
4 $AttrDef 식별자 값, 이름, 크기 등 여러 속성 정보를 저장
5 . 루트 디렉토리를 저장
6 $Bitmap 각 클러스터의 할당 상태를 저장
7 $Boot 부트섹터와 부트코드를 저장
8 $BadClus 불량섹터가 있는 클러스터에 대한 정보를 저장
9 $Secure 파일 보안과 접근 권한에 대한 정보를 저장
10 $Upcase 모든 유니코드 문자의 대문자를 저장
11 $Extend 추가 확장을 위한 파일을 저장하는 디렉토리 (다만, MS는 일반적으로 이 디렉토리 안에 어떠한 파일도 저장하지 않는다)

 

 

 

 

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

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

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