PC기반 파티션 - 애플파티션
5.2 애플파티션 (책은 10년전 내용임을 참고하자)
-> MAC OS 는 UNIX기반 운영체제로서 사용자들이 늘고있다. (지금은 엄청 많아졌다)
매킨토시 시스템이 파일들을 전송하기위해 사용하는 디스크 이미지는 파티션 맵을 이용한다. 이 디스크 이미지 파일은 윈도우의 ZIP과 유닉스의 tar과 유사하다.
파티션에 파일시스템이 존재하고 그 안에 파일들이 저장된다.
▶ 전체 개요
-> 디스크 시작에 위치한 파티션 맵 구조체에서의 '애플파티션'을 설명하자. 펌웨어가 구조체를 처리하는 코드를 포함하기 때문에 맵은 부트코드를 포함하지 않는다. (펌웨어 : 하드웨어이면서 소프트웨어 기능도하는 하드웨어)
- 파티션 맵의 첫 엔트리는 자기자신(맵)을 위한 엔트리로서 "맵이 가질수 있는 최대 크기"를 나타낸다. 애플 시스템의 주요디스크는 드라이버나 비파일 정보들을 가지는 많은 파티션이 있다.
(즉, 애플은 드라이버랑 비파일 정보들도 맵에 가진다.)
▶ 데이터 구조체
-> 데이터 구조를 알아보자
▷ 파티션 맵 엔트리
-> 애플 파티션 맵은 512바이트의 엔트리가 여러개 존재한다. 그리고 이 엔트리는 연속된 섹터로 이루어져있다.
각 파티션은 하나의 엔트리를 사용한다. 즉, 엔트리의 수는 전체 파티션의 수를 나타낸다.
# 데이터 구조체의 내용은 다음과 같다.
※ 애플 파티션 엔트리의 타입은 다른 시스템과 다르게 ASCII로 나타낸다. (도스파티션은 숫자로 표현)
- 상태값은 책 131쪽을 보자 (검색하는게 나을듯)
- 데이터 영역 필드는 데이터영역이 있는 파일시스템들을 위해 사용한다.
- 부트코드 필드는 파일시스템이 시작할 때 부트코드의 "위치"를 확인하기 위해 사용한다.
- 수사관은 "파티션 전체 개수"를 파악하고 각 엔트리를 분석해서 파티션 정보를 수집한다.
# 파티션 맵의 첫 엔트리를 보자!
- 애플은 빅엔디안을 사용한다.
- 시그니처는 0~1바이트인데 사진에서는 Ox504d 이다.
- 총 파티션의 개수는 4~7바이트 10(Ox0000000a)이다. 즉 10개의 파티션
- 8~11은 1번섹터가 이 파티션의 시작 섹터임을 나타낸다. 그리고 12~15바이트는 (Ox3f)이고 크기가 63섹터임을 나타낸다.
- 48~79바이트는 파티션 타입을 ASCII코드로 나타내는데 "apple-partition"임을 보여준다.
▷ 도구를 이용한 예제 이미지 분석
1. Sleuth Kit mmls 도구 (fdisk는 리눅스에서만 사용이 가능)
- 64번 섹터부터 파티션들이 나열되어있다.
- 할당되지 않은 부분은 "Apple-free"로 나와있다.
- 0, 2, 3 부분은 mmls에서 편의를 위해 추가시켜둔 부분이다.
2. OS X pdisk
-> 미가공 이미지에서 사용할 수 있는 도구다. 오직 'OS X'에서만 이용이 가능하다.
- 애플 디스크이미지파일은 파티션맵도 포함할 수 있다.
그 디스크 이미지 파일은 한 파일 시스템으로 한개의 파티션을 포함하거나 파티션 없이 파일 시스템이 존재가 가능하다. (파티션을 가질수도있고 파티션없이 그 자체로 파일 시스템이 가능하다는 말!)
▶ 분석 고려사항
-> 데이터 구조체에서 사용되지 않은 필드들이 있어서 적은양의 데이터를 숨길수있다. 또한 파티션 구조체와 맵 끝 사이 섹터들에 데이터를 숨길 수 있다.
p.s 오늘은 분량이 짧았다. 내일은 이동식 매체의 파티션을 공부해보자