Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

Hello Security World

Digital Forensic [파일 시스템 과 파티션] 본문

정보보안/Forensic

Digital Forensic [파일 시스템 과 파티션]

프로앱등이 2020. 5. 3. 18:00

파일 시스템 과 파티션

 

 

섹터와 클러스터

- 섹터(Sector): Disk상의 데이터 저장 최소 단위

- 클러스터(Cluster): 파일의 Disk 할당 최소 단위

 

 

실제 메모장을 확인해보면 클러스터의 할당크기가 나와있다.

 

 

논리적 주소 지정: CHS Address

- C(Cylinder), H(Head), S(Sector)

- Cylinder와 Head는 0부터 시작하며 Sector는 1부터 시작

- 지정된 주소 크기가 작아 대용량 HDD에서는 사용하지 않음

논리적 주소 지정: LBA Address

- HDD의 모든 섹터를 논리적으로 1차원적인 Sector들로 나열

- 기존 2의 28승 (512 x 228 = 128GB) 내에서 섹터에 대한 주소 지정

- 128GB이상의 HDD의 경우 2의 48승 LBA 주소 지원

- LBA는 0부터 시작

파티션(Partition)이란?

- 연속된 저장 공간을 하나 이상의 연속되고 독립된 영역으로 나누어 서 사용할 수 있도록 정의한 규약

 

 

MBR (Master Boot Record)

- 일반적으로 X86 환경에서 사용되며 파티션에 대한 위치를 포함한 정보, OS 부팅을 위한 부트 코드(Boot Code) 등을 포함

- 부트 코드는 컴퓨터의 읽기 전용 기억장치(ROM)에 있는 부트로더 (Boot Loader 또는 부트스트랩로더)에 의해서 실행(메모리에 Load)

- 4개의 파티션 정보(Primary Partition Entry)를 포함하는 파티션 테이 블(Partition Table)을 가지고 있으며 확장 파티션에 의해서 4개 이상 의 Partition을 생성할 수 있음

MBR Partition Table scheme

 

 

MBR 영역(첫번째 섹터) 구조

 

 

Partition Entry

- CHS Address(28bit): C(10bit), H(8bit), S(6bit)

 

 

Ms-DOS Extended Partition (확장 파티션)

- MBR과 유사하며 첫 번째 섹터에 EBR(Extented Boot Record) 존재

 

 

Partition Entry의 CHS 해석 (1/2)

- CHS Address(28bit): C(10bit), H(8bit), S(6bit)

- Cylinder: 0 ~ 1023(최대 1024개), Head: 0~254(최대 255개), Sector: 1~63(최대 63개)

CHS -> LBA 변환

- LBA = (( CYLINDER * heads per cylinder + HEAD ) * sectors per track + SECTOR – 1

- LBA = CYLINDER * 255 * 63 + HEAD * 63 + SECTOR – 1

LBA -> CHS 변환

- CYLINDER = LBA / ( heads per cylinder * sectors per track )

- HEAD = ( LBA / sectors per track ) % heads per cylinder

- SECTOR = ( LBA % sectors per track) + 1

Partition Entry의 CHS 해석 (2/2)

- Partition Table Entry의 CHS가 FE BF D3 일 때

- CHS 값: C(0x2D3), H(0xFE), S(3E),

 

 

Partition-type Descriptor Samples

 

 

GUID Partition Table (GPT)

- Intel이 제안한 EFI(Extensible Firmware Interface)에서 사 용되는 Partition 체계

- 기존 PC BIOS로부터 GPT를 보호하기 위하여 0 Block을 Protective MBR로 사용

- MBR의 Partition Table Entry 의 Partition Type이 0xEE로 설정되어 있음

GPT Header (Block #1, LBA 1)

 

 

GPT Entry (Block #: 2 ~ 33 , LBA 2 ~33, 128 Entries)

 

 

 

 

Encase 사용

위의 정보를 참조하여 MBR의 Partition Table을 Encase를 이용하여 직접 값을 확인해보자!!.

 

OFFSET이 446이고 length 가16바이트 인 주소를 찾아가보면 위와 같이 16진수 hex 값을 확인할수 있다.

 

위의 hex값은 00 01 01 00 04 1F 3F 19 3F 00 00 00 81 CC 00 00 이다 이 값을 아래의 표를 참조하면 해당 값을 확인할수 있다.

 

 

 

위와 같이 직접 값을 찾아낼수도 있지만 Encase에서는 해당 값을 찾아주는 기능을 제공한다.