Digital Forensics/Basic#2

[Digital Forensics Basic#2] 1-4. APFS

우저미 2025. 8. 14. 01:05

1) APFS 정의

APFS는 Apple이 macOS, iOS 용으로 개발한 파일 시스템

데이터 무결성과 효율적 저장을 중점에 두고 설계되었다.

대표 기능으로는 Copy on Write 기반 구조, 스냅샷 지원, 파일 단위 암호화 그리고 공간 공유가 있다.

컨테이너와 볼륨 구조로 유동적인 볼륨 관리가 가능하다. 

B-Tree 구조로 메타데이터 저장

 

2) APFS의 컨테이너-볼륨 구조

하나의 컨테이너는 물리 디스크에 해당하며 그 안에 여러 개의 볼륨 생성

각 볼륨은 컨테이너 내부의 저장 공간을 유동적으로 공유한다.

예를 들어 어떤 볼륨에서 공간이 줄어들면 그 여유 공간을 다른 볼륨이 자동으로 사용할 수 있어서 효율적인 저장소 관리 가능

 

3) CoW vs AoW

CoW는 기존 데이터를 그대로 둔 채, 새로운 블록에 복사한 뒤 수정하여 데이터 무결성 보장과 스냅샷 기능 구현에 유리하다.

AoW는 새로운 블록에 데이터를 덮어쓰고 메타데이터만 갱신한다. 

 

4) CoW 효율성

기존 데이터를 복사한 뒤 수정하기 때문에 이론상 두 배의 저장 공간을 차지할 수 있어 공간 측면에서 비효율적으로 보일 수 있다.

하지만 CoW는 데이터 무결성과 복구 가능성을 우선시하는 설계 목적에 기반하여 포렌식 관점에서는 복구나 분석에 유리한 구조이고, 변경된 블록만 새로 할당하기 때문에 나름대로 최적화되어 있다. 

 

5) 컨테이너 단위 손상 시 복구 방법

디스크 이미징으로 원본을 보존하고 도구를 사용하여 Object Map 구조, 스냅샷 메타데이터 분석하여 손상 이전 상태로 복구를 시도할 수 있다.

 

6) 논리 볼륨끼리의 데이터 충돌이나 격리 이슈는 없을까?

컨테이너의 공간을 공유하지만 각각은 고유한 파일 시스템 구조를 갖고 있어 충돌은 발생하지 않는다.

다만 공간 공유 특성상 한 볼륨이 과도하게 용량을 차지하면 다른 볼륨에 영향이 갈 수는 있다. 

 

7) APFS와 NTFS의 구조상 차이

NTFS는 고정 파티션 구조 위에서 MFT를 중심으로 메타데이터 관리

APFS는 컨테이너-볼륨 구조, cow 기반 쓰기 방식, 파일 단위 암호화 등의 차별점이 있다.

NTFS는 트랜잭션 기반의 저널링이 강점

APFS는 유동적인 공간 관리와 무결성이 강점 

 

8) 암호화된 APFS 컨테이너 분석

분석이 불가능하지는 않지만 암호 키나 사용자 인증 정보 없이 직접적인 데이터 접근은 제한된다. 

 

9) APFS에서 Snapshot은 물리적으로 어떤 구조일까?

단순히 파일을 복사하는 방식이 아니라 Object Map의 특정 시점 상태를 메타데이터로 고정하여 저장

메타데이터 포인터 집합을 보존해두는 형태이며, 실제 데이터는 cow로 필요시에만 복사