Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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
관리 메뉴

Piki's Play

PC기반 파티션 - 애플파티션 본문

포렌식/파일시스템 (파일시스템 포렌식분석)

PC기반 파티션 - 애플파티션

Pikigod 2020. 1. 31. 17:39

5.2 애플파티션 (책은 10년전 내용임을 참고하자)

-> MAC OS 는 UNIX기반 운영체제로서 사용자들이 늘고있다. (지금은 엄청 많아졌다)

매킨토시 시스템이 파일들을 전송하기위해 사용하는 디스크 이미지는 파티션 맵을 이용한다. 이 디스크 이미지 파일은 윈도우의 ZIP과 유닉스의 tar과 유사하다. 

파티션에 파일시스템이 존재하고 그 안에 파일들이 저장된다. 

 

▶ 전체 개요

-> 디스크 시작에 위치한 파티션 맵 구조체에서의 '애플파티션'을 설명하자. 펌웨어가 구조체를 처리하는 코드를 포함하기 때문에 맵은 부트코드를 포함하지 않는다. (펌웨어 : 하드웨어이면서 소프트웨어 기능도하는 하드웨어)

 

- 파티션 맵의 첫 엔트리는 자기자신(맵)을 위한 엔트리로서 "맵이 가질수 있는 최대 크기"를 나타낸다. 애플 시스템의 주요디스크는 드라이버나 비파일 정보들을 가지는 많은 파티션이 있다.

(즉, 애플은 드라이버랑 비파일 정보들도 맵에 가진다.)

첫 엔트리는 맵을 위해 사용된다.

 

 

▶ 데이터 구조체

-> 데이터 구조를 알아보자

 

▷ 파티션 맵 엔트리

-> 애플 파티션 맵은 512바이트의 엔트리가 여러개 존재한다. 그리고 이 엔트리는 연속된 섹터로 이루어져있다. 

각 파티션은 하나의 엔트리를 사용한다. 즉, 엔트리의 수는 전체 파티션의 수를 나타낸다. 

 

# 데이터 구조체의 내용은 다음과 같다.

 

※ 애플 파티션 엔트리의 타입은 다른 시스템과 다르게 ASCII로 나타낸다. (도스파티션은 숫자로 표현)

- 상태값은 책 131쪽을 보자 (검색하는게 나을듯)

- 데이터 영역 필드는 데이터영역이 있는 파일시스템들을 위해 사용한다. 

- 부트코드 필드는 파일시스템이 시작할 때 부트코드의 "위치"를 확인하기 위해 사용한다. 

- 수사관은 "파티션 전체 개수"를 파악하고 각 엔트리를 분석해서 파티션 정보를 수집한다. 

 

# 파티션 맵의 첫 엔트리를 보자!

mac-disk.dd의 첫 엔트리

 

- 애플은 빅엔디안을 사용한다. 

- 시그니처는 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는 리눅스에서만 사용이 가능)

mmls 도구를 이용한 디스크 분석

- 64번 섹터부터 파티션들이 나열되어있다.

- 할당되지 않은 부분은 "Apple-free"로 나와있다.

- 0, 2, 3 부분은 mmls에서 편의를 위해 추가시켜둔 부분이다.

 

 

2. OS X pdisk

-> 미가공 이미지에서 사용할 수 있는 도구다. 오직 'OS X'에서만 이용이 가능하다. 

base와 length를 이용해 파티션의 범위를 알 수 있다.

- 애플 디스크이미지파일은 파티션맵도 포함할 수 있다.

그 디스크 이미지 파일은 한 파일 시스템으로 한개의 파티션을 포함하거나 파티션 없이 파일 시스템이 존재가 가능하다. (파티션을 가질수도있고 파티션없이 그 자체로 파일 시스템이 가능하다는 말!)

 

 

▶ 분석 고려사항

-> 데이터 구조체에서 사용되지 않은 필드들이 있어서 적은양의 데이터를 숨길수있다. 또한 파티션 구조체와 맵 끝 사이 섹터들에 데이터를 숨길 수 있다. 

 


p.s 오늘은 분량이 짧았다. 내일은 이동식 매체의 파티션을 공부해보자