iOS File System

2023. 2. 9. 19:12포렌식/iOS 포렌식

iOS 파일시스템 개요

애플은 2016년 이전에는 HFS+를, 2016년 이후부턴 APFS를 사용하고 있다.

HFS+는MAC OS 8.1 버전(1998)년도부터 도입된 파일 시스템으로, HFS를 약간 개선한 버전이다. MAC OS Extended라고도 불린다. HFS가 플로피디스크와 하드디스크를 주로 사용하는 환경에 맞추어진 만큼, 여러 보조저장장치를 활용하는 (그때기준)차세대 기기에는 부족한 면이 있었고, HFS가 처음 설계되었던 시점에서의 보안과 개인정보보호에 대한 인식이 많이 달라졌기 때문에 새로운 파일 시스템이 필요하게 되었다.

그렇게 HFS+가 등장했다. HFS+는 파일단위 암호화 기능, 디스크 암호화 기능을 지원하며 기존 파일 매핑 테이블 크기가 16bit로 32bit로 확장되면서 좀 더 큰 파일 크기를 지원한다. 또한, 파일명이 유니코드로 저장되고 파일시스템 접근제어 기능도 추가되었다. 이외에도 애플은 필요에 따라 다양한 HFS 개량형 파일 시스템을 만들었다.

(HFS+, Fusion Drive, CoreStorage Full Disk Crypto, HFS+J, HFSX, HFS-standard 등)

APFS의 등장배경

여러개로 파편화된 HFS 개량형들의 기능을 모두 통합한 새로운 파일 시스템이 있다면, 애플의 모든 제품이 하나의 파일시스템만을 사용하면 된다. 따라서 각 제품은 다른 제품의 장점을 누릴 수 있고, 애플사또한 여러 개의 파일 시스템을 유지/보수하는데 드는 노력을 줄일 수 있게 된다. 이러한 이유로 HFS기반 파일시스템이 아닌 완전히 새로운 파일 시스템인 APFS(Apple File System)가 등장했다.

APFS의 특징

- 플래시 기반 저장장치에 최적화된 파일 시스템

- 파일단위, 디스크단위 등 전반적인 암호화 지원으로 보안 강화

- 유연한 디스크 관리

- Copy-On-Write 방식

하드디스크 기반 저장장치와 플래시기반 저장장치는 파일을 다루는 방식이 다르다.

이를 먼저 이해해야 Copy-On-Write방식의 장점을 이해할 수 있다.

 

  • 하드디스크에서 파일을 다루는 방법

하드와 같이 물리적으로 회전하고 자기로 기록되는 저장장치에서 파일이 삭제되면 해당 파일의 메타데이터만 수정하면 된다. 파일의 실제 내용은 지워지지 않은 상태로 디스크상에 존재하고, 이후 그 영역에 다른 파일이 쓰여질 때 덮어씌워지는 방식으로 기록된다. 이것이 FAT기반 파일시스템에서 파일을 복구하는 원리다.

이같은 방식을 파일 삭제와 새로운 데이터 덮어쓰기가 간단하지만, 단일 메타데이터가 지정하는 파일들이 흩어져있을 땐 파일을 읽는 속도가 크게 저하된다. 이를 해결하기 위한 것이 '디스크 조각 모음'이다.

  • 플래시 메모리기반 저장장치에서 파일을 다루는 방법

플래시 기반 저장장치에서는 데이터를 저장하는 셀들이 전자적으로 동작하고, 파일들의 물리적 위치가 성능에 별로 영향을 끼치지 않는다. 하지만 플래시 메모리는 파일을 삭제하고 그 공간에 다른 데이터를 쓰기 위해서는 셀을 초기상태로 되돌려야 하며, 각 셀이 쓸 수 있는 횟수가 제한되어있다. 셀을 초기상태로 되돌리는 지우기 작업이 시간이 많이 소요되기 때문에 APFS는 '비동기식 TRIM' 기능으로 메타데이터의 변경이 감지되면 즉시 의미가 없어진 데이터를 삭제하고 있다.

  • Copy-On-Write방식

셀의 쓰기횟수 제한때문에 나온 방식. 파일 복사 시, 파일을 실제로 복사하지 않고 복사한 것처럼 보이게 한다.

실제 파일 쓰기가 일어나는 시점은 복사된 파일에 수정이 일어날 때이다. 그 전까지 복사한 파일은 원본 파일내용과 다를게없으므로, 실제로 저장공간에 할당되진 않고 단지 원본 파일을 가리키고 있는다(like symbolic link)

이런 방식으로 셀의 쓰기횟수를 최소화하여 성능 저하를 최소화시킨다.

'포렌식 > iOS 포렌식' 카테고리의 다른 글

HFS+ 디렉토리  (0) 2023.02.09
탈옥으로 얻은 데이터의 증거능력  (0) 2023.02.09
HFS+ structure  (0) 2023.02.09
모바일 포렌식의 개요  (0) 2023.02.09