File System Forensics

[File System] NTFS (17) - MFT 엔트리와 할당 알고리즘

도깬리 2023. 7. 28. 06:15

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

오늘은 MFT 엔트리의 할당 알고리즘에 대해 알아 보겠습니다. 모두 화이팅 하세요!!!

 

MFT 엔트리와 할당 알고리즘

MFT Entry 0 ~ 15번까지는 미리 예약되어 있고, 그것이 설령 사용중이지 않더라도 할당되어 있습니다.

MFT Entry 16 ~ 23번까지는 할당되어 있지 않은 빈영역입니다.

사용자 파일은 MFT Entry 24번부터 시작하여, 첫번째 적용 알고리즘으로 MFT 엔트리가 할당되고, 테이블 크기는 필요에 따라 계속 증가합니다.

만약, 파일 삭제 등으로 인하여 해당 엔트리가 사용되지 않게 된다면, 사용여부를 구분하는 플래그를 제외하고 어떠한 변경도 없습니다.

사용되지 않는 엔트리에 새로운 엔트리를 재할당(덮어쓰기)하게 되면, 이전 엔트리는 영구 삭제됩니다.

다만 MFT 엔트리의 끝에 있는 $DATA 속성이 거주형인 경우에는 재할당되면서 그 크기가 감소하고 과거의 데이터가 엔트리 끝에서 발견될 수도 있습니다.

아래 그림을 보면, 디렉토리(42 MFT 엔트리)를 삭제한 후, 새로운 파일을 생성한 결과 기존의 42 MFT 엔트리에 그대로 덮여 쓰여진 것을 알 수 있다.

즉 이것으로 미루어 보아 MFT 엔트리 넘버가 순차적으로 되어 있다고 해서, 반드시 엔트리 순번대로 디렉토리나 파일이 생성되었다고 판단해서는 안됩니다.

다시 말하면 엔트리 순번과 파일의 MAC Time을 연계하여 통합적으로 분석해야 정확한 판단을 내릴 수 있습니다.

 

 

MFT 엔트리 번호는 어디에 기록되는가

오프셋 16 ~ 17에 순서값이 기록됩니다.

다만 0 ~ 16 MFT엔트리의 경우 MFT엔트리 넘버와 동일한 값이 순서값에 기록되기도 합니다.

 

 

새로운 파일이 생성되면서 기존 엔트리에 새로운 엔트리를 덮어씌우는 경우 엔트리 번호는 기존의 엔트리 번호를 유지하는가, 아니면 새로운 엔트리 번호를 할당받는가 ?

기존 엔트리 번호를 유지합니다.

, 사용자가 생성한 24번 엔트리 이후의 엔트리는 MFT 엔트리 번호가 순차적으로 기록되어 있더라도 순서값이 0x01이 아닌 경우에는 재할당된 것임을 알아야 합니다.

 

 

 

 

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

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

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