Mac Forensics

[Mac Forensics] Macintosh File System (03)

도깬리 2023. 9. 21. 06:26

안녕하세요. 도깬리 포렌식스 입니다.

오늘도 계속하여 Macintosh File System에 대해 알아 보겠습니다. 모두 화이팅하세요!!!

(주의 : Apple의 구형 파일시스템인 HFS+ 파일시스템을 기준으로 설명합니다. Apple은 HFS+ 를 대체하기 위하여 APFS 파일시스템을 개발하였습니다. APFS는 2017년 3월 iOS 10.3와 함께 모바일 기기에 출시됐으며, 그해 9월 macOS 10.13으로 맥에도 출시되었습니다. 이상  https://namu.wiki/w/APFS 참조)

 

Read-Only Volume Formats

읽기만 가능한 포맷들에 관한 사항입니다.

- NTFS (NT File System)

윈도우 볼륨 포맷입니다.

Mac 에서는 CD/DVD 처럼 취급하고 있습니다.

- ISO 9660 (CDFS)

CD media 포맷입니다.

- UDF (Universal Disk Format)      

DVD media 포맷입니다.

 

HFS Resource and Data Forks

HFS에서의 파일은 2개의 파트로 나뉘어져 있습니다.

- Resource fork

- Data fork

어떤 fork이든 데이터가 비어 있을 수 있습니다.

 

Resource fork

파일(또는 resource)에 대한 정보를 갖고 있습니다.

이것은 파일시스템과 상호작용하는데 도움을 줍니다.

파일의 아이콘, 환경 설정(Preference settings), 메타데이터, 폰트 정보, 다른 실행파일도 포함할 수 있습니다.

 

Data fork

텍스트와 같이 파일의 실제 데이터를 포함합니다.

현재 MacOS의 개발 방향은 resource forks를 최소화하는 것으로 알려져 있습니다.

 

 

HFS File Storage

 

 

Voulme512 바이트의 논리적 블록으로 나뉘어지고, 0부터 시작하여 번호가 매겨집니다.

8개의 블록을 묶어서 allocation block이라고 부릅니다 (일반적으로 4KB)

일련의 연속적인 allocation blockclump라고 부릅니다.

 

HFS B-Trees

B-Trees

HFS에서 중요한 데이터 구조는 B-tree 포맷으로 되어 있습니다.

이 구조체는 정보를 신속하게 검색할 수 있도록 고안된 것 입니다.

B-Tree는 노드로 구성되어 있고, 각각의 노드는 individual key를 포함합니다.

4개의 노드가 존재합니다. : header, map, index, leaf

 

 

Head Node

B-tree에서 첫 번째 노드입니다.

B-tree 자체에 대한 중요 정보를 포함합니다.

 

Header Record

트리의 크기와 첫 번째와 마지막 leaf nodes가 어디에 위치하는지 관한 정보를 포함합니다.

User Data Record

B-tree와 관련된 정보를 저장하는 곳이고, 비어 있을 수도 있습니다.

Map Record

Header Node에 있는 Map Record가 전체 트리에 대한 allocation data를 모두 담을 수 없다면 Map Record가 생성될 것입니다.

 

Index Node

Index Node Pointer Records를 포함합니다.

 

Pointer Records

B-tree 데이터를 갖고 있는 Leaf Node의 위치에 관한 정보를 포함합니다.

Index Node는 데이터를 찾는 속도를 증가시킵니다.

 

Root Node

하나 이상의 Leaf Nodes가 존재한다면 Index Node 하위 트리 구조 에서의 첫 번째 노드가 루트 노드입니다.

만약에 B-tree가 사용되지 않거나 새 것이라면, Root Node는 존재하지 않을 것 입니다.

모든 데이터가 하나의 노드에 딱 들어맞는다면, Root NodeLeaf Node로 발견될 것 입니다.

 

Leaf Node

Leaf Node B-tree의 제일 마지막 바닥에서 찾을 수 있고, Data Records로 구성되어 있습니다.

Data Records에 저장할 수 있는 데이터의 양은 길이에 따라 천차만별입니다.

상당수의 중요한 볼륨 데이터 구조체는 B-tree 포맷으로 되어 있습니다.

예를 들면, Catalog File Data Records는 볼륨에서의 각 파일과 폴더에 관한 정보(: 파일명, 퍼미션, 다른 중요 메타데이터)를 포함합니다.

 

 

 

감사합니다. 오늘도 즐거운 하루 되세요.

"좋아요"와 "구독하기"는 힘이 됩니다.

참고문서 : MAC Forensics Training Event 2016 (IACIS)