Myung Digital Forensic Center

기밀 유출 조사 전문업체

30년 전통의 디지털 포렌식 名家 자세히보기

Forensic Knowledge/File System

파일시스템 기본 - Sector & Cluster Ⅱ

Myung_DFC 2021. 8. 17. 03:46

출처 : DataNumen

 

 

Cluster

 

 

물리적 최소 단위인 섹터는 논리적 최소 단위인 「클러스터(Cluster)」로 묶여서 사용된다. 이전 포스트에서 언급한 'Block' 의 개념이 바로 클러스터이다. 앞서 클러스터의 탄생 이유를 무결성의 측면에서 먼저 살펴보았지만, 사실 그 보다 더욱 중요한 이유가 있다. 바로 '속도'와 '효율성'이다. 

 

읽기 · 쓰기의 가장 기본적인 최소 단위인 섹터는 입출력의 단위로 사용되기에는 너무나도 작은 단위이다. 데이터의 입출력 단위가 작을수록 하드디스크의 헤드가 움직여야 하는 물리적 운동 횟수가 증가하고, 이는 파일 입출력에 심각한 속도 저하를 유발한다.

따라서 사용자의 입장에서 가장 중요한 요소인 속도를 취하기 위해 저장공간의 효율성을 담보로 클러스터라는 개념을 도입한 것이다. 클러스터 하나의 크기를 8개의 섹터로 구성되도록 파일 시스템을 설정하였다면, 이 파일 시스템에서는 4KB(512 Byte X 8)를 하나의 Block으로 사용하고, 이를 데이터 입출력의 기본 단위로 사용한다.

[그림 1] - 출처 : Youtbe "KnowlliPop 놀리팝"

 

 

[그림 1] 은 섹터와 클러스터의 구분을 도식화한 그림이다. 섹터는 하드디스크를 물리적으로 구분하는 단위이고, 클러스터는 논리적인 단위라는 것을 그림을 통해서 조금 더 직관적으로 알 수 있다. 굳이 비유하자면, 섹터는 실질적으로 데이터를 담는 '그릇'클러스터는 이 그릇들을 여러 개 모아 운반할 '쟁반' 이라고 표현할 수 있겠다.

 

사용자가 메모장을 이용하여 612 Byte 크기의 "todo.txt" 라는 파일을 생성했다고 가정해 보자. 운영체제는 이 파일을 저장하기 위해 하나 클러스터 공간을 마련한다. 파일 시스템에서 기본으로 적용되는 클러스터의 크기는 4KB이기 때문에, 612 Byte의 데이터를 위해서 4KB의 하드디스크 공간을 할당하는 것이다.

 

 

 

그렇다면 이 클러스터 내에서 612 Byte는 어떻게 저장될까? 컴퓨터가 정보를 저장하는 최소 단위는 섹터라고 했고, 그것은 최대 512 Byte의 크기를 가진다고 했다. 즉, 하나의 섹터만을 사용하여 612 Byte를 저장할 수 없기 때문에, 파일 시스템은 최종적으로 두 개의 섹터를 할당하여 "todo.txt" 파일을 저장한다. 그리고 [그림 2]를 자세히 보면 두 개의 섹터를 사용하고 남은 412 Byte의 공간이 있는데, 이 공간이 바로 「슬랙 공간 (Slack space)」이다. 

 

 

Slack space

 

 

슬랙 공간은 디지털 포렌식에서 가장 중요한 개념 중 하나로 여겨진다. 현재 통용되고 있는 포렌식 도구들도 모두 이 슬랙 공간을 마치 귀중한 보물창고처럼 다루고 있으며, 이곳에 잔존하는 데이터를 잘 긁어모아서 정제한다면 조사에 큰 이점을 가져오는 단서로써 사용될 수도 있다. 

 

하드디스크를 블록 단위, 즉 섹터와 클러스터로 나누어 파일을 위한 저장 공간으로 할당하는 과정에서 자연스럽게 낭비되는 공간이 생긴다. 이 낭비되는 공간이 바로 슬랙 공간인데, 이는 저장 매체의 특성이기 때문에 하드디스크를 사용하는 이상 반드시 직면해야 하는 문제이다.

이러한 특성에 근거하여 슬랙 공간을 '할당된 공간(assigned space)'과 '실제로 사용된 공간(actually used space)'의 차이라고 정의할 수 있다. 이 공간은 사용자와 운영체제에 의해 접근될 수 없기 때문에, 용의자의 의도대로 파일이 '완전히' 제거될 수 없다는 중요한 속성이 될 수 있다.

 

 

 

앞서 예시로 들었던 "todo.txt" 파일이 저장되는 클러스터 공간에서는 두 가지의 슬랙 공간이 발생하였다. 하나는 100 Byte의 데이터만 저장되어 섹터의 나머지 412 Byte의 빈 공간이 생기는 램 슬랙 (RAM slack)」, 그리고 다른 하나는 612 Byte의 데이터만 저장되어 클러스터의 나머지 3436 Byte의 빈 공간이 생기는 파일 슬랙 (File slack) 이다. NTFS 운영체제에서는 램 슬랙 공간을 기본적으로 0으로 채우기 때문에, 조사관 입장에서 더욱 관심 있게 봐야 할 부분은 파일 슬랙이 될 것이다.