본문 바로가기
디지털포렌식/기초 이론

[디지털포렌식 - 기초] 내 손안의 저장 매체 속 비밀, FAT 파일 시스템 파헤치기

by 컬스터디 2025. 5. 10.
반응형

 

FileSystem - PixaBay

 

안녕하세요!

지난 시간에는 MBR, 슬랙 공간, 그리고 파일시스템의 기본적인 개념들에 대해 알아보았는데요.

오늘은 우리에게 매우 친숙한 저장매체인 USB 메모리나 SD 카드에서 오랫동안 사용되어 온 FAT 파일시스템에 대해 좀 더 깊이 있게 파헤쳐 보는 시간을 갖도록 하겠습니다.


1. 들어가며: 왜 FAT 파일시스템을 알아야 할까?


"FAT 파일시스템? 그게 뭐지?"라고 생각하실 수도 있지만, 사실 우리는 알게 모르게 FAT 파일시스템을 매일같이 접하고 있습니다. 

당장 주머니 속에 있는 USB 메모리, 디지털카메라의 SD 카드, 심지어 예전 MP3 플레이어까지! 이 많은 휴대용 저장 장치들이 바로 FAT 파일시스템을 기반으로 파일을 저장하고 관리해왔습니다.

디지털 포렌식에서 파일시스템을 이해하는 것은 마치 탐정이 사건 현장의 지도를 읽는 것과 같습니다. 

파일이 어디에 어떻게 저장되고, 삭제된 파일은 어떤 흔적을 남기는지 알아야 숨겨진 단서를 찾을 수 있기 때문이죠. 

특히 FAT 파일시스템은 그 구조가 비교적 단순해서 파일시스템의 작동 원리를 처음 배우는 분들에게 아주 좋은 학습 자료가 됩니다. 

자, 그럼 이제부터 FAT 파일시스템의 비밀을 함께 파헤쳐 볼까요?


2. FAT 파일시스템이란 무엇인가?


FAT은 파일 할당 테이블(File Allocation Table)의 약자입니다.

이름에서 알 수 있듯이, 파일이 디스크의 어느 위치에 저장되어 있는지를 기록해둔 '표' 또는 '목록'이라고 생각할 수 있습니다.

1970년대 후반에 처음 개발된 이후, FAT12, FAT16, FAT32, 그리고 최신 기기에서도 종종 사용되는 exFAT까지 여러 버전으로 발전해 왔습니다.

FAT 파일시스템의 특징:


장점: 구조가 단순하고 여러 운영체제에서 호환성이 좋아 널리 사용됩니다.
단점: 초기 버전들은 대용량 디스크나 큰 파일을 지원하는 데 한계가 있었고, NTFS와 같은 최신 파일시스템에 비해 보안 기능이나 오류 복구 기능이 부족합니다.


우리가 컴퓨터를 켜면 가장 먼저 만나는 MBR(Master Boot Record) 기억나시죠?

MBR 안의 파티션 테이블에는 각 파티션이 어떤 파일시스템으로 포맷되어 있는지 정보가 담겨 있습니다.

만약 해당 파티션이 FAT 파일시스템이라면, 운영체제는 이 정보를 바탕으로 FAT 파일시스템의 규칙에 따라 파일을 읽고 쓰게 됩니다.

 


3. FAT 파일시스템의 핵심 구조 살펴보기

FAT Filesystem 구조


FAT 파일시스템은 크게 네 가지 주요 영역으로 구성됩니다. 마치 잘 짜인 도시 계획처럼 각 영역이 맡은 역할이 있습니다.


① 예약된 영역 (Reserved Area):


이 영역의 가장 중요한 부분은 부트 섹터(Boot Sector) 또는 VBR(Volume Boot Record)입니다. 

이곳에는 해당 FAT 파티션에 대한 핵심 정보들이 담겨 있습니다. 

예를 들어, 클러스터(데이터 저장의 기본 단위) 하나의 크기는 얼마인지, FAT 영역이 몇 개나 있는지, 전체 섹터 수는 몇 개인지 등의 정보가 기록되어 있죠. 

만약 이 파티션으로 부팅해야 한다면 부팅에 필요한 작은 프로그램(부트 코드)도 여기에 들어갑니다.
(마치 도시의 시청과 같다고 할 수 있겠네요. 도시 운영에 필요한 기본 정보들을 담고 있으니까요.)


② FAT 영역 (FAT Region):


이름 그대로 파일 할당 테이블(File Allocation Table)이 저장되는 곳입니다.

이곳이 바로 FAT 파일시스템의 심장부라고 할 수 있습니다! 파일 데이터가 실제로 저장된 데이터 영역의 클러스터들이 어떤 순서로 연결되어 있는지를 마치 사슬처럼 기록해둡니다.

이를 클러스터 체인(Cluster Chain)이라고 부릅니다.
중요한 정보인 만큼, 보통 FAT 영역은 두 개(FAT1, FAT2)를 만들어 동일한 내용을 기록합니다. 하나가 손상될 경우를 대비한 백업인 셈이죠.
(도시의 토지대장과 비슷합니다. 어느 땅(클러스터)이 누구(어떤 파일)의 소유이고, 여러 필지가 어떻게 연결되어 있는지 기록하는 거죠.)


