본문 바로가기

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

[디스크 포렌식] GPT 파티션 분석

728x90
반응형

GPT 파티션

- 최근 많이 사용되는 EFI 시스템에서 사용되는 디스크 형식

- MBR과 마찬가지로 디스크 정보 포함

- LBA 방식 사용

- 파티션 생성 시 처음 부분과 마지막 부분에 여유 공간을 두어 MBR -> GPT 변환을 지원

- 0번 섹터에 MBR 구조를 가지지만 GPT 파티션 시작 위치가 저장

- 저장되는 주소 형태는 MBR과 같음

- GPT 파티션은 파티션 타입에 0xEE 사용

- 보통 GPT 파티션의 경우에는 1번 섹터에 정보가 저장

 

Primary GPT Header

- 1번 섹터에 위치

- GPT에 대한 설정 정보를 저장

- GPT 헤더 정보는 92바이트로 구성

 

의미 byte 내용
Signature 8 "EFI PART" 기록
Revision 4 버전 1.0을 의미
Header Size 4 GPT 헤더의 사용하는 크기를 의미 (보통 92바이트)
CRC32 of Header 4 무결성을 체크하기 위한 CRC32 값, 헤더의 시작부터 끝나는 위치까지만 체크 가능, GPT Header
Reserved 4 예약된 영역 (사용하지 않음)
Current LBA 8 현재 LBA 주소
Backup LBA 8 GPT 헤더 정보를 백업한 섹터 위치를 기록, 백업된 GPT 헤더의 정보에서 Backup LBA는 현재 위치를 기록하고 있음
First usable LBA for Partition 8 파티셔닝 할 수 있는 영역의 시작 위치, Primary Partition Table last LBA에 +1한 값
Last usable LBA 8 파티셔닝 할 수 있는 영역의 끝 위치, Secondary Partition Table first LBA에 -1한 값
Disk GUID 16 유닉스의 UUID (Universally Unique Identifier)와 동일
Partition Entries Starting LBA 8 GPT 파티션 엔트리의 시작 위치, 각 파티션의 정보가 기록되어 있음
Number of Partition Entries 4 지원하는 GPT 파티션 엔트리의 개수
Size of Partition Entry 4 GPT 파티션 엔트리의 크기 (대부분 128바이트)
CRC32 of Partition Array  4 파티션의 CRC32 값
Reserved 420 해당 섹터 나머지 영역은 사용하지 않음

 

Secondly GPT Sector (GPT 파티션 엔트리)

- 2번째 섹터에 위치

- 각 파티션의 정보를 저장

- MBR의 파티션 LBA 시작 주소는 4바이트에 저장하지만, GPT의 파티션 LBA 시작 주소는 8바이트에 저장

- 128개의 파티션 정보를 저장

- 하나의 파티션 엔트리는 128바이트를 이용해서 저장

- GUID를 이용하여 각 파티션의 고유 정보를 확인할 수 있음

의미 byte 내용
Partition Type GUID 16 파티션 타입을 표현하는 고유한 정보, 파티션의 파일 시스템과 사용하는 운영체제 및 서비스 정보 확인 가능
Unique Partition GUID 16 파티션마다 할당하는 고유한 값을 저장
First LBA 8 파티션의 시작 주소
Last LBA 8 파티션의 끝 주소
Attribute Flags 8 파티션의 속성을 나타내는 값
Partition Name 72 파일 시스템 이름, UTF-16 사용

 

728x90
반응형