File System Forensics

[File System] FAT 파일시스템 (2)

도깬리 2023. 5. 30. 06:21

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

오늘은 FAT 파일시스템 2번째 시간입니다. 모두 화이팅 하세요!!!

 

FAT 파일시스템의 데이터 영역

파일이나 디렉토리의 내용을 포함합니다.

 

클러스터’라는 용어

연속적인 섹터의 그룹를 의미합니다.

1, 2, 4, 8, 16, 32, 64와 같은 2의 제곱이어야 합니다.

최대 크기는 32KB 입니다.

첫번째 클러스터 주소 : 2

0 또는 1의 주소를 갖는 클러스터는 없습니다.

 

첫 번째 클러스터 찾기

예약된 영역과 FAT영역은 클러스터 주소를 사용하지 않습니다.

 

FAT 12/16

데이터 영역의 첫 번째 섹터는 루트 디렉토리’ 입니다.

루트 디렉토리의 엔트리 수는 부트섹터에서 지정합니다.

루트 디렉토리 다음 섹터에 클러스터 2이 위치합니다.

 

FAT 32

데이터 영역의 첫 번째 섹터는 클러스터 2이 위치합니다.

 

 

클러스터와 섹터 주소

클러스터 주소 C --> 섹터 주소 환산법

(C 2) * (# of sectors per cluster) + (sector of cluster 2)

 

섹터 주소 S --> 클러스터 주소 환산법

((S sector of cluster 2) / (# of sectors per cluster)) + 2

 

클러스터 할당 상태

FAT 1개의 클러스터 = 1개의 엔트리로 구성 됩니다.

) 클러스터 234 = 엔트리 넘버 234

 

FAT테이블의 엔트리는 유일한 번호로써, FAT버전에 따라 최대 값이 다릅니다

- FAT 12 : 12비트 엔트리

- FAT 16 : 16비트 엔트리

- FAT 32 : 32비트 엔트리 (실제로는 28비트만 사용)

 

비할당 클러스터 표시 : 테이블 엔트리 = 0

 

손상된 클러스터 표시

- FAT 12 : 0xff7

- FAT 16 : 0xff7

- FAT 32 : 0x0fff fff7

 

분석 기술

FAT의 클러스터 엔트리를 찾아서 각 클러스트의 할당 상태를 확인합니다.

- 엔트리 값이 0이면 비할당 상태

- 엔트리 값이 0이 아니면 할당 상태

 

모든 비할당 클러스터의 내용을 추출하고 싶으면  FAT에서 0값을 가지고 있는 엔트리와 매칭되는 클러스터만 모두 추출하면 됩니다.

 

분석 고려 사항들

데이터 영역의 끝은 클러스터 단위로 끝나지 않고, 섹터 몇 개가 남을 수도 있습니다

숨겨진 데이터 또는 이전 시스템의 데이터가 존재할 가능성도 있습니다.

사용되지 않는 섹터가 있는지 확인하는 방법

(전체 섹터 수 클러스터 2번의 섹터 주소) / (클러스터의 섹터 수)

 

 

 

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

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

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