For3nsic/Forensic

GPT(GUID PAartition Table)?

๐“›๐“พ๐“ฌ๐“ฎ๐“ฝ๐“ฎ_๐“ข๐“ฝ๐“ฎ๐“ต๐“ต๐“ช 2020. 12. 20.
728x90
๋ฐ˜์‘ํ˜•
ํ”ํžˆ ํ•˜๋“œ๋””์Šคํฌ, SSD์—์„œ ๋ถ€ํŒ…์˜ ๊ฐœ๋…์„ ๋ณด๊ฒŒ ๋˜๋ฉด MBR(Mastser Boot Record)๋ฅผ ์ƒ๊ฐํ•˜๊ฒŒ ๋œ๋‹ค.
๋‚˜ ๋˜ํ•œ ๊ทธ๋ ‡๊ฒŒ ์ƒ๊ฐ์„ ํ–ˆ๋‹ค. ๋ฌธ๋œฉ ๋œฌ๊ธˆ์—†์ด ์ƒ๊ฐ์ด ๋‚ฌ๋‹ค.  ๋‚ด๊ฐ€ ์“ฐ๋Š” ์ปดํ“จํ„ฐ์˜ MBR์„ ํ•œ๋ฒˆ ๋ด์•ผ์ง€!! ๋ผ๊ณ  ์ƒ๊ฐ์„ ํ•˜๊ณ  Hxd๋ฅผ ์ผœ์„œ ํ™•์ธ์„ ํ•ด๋ณด์•˜๋‹ค!! ์—ฅ? ๊ทผ๋ฐ ใ„ทใ„ท ๋ญ”๊ฐ€ Partition๋ถ€๋ถ„์ด ์Œ? ์ด๋ž€ ์ƒ๊ฐ์ด ๋“ค์–ด์„œ ํ™•์ธ์„ ํ•ด๋ดค๋‹ค.

MBR์ด ์•„๋‹Œ GPT ํ˜•์‹์ด์˜€๋‹ค. ๊ทธ๋ž˜์„œ GPT ๊ตฌ์กฐ๋ฅผ ์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•ด๋ณธ๋‹ค.

 

๋จผ์ € ์™œ ๋ฉ€์ฉกํžˆ ์ž˜์“ฐ๊ณ  ์žˆ๋Š” MBR์„ ๋‘๊ณ  GPT๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž!

MBR(Master Boot Record)
 - ์ตœ๋Œ€ 4๊ฐœ์˜ Partition์„ ์ง€์›ํ•œ๋‹ค.
 - 2TB์ด์ƒ์˜ ํ•˜๋“œ๋””์Šคํฌ์—์„œ OS ๋ถ€ํŒ… ๋ฐ ์ตœ์‹  ํ•˜๋“œ์›จ์–ด ์ง€์›์— ํ•œ๊ณ„๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค.

GPT(GUID Partition Table)
 - ์ตœ๋Œ€ 128๊ฐœ์˜ Partition์„ ์ง€์›ํ•œ๋‹ค.
 - 8ZB์ดํ•˜์˜ ํ•˜๋“œ๋””์Šคํฌ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

[์ฐธ๊ณ ] ์œ„ํ‚ค๋ฐฑ๊ณผ - GUID ํŒŒํ‹ฐ์…˜ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ

LBA(Logical Block Addressing) 0 - Protective MBR
 - BIOS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ์‹œ์Šคํ…œ์—์„œ GPT๋””์Šคํฌ๋ฅผ ์ธ์‹ํ•˜์ง€ ๋ชปํ•˜์—ฌ ๋‹ค๋ฅธ ํ–‰์œ„(์ดˆ๊ธฐํ™”, ๋ฎ์–ด์“ฐ๊ธฐ ๋“ฑ)์ด ๋˜์ง€ ์•Š๋„๋ก MBR ๊ตฌ์กฐ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ์ฒซ ๋ฒˆ์งธ ์„นํ„ฐ์— ๋ฐฐ์น˜
 - MBR ๋ณด๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋™์ผ
 - MBR์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 
Why? MBR Based Utility์—์„œ ์˜ค์ž‘๋™์„ ์ผ์œผํ‚ค์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ

LBA 1(์„นํ„ฐ 1)
 - Primary GPT Header
 - GPT์— ๋Œ€ํ•œ ์„ค์ • ์ •๋ณด ๊ธฐ๋ก
 - GPT Header๋Š” ๋ณดํ†ต 92byte
 - ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ NULL ๊ฐ’
