안녕하세요. 도깬리 포렌식스 입니다.
오늘은 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)
'File System Forensics' 카테고리의 다른 글
[File System] NTFS (04) - 기본 속성 (0) | 2023.06.27 |
---|---|
[File System] NTFS (03) - MFT 엔트리의 속성 (0) | 2023.06.25 |
[File System] NTFS (01) - MFT (0) | 2023.06.21 |
[File System] FAT 파일시스템 (10) - SFN, LFN Entry 등 (0) | 2023.06.19 |
[File System] FAT 파일시스템 (9) - Directory Entry (0) | 2023.06.16 |