본문 바로가기

디지털 포렌식 (Forensic)/디스크 포렌식 (Disk)

[디스크 포렌식] FAT32 파일 시스템

728x90
반응형

FAT32 파일 시스템

먼저 FAT32 파일 시스템의 파티션 구조를 알아보겠습니다.

 

FAT32 파티션 구조는 위와 같이 이루어져 있습니다.

 

1. Boot Sector (BR)

Boot Sector는 MBR 구조와 같이 특정 오프셋 별로 의미하는 바가 다릅니다.

 

0byte ~ 2byte : Boot Code

3byte ~ 89byte : BIOS Parameter Block

90byte ~ 509byte : Boot Code와 Error Message

510byte ~ 511byte : 시그니쳐 2byte

 

위는 FAT32 파일 시스템의 BR 영역 구조입니다.

 

의미 내용
Jump Boot Code Boot Strap Code로 점프하기 위한 부분
OEM Name OEM 회사를 나타내는 문자열 (FAT32는 MSDOS 5.X로 표시)
Byte Per Sector 한 섹터가 몇 바이트로 구성되어 있는지 나타냄 (기본 512바이트)
SP 클러스터를 구성하는 섹터의 수. 기본적으로 8개의 섹터 사용 (4096바이트)
RS (Reserved Sector) 예약된 섹터의 개수
FAT 개수 FAT의 개수를 나타냄 (기본적으로 FAT32는 2개 사용)
Media Type 볼륨이 어떤 미디어 매체를 이용하는지 나타냄 (고정식 디스크는 0xF8 사용)
Total Sector 32 파티션 상의 총 섹터 개수를 나타냄
FAT Size 32 FAT 영역의 섹터 수를 나타냄 (단, FAT 1개에 대한 크기)
File System Version FAT32의 버전 정보를 나타냄
Root Directory Cluster 루트 디렉토리의 시작 위치를 나타냄
File System Information FSInfo 구조체에 대한 정보가 어디에 저장되어 있는지를 나타냄 (BR 기준 보통 1번 섹터에 저장)
Boot Record Backup Sector BR이 백업된 섹터 번호를 나타냄 (기본값으로 6을 사용)
Volume ID 볼륨 시리얼 번호를 나타냄
Volume Label (1, 2) 볼륨의 이름을 기록
File System Type 해당 파일 시스템의 타입을 나타냄 (FAT32의 값을 저장)

 

2. Reserved 영역

Reserved 영역에서는 예약된 파일 시스템에 대한 정보를 구조체로 저장하고 있으며, 또한 BR에 대한 백업본을 저장하고 있습니다.

 

3. FAT 영역

FAT 영역은 클러스터의 상태 값을 가지고 있는 영역으로, 각각의 클러스터 정보는 4바이트로 나타나게 됩니다.

 

FAT 영역의 처음 4바이트는 미디어 타입을 나타내며, F8 FF FF 0F는 하드디스크를 의미합니다.

다음 4바이트는 파티션의 상태를 나타내며, 파티션의 상태는 보통 FF FF FF FF로 나타납니다.

다음 4바이트 부터는 루트 디렉토리의 클러스터 정보를 나타냅니다.

처음 8바이트의 영역이 미디어 타입과 파티션 상태 영역이므로, 클러스터는 0이 아닌 2부터 시작하게 됩니다.

 

4. Root Directory 영역

의미 내용
Name 파일에 대한 이름을 나타냄. 첫 번째 바이트가 0xE5로 시작하면 삭제된 파일. 0x00이면 사용하지 않는 영역. (0xE5를 다른 문자열로 바꾸면 해당 파일은 복구 가능)
Extension 파일 확장자
Attr 파일에 대한 속성
Reserved 예약된 영역
Create Time 파일이 생성된 시간
Created Date 파일이 생성된 날짜
Last Accessed Date 파일에 마지막 접근된 날짜
Starting Cluster Hi 파일에 대한 클러스터 상위값
Last Written Time 파일에 대한 마지막 수정 시간
Last Written Date 파일에 대한 마지막 수정 날짜
Starting Cluster Low 파일에 대한 클러스터 하위값
File Size 파일에 대한 크기
728x90
반응형