์ˆœ์„œ๋Œ€๋กœ(→ ๋ฐฉํ–ฅ์œผ๋กœ)
- GPT Signiture(8 byte) : EFI PART ๊ธฐ๋ก
- GPT Version(4 byte) : GPT ๋ฒ„์ „ ์ •๋ณด
- GPT Header Size(4 byte) : GPT ํ—ค๋” ์‚ฌ์ด์ฆˆ
- CRC32(Header Checksum(4 byte)) : ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ์„ ์œ„ํ•œ CRC32 ๊ฐ’(Header์˜ ์‹œ์ž‘๋ถ€ํ„ฐ ๋๋‚˜๋Š” ์œ„์น˜๊นŒ์ง€ ์ฒดํฌ๊ฐ€๋Šฅ)
- Reserved(4 byte) : ์˜ˆ์•ฝ๋œ ์˜์—ญ์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ
- GPT Header Address(8 byte) : GPT ํ—ค๋”์˜ ์œ„์น˜
- Backup GPT Header Address(8 byte) : GPT ํ—ค๋” ์ •๋ณด๋ฅผ Backupํ•œ Sector ์œ„์น˜ ๊ธฐ๋ก
- Partition Starting Address(8 byte) : ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ์˜์—ญ ์‹œ์ž‘ ์œ„์น˜ 
- Partition Last Address(8 byte) : ํ• ๋‹น ๊ฐ€๋Šฅํ•œ ์˜์—ญ ๋งˆ์ง€๋ง‰ ์œ„์น˜ 
- Disk GUID(16 byte) : Unix์— UUID(universally unique identifier)์™€ ๋™์ผ ์ฆ‰, ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ’
- Partition Table Address(8 byte) : ํŒŒํ‹ฐ์…˜ ํ…Œ์ด๋ธ” ์ฃผ์†Œ
- Number of Partition Table(4 byte) : ํŒŒํ‹ฐ์…˜ ํ…Œ์ด๋ธ” ๊ฐฏ์ˆ˜
- Partition Table Size(4 byte) : ํŒŒํ‹ฐ์…˜ ํ…Œ์ด๋ธ”์˜ ํฌ๊ธฐ
- CRC32(Partition Table Checksum(4 byte)) : ํŒŒํ‹ฐ์…˜์˜ CRC32 ๊ฐ’
๋ฐฑ์—… ์ฃผ์†Œ๋กœ ์ด๋™์„ ํ•˜๊ฒŒ ๋˜๋ฉด ์„นํ„ฐ 1๋ฒˆ ๊ฐ’์ด ๋ฐฑ์—…๋˜์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
AF 32 CF 1D ๋ฆฌํ‹€์—”๋””์–ธ์œผ๋กœ ๋’ค์ง‘์–ด์„œ ๊ณ„์‚ฐ


LBA 2(์„นํ„ฐ2)
 - ๊ฐ ํŒŒํ‹ฐ์…˜์˜ ์ •๋ณด๋ฅผ ๊ธฐ๋ก
 - MBR์˜ ํŒŒํ‹ฐ์…˜ Entry์—์„œ LBA ์‹œ์ž‘ ์ฃผ์†Œ๋Š” 4byte์— ๊ธฐ๋กํ•˜์ง€๋งŒ GPT ํŒŒํ‹ฐ์…˜ Entry์—์„œ์˜ LBA ์‹œ์ž‘ ์ฃผ์†Œ๋Š” 8byte์— ๊ธฐ๋ก
 - 128๊ฐœ์˜ ํŒŒํ‹ฐ์…˜ ์ •๋ณด๋ฅผ ๊ธฐ๋ก ํ•  ์ˆ˜ ์žˆ์Œ
 - ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ํ•˜๋‚˜์œผ ใ…ฃํŒŒํ‹ฐ์…˜ Entry๋Š” 128 byte๋ฅผ ์ด์šฉํ•ด์„œ ๊ธฐ๋ก
 - GUID๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ ํŒŒํ‹ฐ์…˜์˜ ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์žˆ์Œ

 

- Partition Type GUID(16 byte) : ํŒŒํ‹ฐ์…˜์˜ ์ข…๋ฅ˜๋ณ„ ํ• ๋‹น๋œ GUID
์œ„ํ‚ค๋ฐฑ๊ณผ

- Partition GUID(16 byte) : ํŒŒํ‹ฐ์…˜ ๊ณ ์œ ์˜ ์‹๋ณ„ ๊ฐ’
- Partition Starting Address(8 byte) : ํŒŒํ‹ฐ์…˜์˜ ์‹œ์ž‘ ์ฃผ์†Œ
- Partition Last Address(8 byte) : ํŒŒํ‹ฐ์…˜์˜ ๋ ์ฃผ์†Œ
- Partition Attributes(8 byte) : ํŒŒํ‹ฐ์…˜ ์†์„ฑ
์œ„ํ‚ค๋ฐฑ๊ณผ

- Partition Name(72 byte) : ํŒŒํ‹ฐ์…˜(ํŒŒ์ผ ์‹œ์Šคํ…œ) ์ด๋ฆ„

 

์ด๋ ‡๊ฒŒ MBR์ด ์•„๋‹Œ GPT ๊ตฌ์กฐ๋ฅผ ์•Œ์•„๋ณด์•˜๋‹ค. ์š”์ฆ˜ GPT๋„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋‹ˆ ์•Œ์•„๋‘๋ฉด ์ข‹์„ ๊ฒƒ๊ฐ™๋‹ค!!

 

๊ทธ์น˜๋งŒ ์•„์ง๊นŒ์ง„ MBR๋„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋‹ˆ ๋‘˜๋‹ค ์•Œ๋ฉด ์ข‹์ง€์•Š์„๊นŒ?

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€