본문 바로가기

[+] Forensic

File System - FAT (9)

이번 글 에서는 예약영역 다음 섹터부터 시작하는 FAT 영역에 대해서 알아 볼 것이다.

FAT 영역은 FAT 파일시스템에서 중요한 역할을 담당하고 있는데, 그 역할은 다음과 같다.

 - 클러스터 할당 상태 파악
 - 어떠한 파일이나 디렉토리에 할당 된 클러스터의 다음 클러스터 주소 파악


FAT은 보통 FAT 파일시스템에서 두 개가 존재하며, 정확한 번호는 부트 섹터에서 할당한다.

첫 번째 FAT은 예약 영역 섹터 다음부터 시작하며, 부트섹터에서 전체크기를 할당 한다.

두 번째 FAT은 만약 존재한다면 첫 번째 FAT 마지막 섹터 다음부터 시작하며, 구성은 같은 크기의 엔트리들로 구성된다. 

 * 참고 : 엔트리에 Header와 Footer는 존재하지 않는다.

각 엔트리 크기는 FAT 종류마다 다른데, 해당 종류의 숫자 bit 크기를 갖는다.(ex. FAT 12는 12bit)

엔트리 주소는 0부터 시작하며, 같은 주소의 클러스터와 맵핑된다.

클러스터가 할당되지 않은 엔트리는 다음 클러스터 항목에 0 값을 가지고, 클러스터가 할당 되면 0값이 아닌 파일이나 디렉토리에 할당 된 클러스터의 다음 클러스터 주소를 갖게 된다.

마지막 클러스터 주소를 가지게 되면 엔트리에는 마지막 클러스터라는 어떠한 값을 가지게 되는데, 그 값은 FAT 종류마다 달라 아래에 나열 해 두었다.

 - FAT 12 : 0xFF8
 - FAT 16 : 0xFFF8
 - FAT 32 : 0x0FFF FFF8


 * 참고 : 위 값보다 큰 값들은 모두 가능하다.

만약 위 값들 보다 작은 값을 가진다면 클러스터가 손상되었다는 의미이며, 할당되어서는 안된다.

클러스터의 시작 주소는 2부터이어서 FAT 영역에도 당연히 0과 1의 주소를 갖는 엔트리는 꼭 필요하지 않다.

보통 0의 주소를 갖는 엔트리는 미디어 유형 복사본을 저장하는 엔트리이고, 1의 주소를 갖는 엔트리는 파일시스템의 불량 상태를 저장하는 엔트리로 사용된다.

부트섹터에도 미디어 유형 종류를 저장하는 항목이 있지만, 윈도우는 부트 섹터 항목은 사용하지 않고 FAT 영역의 엔트리 0을 사용한다.

 * 참고 : 0과 1 이 값들은 부 정확할 수 있다.

 

'[+] Forensic' 카테고리의 다른 글

File System - NTFS (1)  (0) 2012.02.06
File System - FAT (10)  (0) 2012.02.05
File System - FAT (8)  (0) 2012.02.03
File System - FAT (7)  (0) 2012.02.02