슬랙 공간(Slack Space)
DFIR/File System

슬랙 공간(Slack Space)

파일 시스템에 대해 공부하다 보면 슬랙 공간이라는 개념을 접할 수 있습니다.

이번 포스팅에서는 슬랙 공간이 뭔지, 슬랙 공간에는 어떤 종류가 있는지 알아보도록 하겠습니다.


슬랙 공간(Slack Space)

슬랙 공간은 논리적인 크기와 물리적인 크기 차이로 인해 낭비되는 공간입니다.

디스크는 섹터 단위로 읽고 쓰기 작업이 이루어지며 디스크 입출력 속도를 향상시키기 위해서 여러 개의 섹터를 묶어서 한 번에 처리하는 클러스터라는 개념을 사용합니다.

디스크는 섹터, 클러스터 단위로 입출력을 처리하지만 파일의 데이터는 가변적이기 때문에 파일의 크기와 섹터, 클러스터의 크기 차이로 인해서 이러한 슬랙 공간이 발생하는 것입니다.

슬랙 공간의 종류에는 램 슬랙, 파일 시스템 슬랙, 볼륨 슬랙, 파일 슬랙, 드라이브 슬랙 5가지가 존재하며 각각에 대해서 그림과 함께 살펴보도록 합니다.

 

램 슬랙, 드라이브 슬랙, 파일 슬랙

 

램 슬랙(RAM Slack)

램 슬랙은 섹터에 남는 비할당 영역입니다. 섹터의 크기가 512 byte 이고 100 byte의 데이터가 할당되어 있으면 나머지 412 byte는 0으로 채우게 되며 램 슬랙 공간이라고 부릅니다. 램에 저장된 데이터가 저장매체에 기록될 때 섹터 단위로 기록이 되는 특징이 있어서 램 슬랙이라고 합니다.

 

드라이브 슬랙(Drive Slack)

드라이브 슬랙은 클러스터 단위로 봤을 때 데이터를 할당하고 남은 비할당 영역입니다. 100 byte의 데이터를 저장할 경우 나머지 섹터의 합인 3,584 byte(512 * 7)가 드라이브 슬랙 공간이 되는 것입니다.

 

파일 슬랙(File Slack)

파일 슬랙은 램 슬랙과 드라이브 슬랙을 합친 것을 의미합니다. 일부에서는 파일 슬랙과 드라이브 슬랙을 같은 개념으로 설명하고 있는데 어느 주장이 사실인지는 모르겠으나 명칭이 따로 있으니 저는 파일을 할당하고 남은 영역 모두를 파일 슬랙이라고 이해했습니다.

 

파일시스템 슬랙, 볼륨 슬랙

 

파일시스템 슬랙(File System Slack)

저장매체의 공간을 사용하기 위해서는 파일 시스템을 할당해야 합니다. 파일 시스템의 크기는 클러스터의 크기에 따라 결정되는데 파일시스템 슬랙은 파일 시스템의 할당 크기와 파티션의 크기 차이로 인해 낭비되는 공간입니다.

 

볼륨 슬랙(Volume Slack)

볼륨 슬랙은 저장매체를 논리적 단위인 파티션 단위로 할당한 후 남는 공간을 의미합니다.

 

슬랙 공간은 역할이 주어져 있지 않고 낭비되고 있는 공간이기 때문에 악성코드에서 사용이 되거나 데이터를 은닉하는 용도로도 사용이 되는 공간입니다. 쓸모없다고 해서 쉽게 지나치지 말고 한 번쯤은 의심을 해봐야겠습니다.ㅎㅎ