FTK

[FTK] 고아 파일(Orphan File) 분석과 복원

도깬리 2022. 10. 26. 06:34

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

여러분은 '고아 파일(Orphan Files)'을 아시나요? 부모 없는 자식은 존재할 수 없습니다. 아무리 고아라도 부모의 존재를 부정할 수 없죠. 디지털 세계에도 '고아'가 있습니다. 발견된 고아 파일에서 부모를 찾아가 복원에 이르는 메커니즘을 살펴 봅니다.

 

Tracking Orphans in the $MFT

$MTFNTFS의 핵심입니다.

모든 엔트리의 크기는 1024 바이트 입니다

일련의 속성(Attributes)으로 기록되어 있습니다.

모든 엔트리는 아래의 것을 포함합니다.

 

Header

FILE

일반적으로 56바이트이다.

 

0x10000000

Standard Information Attribute (SIA)

MAC date and time 정보를 포함합니다.

 

0x30000000

File Name Attribute (FNA)

파일 이름과 경로 정보를 포함합니다.

 

0x80000000

Data run information

 

File Record Header

Sequence Value (offsets 16~17)

레코드가 사용된 횟수를 나타냅니다.

레코드가 비할당될 때 마다 1씩 값이 올라갑니다.

- 첫할당 : 01

- 첫삭제 : 02

- 재사용 : 02

- 재삭제 : 03

 

Allocation Value (offsets 22~23)

각각의 레코드의 상태를 나타냅니다.

할당에서 비할당으로 바뀌면 자동으로 갱신됩니다.

 

 

FNA Attribute (파일이름 속성) Pointer to Parent

고아 파일(Orphan File) 인지 여부의 판단 기준은

부모 폴더의 위치가 확인되는지 여부입니다

부모 폴더에 대한 정보는 다음 위치에 저장됩니다.

- 파일이름 속성(File Name Attributes)에서 offsets 24~31

- 첫 6바이트는 Parent file record number 입니다. 이것은 부모 폴더의 위치에 관한 정보이다.

- 나머지 2 바이트는 Parent USN value 입니다.

 

 

Orphan Determination

FTK USN 값과 부모 폴더의 할당 상태(Allocated status)를 확인하여 고아 인지 여부를 파악합니다.

자식이 부모를 가리키고 있고, 저장된 Sequence value가 부모의 실제 Sequence Value와 일치하면  고아 파일이 아닙니다.

만약 폴더를 삭제하면서, 관련된 자식 파일 또한 삭제되었다면, 자식과 부모의 Sequence Value1씩 증가하고, 상태 또는 할당값(state or allocation value)이 부모의 경우에는 Unallocated Folder (0x0002)로 바뀌고, 삭제된 자식 파일은 0x0000로 바뀌게 됩니다.

자식은 여전히 부모의 레코드 번호(Parents record number)를 가리키고 있습니다.

이른 바 자식은 고아 파일이 됩니다.

 

Sequence Numbers match Parent record allocated File = Child
Parent sequence number = + 1 Parent record unallocated File = Child (Deleted)
Parent sequence number = + 1 or more Parent record allocated File = Orphan

 

MFT가 조각 나는 것을 방지하기 위해, 비할당으로 표시된 레코드를 재활용함을 참고해야 합니다.

 

FTK, EnCase, XWF 간의 고아 파일(Orphan File)에 대한 처리 비교

도구의 Tree view에 임의의 폴더를 하나 만들어, 그곳에 고아 파일을 위치시킵니다.

FTK --> orphan

EnCase --> Lost Files

XWF --> Path unknown --> Directory with ID #

 

 

 

 

 

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

 

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

 

참고문서 : AD Windows Forensics (Win7)