안녕하세요. 도깬리 포렌식스입니다.
오늘은 FAT 파일시스템에서 File Allocation Table (FAT)에 대해 알아 보겠습니다. 모두 화이팅하세요!!!
FAT 구조체
클러스터의 할당 상태를 기록한 영역입니다.
다음에 할당할 클러스터를 찾을 때 참조합니다.
대부분 2개의 FAT이 존재하고, FAT의 개수는 부트섹터에 기록됩니다.
첫 번째 FAT
예약된 섹터 다음부터 시작됩니다.
전체섹터 개수는 부트섹터에 기록되어 있습니다.
두 번째 FAT
첫 번째 FAT의 다음 섹터에서 시작됩니다.
테이블은 같은 크기의 엔트리로 구성됩니다
각 엔트리의 크기는 파일시스템의 버전에 따라 다릅니다.
- FAT12 : 12비트 크기의 엔트리
- FAT16 : 16비트 크기의 엔트리
- FAT32 : 32비트 크기의 엔트리
엔트리 주소는 0부터 시작하고, 각각의 엔트리는 같은 주소의 클러스터와 매칭됩니다.
비할당 클러스터의 경우 FAT엔트리 값은 0 입니다.
할당 클러스터의 경우 FAT엔트리 값은 다음 클러스터의 주소를 기록합니다.
할당 클러스터중에서 파일/디렉토리의 마지막 클러스터인 경우 FAT엔트리 값은 ‘파일의 마지막’ (EOF)이라는 식별자를 기록합니다.
- FAT12 : 0xFF8~
- FAT16 : 0xFFF8~
- FAT32 : 0x0FFF FFF8~
손상된 클러스터의 경우 FAT엔트리 값은 ‘손상되었다’라는 식별자를 기록한다
- FAT12 : 0xFF7
- FAT16 : 0xFFF7
- FAT32 : 0x0FFF FFF7
파일시스템의 주소를 갖는 첫 번째 클러스터는 ‘2번 클러스터’이기 때문에 FAT엔트리 0번, 1번은 불필요합니다.
- 0번 FAT엔트리 : 매체 유형의 복사본을 나타냄 (정확도가 떨어짐)
- 1번 FAT엔트리 : 파일시스템의 ‘불량 상태’를 저장 (정확도가 떨어짐)
예제 데이터 보기 (FAT32_128MB.dd)
감사합니다. 오늘도 즐거운 하루 되세요.
"좋아요"와 "구독하기"는 힘이 됩니다.
참고문서 : File System Forensic Analysis (Brian Carrier)
'File System Forensics' 카테고리의 다른 글
[File System] FAT 파일시스템 (10) - SFN, LFN Entry 등 (0) | 2023.06.19 |
---|---|
[File System] FAT 파일시스템 (9) - Directory Entry (0) | 2023.06.16 |
[File System] FAT 파일시스템 (7) - Boot Sector (0) | 2023.06.11 |
[File System] FAT 파일시스템 (6) (0) | 2023.06.09 |
[File System] FAT 파일시스템 (5) (0) | 2023.06.07 |