File System Forensics

[File System] FAT 파일시스템 (7) - Boot Sector

도깬리 2023. 6. 11. 05:58

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

오늘은 FAT 파일시스템의 Boot Sector에 대해 알아 보겠습니다. 모두 화이팅 하세요!!!

 

부트 섹터

FAT 파일시스템의 첫 번째 섹터(0번 섹터) 입니다.

 

FAT 부트 섹터의 0번 바이트 ~ 35번 바이트 부분 (FAT12/16/32 공통 데이터)

바이트 범위 설명
0 ~ 2 부트 코드를 점프하는 어셈블리 명령어 (부팅 파일시스템이 아닌 경우, 필수가 아님)
3 ~ 10 OEM 이름 (ASCii)
11 ~ 12 섹터당 바이트 수, 주로 512, 1024, 2048, 4096 바이트가 할당됨
13 ~ 13 클러스터당 섹터수(데이터 유닛), 2의 배수 값이지만, 클러스터 크기는 32KB 이하이어야
14 ~ 15 예약된 영역의 섹터 크기
16 ~ 16 FAT영역의 개수, 일반적으로 2개이지만, 일부 저용량의 장치에서는 1개일 수 있다
17 ~ 18 FAT12/16의 루트디렉토리에 포함될 파일의 최대 개수, FAT32에서는 0값이고, FAT16에서는 보통 512이다.
19 ~ 20 파일시스템에 있는 섹터의 개수를 2바이트로 나타냄, 만약 2바이트로 표현할 수 있는 값보다 실제의 섹터 수가 크다면 데이터 구조체 끝에 4바이트 값으로 실제의 섹터 수를 표현하고, 이 값은 0이 됨
21 ~ 21 미디어 유형, 고정식 디스크 = 0xF8, 이동식 디스크 = 0xF0
22 ~ 23 FAT12/16FAT 영역의 섹터 수를 표현, FAT32에서는 이 값이 0
24 ~ 25 저장 장치의 트랙당 섹터 수
26 ~ 27 저장 장치의 헤드 수
28 ~ 31 파티션 시작 전의 섹터 수
32 ~ 35 파일시스템에 있는 섹터의 개수를 4바이트로 나타냄, 19 ~ 20바이트에 있는 값이나 이 값중 하나는 반드시 0이 되어야 함

 

FAT 부트 섹터의 36번 바이트 ~ 511번 바이트 부분 (FAT32의 경우)

바이트 범위 설명
36 ~ 39 FAT 영역의 섹터수
40 ~ 41 여러 개의 FAT 구조체를 어떻게 저장할 것인지 정의
42 ~ 43 주/부 버전 번호
44 ~ 47 루트디렉토리가 있는 클러스터의 위치
48 ~ 49 FSINFO 구조체가 있는 섹터의 위치
50 ~ 51 부트섹터 복사본이 있는 섹터의 위치 (디폴트는 6)
52 ~ 63 예약 영역
64 ~ 64 BIOS INT13h 드라이브 번호
65 ~ 65 사용되지 않음
66 ~ 66 다음 3개의 값이 유효함을 나타내는 확장 부트 시그너처, 값은 0x29
67 ~ 70 볼륨 시리얼 번호, 윈도우 일부 버전은 생성날짜와 시간에 기반을 두어 계산한다
71 ~ 81 볼륨 레이블, 파일시스템 생성시기를 이 값을 통해 추정 가능
82 ~ 89 파일시스템 유형, 일반적으로 FAT, FAT12, FAT16으로 저장하지만 예외도 있음
90 ~ 509 사용되지 않음 (일반적으로 부트 코드와 오류메시지를 저장)
510 ~ 511 시그너처 값 (0xAA55)

 

예제 데이터 보기 (usb v1.7.dd)

문자 데이터 : 정순으로 읽습니다.

숫자 데이터 : 역순(리틀엔디안)으로 읽습니다.

 

 

 

 

 

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

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

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