[디지털 포렌식] NTFS의 MFT(마스트 파일 테이블)란?
$MFT 파일?
MFT(Master File Table)는 NTFS 파일 시스템의 핵심 구성 요소로, 파일 메타데이터를 추적하는 데 사용된다.
$MFT 파일에는 MFT 자체를 포함한 모든 파일의 레코드가 포함되어 있다.
마치 회사의 인사 데이터베이스와 같은 역할을 하는데, 각 직원(파일)에 대한 이름, 부서, 입사일, 성과 기록 등의 중요 정보를 모두 한곳에 체계적으로 저장하고, 필요할 때 빠르게 검색할 수 있게 해주는 것고 비슷함.
구조 및 공간 관리
- MFT는 각 파일 레코드에 일반적으로 1024바이트를 할당한다
- 디렉토리도 MFT 내에 레코드를 가지며, 데이터 대신 인덱스 정보를 포함한다
- NTFS는 MFT 조각화 방지를 위해 'MFT 영역'이라는 공간을 예약한다
- MFT 영역은 다른 모든 볼륨 공간이 할당된 후에만 파일 저장에 사용된다
이러한 구조는 MFT가 디스크에서 연속적으로 유지되도록 하여 성능을 최적화한다.
MFT가 조각화되면 파일 시스템 성능이 크게 저하될 수 있기 때문.
MFT의 속성
속성은 두 가지 유형으로 나뉜다고함.
- 상주(Resident): MFT 내에 직접 저장됨
- 비상주(Non-resident): MFT 외부에 저장되며, MFT는 위치만 추적
효율성을 위해 이렇게 만들어졌는데, 작은 파일은 추가적인 디스크 액세스 없이 MFT에서 직접 읽을 수 있다.
반면에 큰 파일은 별도의 클러스터에 저장하고 MFT에는 위치 정보만 저장함으로써 공간을 절약한다.
주요 속성
- $STANDARD_INFORMATION:
- 타임스탬프, DOS 파일 권한 등 기본 메타데이터
- 항상 상주 속성
- 파일 생성 시 만들어지며 특정 수정 없이는 변경되지 않음
- $FILE_NAME:
- 파일/디렉토리 이름과 추가 메타데이터 저장
- 긴 이름과 짧은(8.3) 이름을 모두 지원
- 하드 링크 관리 등을 위해 여러 $FILE_NAME 속성 가능
- $DATA:
- 파일 크기 정보와 데이터 클러스터 포인터 포함
- 작은 파일은 MFT 내에 직접 데이터 저장 가능
이 세 가지 속성은 모든 파일이 기본적으로 가지고 있고, 파일 시스템의 작동에 필수적이다.
특히 $DATA 속성은 실제 파일 내용이나 그 위치를 나타내므로 가장 중요한 속성 중 하나.
타임스탬프
MFT의 $STANDARD_INFORMATION 및 $FILE_NAME 속성에 포함된 시간 정보이다.
- Created (C): 파일 생성 날짜
- Modified (M): 파일 내용 마지막 수정 날짜
- Accessed (A): 파일 마지막 접근 날짜
- Entry Modified (E): MFT 항목 자체의 마지막 수정 날짜
타임스탬프는 파일의 생성, 수정, 접근 기록을 통해 사용자 활동을 추적하고 사건의 타임라인을 구성할 수 있기 때문에 매우 중요함.
Windows 버전별 변화
- Windows Vista(XP SP3 이후): 기본적으로 마지막 접근 시간을 추적하지 않음
- Windows 10 이상: NtfsDisableLastAccessUpdate 레지스트리 키를 통해 다양한 모드 지원:
- 0x80000000: 사용자 관리, 접근 시간 업데이트 활성화
- 0x80000001: 사용자 관리, 접근 시간 업데이트 비활성화
- 0x80000002: 시스템 관리, 접근 시간 업데이트 활성화
- 0x80000003: 시스템 관리, 접근 시간 업데이트 비활성화
이러한 변화는 성능 최적화를 위한 것으로, 마지막 접근 시간을 지속적으로 업데이트하면 디스크 I/O가 증가하여 시스템 성능에 영향을 줄 수 있다. 그러나 포렌식 관점에서는 이 설정이 중요한 증거를 놓칠 수 있게 만든다는 점에서 양날의 검이 될 수 있다.
최신 Windows 버전에서는 시스템 볼륨 크기에 관계없이 '마지막 접근' 업데이트가 기본적으로 활성화된다.
https://hanbunny.tistory.com/76
[디지털 포렌식] NTFS 파일 시스템의 구조와 특징
NTFS 파일 시스템이 뭐양NTFS(New Technology File System)는 1993년 Microsoft가 개발한 파일 시스템으로 Windows의 표준이 되었다. 주로 어디에 사용됨?내부 및 외부 하드 드라이브Windows 컴퓨터서버 및 NAS 장치
hanbunny.tistory.com