1. MBR( Master Boot Record )


디스크에서 가장 중요한 데이터 구조인 MBR은 디스크가 파티션될 때 만들어진다. MBR은 작은 크기의 master boot code, disk signature, 그리고 디스크에 대한 partition table을 포함한다. 

MBR의 끝에는 signature word 또는 sector marker의 끝이라고 불리는 2바이트 구조를 갖으며, 이는 항상 0x55AA로 세팅된다. signature word는 extended boot record( EBR )과 boot sector의 끝을 표시한다.

offset값이 0x01B8인 고유번호인 Disk signature는 운영체제에 대한 디스크를 식별한다.


2. MBR의 역할


- 부팅 가능한 파티션( 활성 파티션 )을 탐색

- 부팅 가능한 파티션의 시작 섹터 탐색

- 부팅 가능한 파티션의 부트 섹터를 복사해 메모리에 로드

- 부트 섹터에서 실행코드 실행


3. Partition Table ?


- 파티션 테이블은 64바이트의 구조체로 하드디스크에서 파티션의 위치, 타입 정보를 담고 있다.

- 파티션 테이블은 총 4개의 파티션 테이블 엔트리를 가지고 있으며, 각 16바이트의 크기를 갖는다.

- 파티션 테이블 엔트리에는 다음과 같은 정보를 포함한다.

1) 부팅 가능한 파티션 정보: 0x80은 부팅 가능 / 0x00은 부팅 불가

2) 시작 CHS 주소: 지금은 사용하지 않는다.

3) 파티션 타입: 파티션의 파일시스템 종류를 나타낸다.

4) 끝 CHS 주소: 지금은 사용하지 않는다.

5) 파티션 시작 위치: 파티션의 시작 위치로 해당 파일시스템의 BR( Boot Record ) or VBR  ( Volume Boot Record )의 위치를 나타낸다.

6) 파티션의 총 섹터: 파티션에서 사용하는 전체 총 섹터를 나타낸다.


4. 파티션 개수는 몇개까지 가능한가 ?


- 파티션의 개수는 파티션 테이블 엔트리의 개수만큼 가질 수 있다.

- 기본적으로 파티션 테이블 엔트리는 4개 이므로 파티션의 개수도 4개까지 가능하다.

- 하지만 확장 파티션을 사용하면 4개 이상의 파티션을 사용 가능하다.


5. 확장 파티션( 논리 드라이브 )이란 ?


- 확장 파티션은 4개 이상의 파티션을 사용하려고 할 때 생성되는 파티션이다.

- 3개의 파티션까지는 주 파티션으로 생성되지만, 4개 이상의 파티션을 생성하려고 하면 확장 파티션으로 생성된다.


- 녹색으로 테두리가 되어 있는 부분이 확장 파티션 부분이다.

- MBR 파티션 테이블에서는 녹색으로 되어 있는 확장 파티션을 하나의 파티션으로 구분한다.

- 따라서, 위와 같이 파티션이 있는 경우

- 4번째 파티션 테이블 엔트리에는 확장 파티션의 시작위치와 전체 크기만 존재한다.

- 4번째 파티션 테이블 엔트리의 정보만으로는 확장 파티션 내에 실제 몇 개의 파티션이 있는지 파악할 수 없다.

- 이를 확인하기 위해서는 확장 파티션의 시작 위치에 가서 추가적으로 분석이 필요하다.


6. 확장 파티션 BR( EBR )



- 확장 파티션 BR은 주 파티션이 아닌 확장 파티션( 논리 드라이브 )을 생성하면 추가되는 섹터다.

- MBR과 구조는 비슷하나 파티션 테이블과 시그니처( 0x55AA ) 정보만 가지고 있다. 부트코드는 존재하지 않는다.

- 4번째 파티션 테이블의 시작 위치를 참고해 확장 파티션으로 이동하게 되면.

- 1 ~ 3번째 파티션 테이블에서 나오는 시작 위치와 달리 MBR과 비슷한 구조를 확인 가능하다.

- MBR 파티션 테이블은 총 4개의 엔트리를 가지고 있지만, 확장 파티션 BR에서는 처음 2개의 엔트리만 사용한다.

- 3, 4번째 파티션 테이블 엔트리는 사용하지 않는다.

- 2개의 엔트리 중 첫번째 엔트리는 확장 파티션의 첫 번째 파티션 정보를 담고 있으며,

- 두번째 엔트리는 다음 파티션 정보를 바로 가리키는 것이 아니라, 다음 확장 파티션 BR 위치를 알려준다.

- 확장 파티션에는 확장 BR을 하나씩 가지고 있는 것이다.

'NCS보안3기 > 디지털 포렌식' 카테고리의 다른 글

[Forensics] 파티션 복구 실습 III  (0) 2017.04.26
[Forensics] 파티션 복구 실습 II  (0) 2017.04.26
[Forensics] 파티션 복구 실습 I  (0) 2017.04.25
[Forensics] MBR 구조  (0) 2017.04.24
[Forensics] FORENSIC  (0) 2017.04.24
Posted by Imp3rio