본문 바로가기

[+] Forensic

File System - Partition (2)

이전 글에서 MBR과 확장 파티션 개념을 알아보았는데 이번 글에서는 MBR 내부 구조와 애플 파티션을 알아 볼 것이다.

MBR은 512byte 크기의 구조체를 사용하며, 첫 446byte는 어셈블리 부트 코드를 위해 예약이 되어 있다.

MBR은 아래와 같은 내용들을 포함하고 있다.

[그림 1 - MBR 레이아웃]

 
MBR은 이전글에서 언급했듯이 기본적으로 4개의 파티션을 파티션 테이블 엔트리(16byte)로 표현할 수 있어 파티션 테이블 엔트리가 4개이다.

각 파티션의 레이아웃을 구성하는 파티션 테이블 엔트리의 구조는 아래와 같다.

[그림 2 - 파티션 테이블 엔트리 구조]

부팅 플래그는 반드시 필요한 것은 아니다. 하나의 운영체제가 설치되어 있는 시스템(부팅 플래그 default : 0x80)이라면 부팅 플래그가 필요하지면 여러 운영체제를 멀티 부팅하는 시스템이라면 사용자가 OS 부팅을 선택하기 때문에 이러한 경우에는 부팅 플래그가 필요 없다.

또 [그림 2]에서 항목들 중 CHS 항목 두가지가 있는데 이 항목들은 최신 시스템에서는 필수적이지 않은 항목들이다.

하지만 예전 시스템들에서는 필요하기 때문에 필요성 이 O 인것이다. 


파티션 타입은 파일시스템 타입을 구분짓기 위해 필요한 항목이다. 아래는 파티션 타입 목록들이다.

[그림 3 - 파티션 타입 목록]

* 참고 : 숨김 버전의 파일시스템들은 상위 4비트가 0대신 1인 파일시스템.

확장 파티션의 MBR 또한 위 MBR의 구조와 다를 바가 없으나 시작 섹터의 주소가 디스크 특정 지점의 상대적 주소이기 때문에 파티션 테이블 엔트리가 조금은 다르다.

 - 부 파일시스템 엔트리 시작 주소는 현재 파티션 테이블 주소에서 상대 주소이다.
 - 부 확장 파티션 엔트리 시작 주소는 주 확장 파티션에서 상대적이다.

 
 요즘은 디스크 레이아웃을 분석해주는 도구들이 많이 개발되어 있어 조사관들이 사건 조사하기 편하게 해주기는 하지만 도스 파티션의 경우 흔한게 접할 수 있는 파티션 시스템이므로 도스 파티션에 대해서 필히 공부해야 한다.

다음은 Apple 사에서 개발한 Mac OS X의 파티션인 애플 파티션의 구조를 살펴 보겠다.

애플 파티션은 도스 파티션보다 적게 사용되지만 사용자가 증가하고 있는 추세이며 여러 장비들에 애플 파티션이 적용되어 있다.(Apple사 제품)

매킨토시 시스템에는 파티션 맵이라고 하는 이미지가 있는데 이 이미지는 매킨토시 시스템이 파일들을 전송하기 위해 사용하는 디스크 이미지이다. 파티션 맵 이미지 디스크는 윈도우 zip파일, 유닉스 rar파일과 유사한 형태이다.

파티션 맵은 데이터 영역 위치, 부트 코드 위치 등의 데이터를 가지고 있다.

[그림 4 - 애플 디스크 기본 구조]

위 이미지에서 보는 것처럼 파티션 맵은 첫번째 엔트리가 자신의 엔트리이고 나머지 엔트리가 파티션 엔트리이다.

파티션 맵에서 파티션 맵 엔트리는 파티션 맵의 최대 크기를 나타낸다.

파티션 맵은 MBR과 동일하게 512byte 크기이며 여러 구조체로 구성되고 두번째 섹터에서 시작한다.

또 모든 파티션을 배치 할 때까지 구조체를 계속 할당한다.

파티션 데이터 구조체들은 연속적인 섹터들 내에 구성되며, 각 맵 엔트리는 전체 파티션의 수를 나타낸다. 


아래는 파티션 맵의 구조체 내부 구조 목록이다.

[그림 5 - 애플 파티션 엔트리 데이터 구조체]

위 데이터 구조체 항목들 중 파티션 상태 구조체가 있는데 이 구조체는 아래와 같은 목록들 중 하나의 값을 지닌다.

[그림 6 - 파티션 상태 목록]

* 참고 : A/UX는 애플 구형 운영체제를 뜻 함

위에서도 설명 했듯이 조사할 때 파티션 맵은 두번째 섹터에서 시작하므로 애플 디스크의 파티션들을 구분하려면 두번째 섹터에서 파티션 맵의 데이터 구조체들을 통해 정보를 수집해야 한다.

애플 디스크의 파티션들을 분석 할 경우 고려해야 할 사항으로는 파티션 맵의 구조체 데이터들 중 사용되지 않는 필드들이 있어 적응 양의 데이터가 사용되지 않는 필드에 숨겨질 수 있다. 또 파티션 데이터 구조체와 파티션 맵 끝 사이 섹터에 데이터가 숨겨질 수도 있다.



'[+] Forensic' 카테고리의 다른 글

File System - Partition (4)  (0) 2012.01.20
File System - Partition (3)  (0) 2012.01.19
File System - Partition (2)  (0) 2012.01.18
File System - Partition (1)  (0) 2012.01.18
File System - Volume (2)  (0) 2012.01.17