FAT(File Allocation Table)
Windows 95부터 사용하는 파일 시스템이다.
쉽게 말해 데이터 영역에 저장된 파일들의 할당 관계를 표시해주는 테이블이다.
간단한 구조를 갖고있다.
Ex) 메모리카드, 디지털 카메라, 플래시 메모리
FAT12
플로피디스크에 파일을 저장하기 위해 개발.
FAT16
32MB 이상의 하드디스크를 지원하기 위해 개발.
FAT32
2GB 이상의 하드디스크를 생성.
하나의 파일은 최대 4GB까지 생성 가능.
FAT32 구조
Reserved Area: 예약된 영역
FAT Area: FAT 영역
DATA Area: 데이터 영역
Reserved Area 예약된 영역
FAT 형식에 따른 예약된 영역의 섹터
FAT12, FAT16은 1섹터 => 바로 뒤에 FAT Area
FAT32는 32섹터 => FSINFO, Boot Strap, More Reserved Sectors
Boot Sector
Windows를 부팅시키기 위한 기계어 코드, FAT 파일 시스템 설정 값, BRB(BIOS Parameter Block)가 있다.
1섹터 == 512 bytes
Boot Sector 구조
Jump Boot code, BPB, Boot code error message, Signature 총 4개로 이루어져 있다.
BRB 구조
Jump Boot Code
부트 코드로 점프하라는 명령어
OEM ID
운영체제 버전별 ID
Windows는 이 항목에 대한 어떠한 참조도 하지 않음
Bytes Per Sector
섹터 당 바이트 수
일반적으로 512바이트
512, 1024, 2048, 4096
Sector per Cluster
클러스터 당 섹터 수
Sector Per Cluster X Bytes Per Sector = 클러스터 크기
Reserved Sector Count
예약된 영역 섹터 수
Boot sector 때문에 최소 1개 이상
FAT12, FAT16 = 1개, FAT32 = 32개
Number FATs
볼륨에 있는 FAT 영역 수
일반적으로 2
Root Entry Count
FAT 16에서 루트 디렉터리가 포함하는 최대 엔트리 수
파일이나 디렉터리는 모두 한 개의 엔트리
FAT16 = 512, FAT32 = 0
Total Sector 16
볼륨상의 총 섹터 수를 2byte 로 나타냄 2byte로 부족할 경우 Total Sector 32를 사용
FAT 16 = 가변적, FAT32 = 0
Media Type
볼륨이 저장된 미디어의 형태
플로피디스크 이외의 저장장치는 0xF8
FAT Size 16
FAT 16에서 FAT 영역의 섹터 수
FAT #1과 FAT #2의 영역을 합친 값이 아닌 각 1개의 영역 값
FAT 16 = 가변적, FAT32 = 0
Sector Per Track
저장장치 트랙 당 섹터 수
Windows에서 더 이상 이 항목을 참조하지 않음
Number of Heads
저장장치의 헤더 수
Windows에서 더 이상 이 항목을 참조하지 않음
Hidden Sectors
해당 볼륨 앞에 존재하는 숨겨진 섹터의 수
파티션 되지 않은 볼륨에서는 반드시 0
Windows에서 더 이상 이 항목을 참조하지 않음
Total Sector 32
볼륨상의 총 섹터 수
FAT32은 Total Sector 32만 이용
FAT Size 32
FAT 하나의 영역이 가지는 섹터 수
Ext Flags
Active FAT Number: 활동시킬 FAT의 번호
Flag : 0이면 변경 내역을 모든 FAT 영역에 반영, 1이면 변경 내용을 Active FAT Number에 기록된 영역만 반영
File System Version
FAT32의 버전 정보
Windows에서 인식 가능한 버전 값보다 높다면 파티션 인식 포기
Root Directory Cluster
루트 디렉터리의 클러스터 값
File System Infomation
FSINFO 구조체가 저장된 섹터 번호
Backup Boot Record
백업된 부트 섹터의 위치
Drive Number
BIOS 인터럽트를 위한 드라이브 번호
Windows에서 더 이상 이 항목을 참조하지 않음
Boot Signature
확장 부트 시그니처
이 값은 시그니처 이후 3개의 부가 정보가 존재함을 의미
(볼륨, 레이블, 타입)
Volume ID
볼륨 시리얼 번호
고유한 임의의 시리얼 번호를 생성해서 기록
Volume Label
볼륨 레이블
볼륨 레이블의 위치는 Boot sector와 Root Directory 두 군데
File System Type
파일 시스템 형태
FSINFO
파일 할당에 관한 정보를 저장
파일 할당을 빠르고 효율적으로 사용하기 위해 사용한다.
Signature
항상 0x41615252
FSINFO 표시
Not Used
추후 사용을 위해 예약
Signature
항상 0x61417272
FSINFO를 나타내는 또 다른 항목
Number of free clusters
볼륨상에 존재하는 빈 클러스터 수를 저장
값이 0xFFFFFFFF이면 알 수 없는 상태
Next free clusters
볼륨에서 보다 빠르게 빈 클러스터가 있는 곳의 정보를 위한 항목
Ex) 0x000003 => 클러스터 3번이 가장 마지막에 채워진 클러스터
Signature
항상 0xAA55
FSINFO를 나타내는 또 다른 항목
'School > 디지털 포렌식' 카테고리의 다른 글
디지털 포렌식 FAT [FAT Area, Data Area] (0) | 2024.06.09 |
---|---|
디지털 포렌식 연습문제 기말 (0) | 2024.06.08 |
디지털 포렌식 연습 중간고사 과제 모음 (0) | 2024.04.19 |
디지털 포렌식 3주차 (0) | 2024.04.18 |
디지털 포렌식 5주차 (0) | 2024.04.18 |