③ 루트 디렉터리 영역 (Root Directory Area - FAT12/16의 경우):


FAT12와 FAT16 버전에서는 최상위 폴더인 루트 디렉터리의 정보가 저장되는 공간이 별도로 고정된 크기와 위치를 가집니다. 

여기에 저장할 수 있는 파일이나 폴더의 개수가 제한되는 이유이기도 합니다.
반면, FAT32에서는 루트 디렉터리도 일반 파일/폴더처럼 데이터 영역에 유동적으로 저장되어 이러한 제한이 크게 완화되었습니다.
(도시의 중앙 광장 같은 곳일까요? 모든 길로 통하는 시작점이죠.)


④ 데이터 영역 (Data Area / File and Directory Data Area):


실제 파일의 내용(문서, 사진, 음악 등)과 (FAT32의 경우 루트 디렉터리를 포함한) 모든 디렉터리 정보가 저장되는 넓은 공간입니다. 

데이터는 클러스터(Cluster)라는 일정한 묶음 단위로 관리됩니다. 

하나의 파일이 여러 클러스터에 나뉘어 저장될 수 있으며, 이 클러스터들의 연결 정보는 FAT 영역에 기록됩니다.
(도시의 주거지역, 상업지역처럼 실제 건물(데이터)들이 들어서는 공간입니다.)


4. 파일은 어떻게 저장되고 흔적을 남길까?


그렇다면 FAT 파일시스템은 실제로 파일을 어떻게 저장하고 삭제할까요? 아주 간단하게 핵심 원리만 살펴보겠습니다.


파일 저장 과정 :

File1.txt 저장 과정


먼저, 파일의 이름, 크기, 생성 시간, 그리고 파일 데이터가 시작될 첫 번째 클러스터 번호 등의 정보가 디렉터리 엔트리(Directory Entry)에 기록됩니다. (루트 디렉터리 영역 또는 데이터 영역의 특정 위치)
다음으로, FAT 영역이 업데이트됩니다. 

파일이 사용하는 클러스터들이 순서대로 연결되고(클러스터 체인 형성), 마지막 클러스터에는 "여기서 끝"이라는 표시(예: 0xFFF, 0xFFFF, 0xFFFFFFFF 등)가 남습니다.

 


파일 삭제 과정 :

사용자가 파일을 삭제하면, 해당 파일의 디렉터리 엔트리에서 파일 이름의 첫 글자가 특수한 값(예: E5h)으로 바뀝니다. 

- 사실, 디렉터리 엔트리의 0번 바이트의 값이 0xE5로 할당되는 것을 말하는데, 이는 HxD같은 프로그램으로 확인 가능합니다. 여기서는 설명을 위해 파일 이름이 바뀐다고 가정하죠. -

"이 파일은 삭제되었음"이라고 표시하는 것이죠.
그리고 FAT 영역에서 해당 파일이 사용하던 클러스터들의 연결 정보(클러스터 체인)가 "사용 가능함"(예: 0x00)으로 변경됩니다.
중요한 점! 이때 데이터 영역에 있던 실제 파일 내용은 바로 지워지지 않습니다. 

단지 "이제 이 공간은 다른 데이터가 덮어써도 된다"고 표시만 해두는 것이죠. 

(이전에 "슬랙 공간"에 대해 이야기했던 것 기억나시나요? 바로 이런 원리 때문에 삭제된 파일의 데이터가 남아있을 수 있습니다.)


포렌식적 의미:


바로 이 "삭제"의 원리 때문에 디지털 포렌식 전문가들은 삭제된 파일의 흔적을 찾아낼 수 있습니다. 

디렉터리 엔트리에 남아있는 정보, FAT 영역에 남아있을 수 있는 이전 클러스터 연결 정보, 그리고 가장 중요하게는 데이터 영역에 아직 덮어쓰이지 않고 남아있는 실제 파일 내용을 통해 중요한 증거를 복구할 기회를 얻게 됩니다.


5. 마치며: FAT 파일시스템 분석, 디지털 증거를 찾는 첫걸음


오늘은 우리 주변에서 흔히 볼 수 있는 FAT 파일시스템의 기본적인 구조와 작동 원리에 대해 알아보았습니다. 

비록 최신 운영체제에서는 NTFS나 다른 파일시스템들이 주로 사용되지만, USB 메모리와 같은 외부 저장장치에서는 여전히 FAT (특히 exFAT)가 널리 쓰이고 있으며, 그 구조의 단순함 덕분에 파일시스템의 근본적인 이해를 돕는 훌륭한 학습 대상입니다.

FAT 파일시스템을 이해하는 것은 디지털 포렌식 분석의 중요한 첫걸음입니다. 앞으로 더 복잡한 파일시스템을 배우고 분석하는 데 튼튼한 기초가 될 것입니다.

다음 시간에는 또 다른 흥미로운 디지털 포렌식 이야기로 찾아뵙겠습니다.

반응형