안녕하세요. 도깬리 포렌식스 입니다.
오늘도 계속하여 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
Voulme은 512 바이트의 논리적 블록으로 나뉘어지고, 0부터 시작하여 번호가 매겨집니다.
8개의 블록을 묶어서 allocation block이라고 부릅니다 (일반적으로 4KB)
일련의 연속적인 allocation block를 clump라고 부릅니다.
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 Node는 Leaf Node로 발견될 것 입니다.
Leaf Node
Leaf Node는 B-tree의 제일 마지막 바닥에서 찾을 수 있고, Data Records로 구성되어 있습니다.
Data Records에 저장할 수 있는 데이터의 양은 길이에 따라 천차만별입니다.
상당수의 중요한 볼륨 데이터 구조체는 B-tree 포맷으로 되어 있습니다.
예를 들면, Catalog File Data Records는 볼륨에서의 각 파일과 폴더에 관한 정보(예: 파일명, 퍼미션, 다른 중요 메타데이터)를 포함합니다.
감사합니다. 오늘도 즐거운 하루 되세요.
"좋아요"와 "구독하기"는 힘이 됩니다.
참고문서 : MAC Forensics Training Event 2016 (IACIS)
'Mac Forensics' 카테고리의 다른 글
[Mac Forensics] Command Line 기반 조사 방법 (0) | 2023.09.26 |
---|---|
[Mac Forensics] Macintosh File System (04) (0) | 2023.09.23 |
[Mac Forensics] Macintosh File System (02) (0) | 2023.09.19 |
[Mac Forensics] Macintosh File System (01) (0) | 2023.09.17 |
[Mac Forensics] Mac OS X 간편하게 조사하기 (0) | 2023.09.15 |