Mac Forensics

[Mac Forensics] Macintosh File System (04)

도깬리 2023. 9. 23. 06:30

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

오늘은 Macintosh File System 마지막 시간입니다. 모두 화이팅하세요!!!

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

 

HFS Important Data Structures

 

 

Volume Header

전반적인 볼륨의 정보를 포함합니다.

) 전체 파일의 개수, allocation block의 크기, 전체 allocations Block의 개수, 그리고 볼륨이 쓰기 방지되어 있는지 여부 등

이것은 볼륨의 시작 부분에서부터 1024 바이트의 공간을 차지합니다.

사본(Alternate Volume header)이 해당 볼륨의 끝 1024바이트 앞에 위치합니다.

볼륨의 헤더는 다음 실행 가능한 CNID를 제공하는 역할도 합니다.

 

Allocation File

어떤 볼륨에서의 allocation blocks이 사용중이거나 파일시스템에 의해 사용되지 있는지 여부를 기록하기 위한 것 입니다.

 

Extents Overflow File

길이가 8보다 큰 extents (Clump)의 위치 정보를 포함합니다.

 

Catalog File

볼륨에 존재하는 파일과 폴더 hierarchy를 기록하기 위하여 고안된 것 입니다.

파일과 폴더명이 여기에 기록됩니다.

각 파일과 폴더명은 고유의 Catalog Node ID(CNID)를 할당받고, 생성일자와 수정 일자를 함께 기록합니다.

 

Attributes Files

B-tree는 더 많은 file forks를 추가할 수 있도록 설계되어 있습니다.

이것은 extended metadata attributes를 저장하는 용도로 사용됩니다.

 

Start-Up File

HFS+를 지원하지 않는 시스템에 필요한 데이터를 포함합니다.

 

HFS+ File Creation

HFS+ 파일시스템에서 파일을 생성하게 되면 다음과 같은 일이 일어 납니다.

- OS는 다음 이용 가능한 Catalog Node ID가 있는지 Volume Header를 살펴 봅니다.

- 파일과 Clump 크기를 기반으로 연속적인 free blocks의 개수를 확인하고자 Allocation File을 확인합니다.

- 파일이 그 드라이브에 생성됩니다.

- 마지막 단계로 Catalog File이 갱신되고, 다음과 같은 정보를 기록합니다.

Path

Catalog Number ID (CNID)

Timestamps

Permissions

Logical file size & number of blocks used

 

 

HFS+ File Deletion

파일이 삭제되면, 다음과 같은 일이 일어 납니다.

- Catalog File 엔트리가 삭제됩니다.

- Allocation File이 업데이트되어 Assigned blocks이 비어 있음을 확인합니다.

- 데이터는 그것이 덮어씌워 지기 전까지 드라이브에 그대로 남아 있을 겁니다.

- 헥스 에디터로 복원할 수 있습니다.

 

(참고) 텍스트 파일 만드는 방법

[응용프로그램]에서 [텍스트편집기] 열어서 만들어 봅니다.

 

 

 

 

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

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

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