What is File Slack? And how does it relate to digital forensics?
If you have a basic understanding of computers then you know that files take up space on your hard drive. You may also understand that some files are larger than others and that they can range from only a few bytes to many gigabytes. What you may not know is that files actually have two file sizes: A logical size and a physical size. The reason for the two sizes lies in the way that the file system stores files on your hard drive. Without getting into too much detail on how file systems work, the answer to this mystery lies in the understanding of File Slack, which is broken into 2 parts: Drive Slack and RAM Slack. Knowledge of File Slack is not required for everyday computing but it does play a very important role when it comes to Digital Forensics and eDiscovery.
You may have heard the terms Sector and Cluster when referring to hard drives. At a very basic level, the Sector makes up the smallest area on a piece of media, or hard drive, that can be written to. These Sectors are then grouped into Clusters that make up the allocation units on the drive. On Windows systems, the Sector is a fixed size of 512 bytes whereas the Cluster size is determined by the size of the disk itself. So smaller disks will have small Clusters sizes and vice versa. When a file is created, the file system allocates the first available Clusters depending on the logical size of the data being stored. Obviously, every file stored on a drive cannot possibly be the exact size of one or multiple Clusters so there will be space left over in the last cluster. This is File Slack.
RAM Slack refers to the remaining space in the last Sector of a file. Remember, Clusters are the allocation units but the file system still writes in 512 byte chunks. Very rarely will a file be an exact multiple of 512. So, once the file system finishes writing to the last Sector of a file, there will be space at the end of that Sector. Prior to Windows 95 version B, RAM Slack was filled with random data from RAM, hence RAM Slack. This was a huge security hole because data in RAM could contain passwords and other sensitive data. Since then, Windows file systems write the hex key x00 to the remaining space in the last sector of a file.
Drive Slack refers to the remaining un-written-to sectors in the last cluster of a file. The file system does not fill this space like it does with RAM Slack. The file system actually does nothing with this space. Whatever data that was contained in those sectors prior to the file being written still remains there, even remnants of deleted files.