Категория содержимого

  К этой категории относятся данные, составляющие содержимое файла или каталога. В файловой системе FAT блоки данных называются кластерами. Кластер (cluster) представляет собой группу смежных секторов, количество которых равно степени 2 — например, 1,2,4,8,16,32 или 64. Согласно спецификации Microsoft, максимальный размер кластера равен 32 Кбайт. Каждому кластеру присваивается адрес; для первого кластера он равен 2. Другими словами, кластеров с адресами О и 1 не существует. Все кластеры находятся в области данных файловой системы, последней из трех областей.
Поиск первого кластера
Найти первый кластер (с адресом 2) сложнее, чем кажется на первый взгляд, потому что он расположен не в начале файловой системы; кластер находится в области данных. В зарезервированной области и области FAT, находящихся перед областью данных, адреса кластеров не используются. Файловая система FAT дает пример того, что не каждому логическому адресу тома соответствует логический адрес файловой системы. Как будет показано в главе 11, в NTFS ситуация изменилась — в этой системе первый кластер также является первым кластером файловой системы.
В FAT12/16 и FAT32 используются разные процедуры поиска адреса сектора 2. В файловой системе FAT32 кластер 2 начинается с первого сектора области данных. Предположим, имеется файловая система с 2048-байтовыми кластерами и областью данных, начинающейся с сектора 1224. Кластеру 2 будет соответствовать адрес сектора 1224, а кластеру 3 — адрес сектора 1228 (рис. 9.5).


Адреса кластеров и секторов
Как мы только что обсуждали, адресация кластеров начинается только с области данных. Следовательно, для адресации данных в зарезервированной области и области FAT пришлось бы использовать либо две разные схемы адресации, либо «наименьшее общее кратное», которым является адрес сектора (логический адрес тома). Выполнять все операции с адресами секторов достаточно удобно; именно эта схема используется во внутренней работе всех системных программ и операционных систем, потому что им нужно знать, где находятся данные по отношению к началу тома. Некоторые программы, в том числе пакет TSK, выводят все адреса в виде адресов секторов, чтобы было достаточно только одной схемы адресации.
Чтобы выполнить преобразования между адресами кластеров и секторов, необходимо знать адрес сектора для кластера 2 и количество секторов в кластере. Базовая формула расчета адреса сектора для кластера С выглядит так:
(С - 2) * (кол-во секторов в кластере) + (сектор кластера 2)
Обратная формула для преобразования сектора S в кластер:
( (S - сектор кластера 2) / (кол-во секторов в кластере) ) + 2
Состояние выделения кластеров
Итак, мы знаем, как найти кластер. Теперь необходимо определить, какие кластеры выделены, а какие остаются свободными. Состояние выделения кластера определяется по структуре FAT. Обычно FAT существует в двух копиях, и первая копия начинается после зарезервированной области файловой системы. FAT более подробно рассматривается в главе 10, но необходимую информацию я приведу здесь.
Структура FAT используется для многих целей, но базовая концепция проста: каждый кластер файловой системы представлен одной записью.
Например, запись таблицы 481 соответствует кластеру 481. Каждая запись таблицы представляет собой одно число, максимальное значение которого зависит от версии FAT. В файловых системах FAT12 используются 12-разрядные записи, в FAT16 — 16- разрядные, а в FAT32 запись таблицы состоит из 32 разрядов (из которых используются только 28).
Если запись таблицы равна 0, кластер не выделен файлу. Если она равна 0xff7 для FAT12, 0xfff7 для FAT16 или OxOfff fff7 для FAT32, кластер помечен как поврежденный и не может выделяться файлам. Все остальные значения означают, что кластер выделен, а их интерпретация будет рассмотрена позднее, в разделе «Категория метаданных».
Алгоритмы выделения
При выделении кластеров ОС использует определенный алгоритм. Тестирование систем Windows 98 и Windows ХР показало, что в обоих случаях использовался алгоритм поиска следующего доступного кластера. Этот алгоритм ищет первый доступный кластер, начиная от предыдущего выделенного кластера. Предположим, кластер 65 выделен новому файлу, а кластер 62 свободен. Следующий поиск начнется с кластера 66, а кластер 62 на некоторое время останется свободным (рис.

9.6). Процесс выделения кластеров зависит от многих факторов, и идентифицировать точный алгоритм трудно.
Чтобы найти свободный кластер для выделения файлу, ОС сканирует FAT и ищет запись, содержащую 0. Вспомните, что в резервной области FAT32 хранится структура данных FSINFO с номером следующего свободного кластера, которым операционная система может руководствоваться при поиске. Если потребуется перевести кластер в свободное состояние, система находит соответствующую запись в структуре FAT и заполняет ее нулями. Большинство операционных систем не стирает содержимое кластеров при освобождении, если только эта операция не реализована как функция надежного удаления информации.
Методы анализа
Анализ данных в категории содержимого выполняется для нахождения конкретного блока данных, проверки его статуса выделения и выполнения операций с содержимым. Найти конкретный блок данных в FAT сложнее, чем в других файловых системах, потому что адресация кластеров начинается не с начала файловой системы. При обращении к блоку данных, расположенному до начала области данных, необходимо использовать адрес сектора. Для блоков в области данных могут использоваться как адреса секторов, так и адреса кластеров.
Состояние выделения каждого кластера определяется по записи кластера в FAT. У свободных кластеров значение записи равно нулю, а у выделенных оно отлично от нуля. Если потребуется извлечь содержимое всех свободных кластеров, переберите все записи FAT и извлеките каждый кластер с нулевым значением в таблице. Блоки данных, расположенные до начала области данных, в FAT не представлены, следовательно, они не имеют формального состояния выделения, хотя большинство таких блоков используется файловой системой. Проверьте свои программы анализа и выясните, считают ли они свободными блоки, предшествующие области данных. 
<< | >>
Источник: Кэрриэ Б.. Криминалистический анализ файловых систем. 2007

Еще по теме Категория содержимого:

  1. Категория данных содержимого
  2. Категория содержимого
  3. КАТЕГОРИИ ПРАКТИКИ И КАТЕГОРИИ АНАЛИЗА
  4. Категории данных
  5. Категория метаданных
  6. Категория имен файлов
  7. Категория метаданных
  8. Категория данных
  9. Категория метаданных
  10. Категория имен файлов
  11. 2.6. КАТЕГОРИИ КУЛЬТУРЫ
  12. Капитал категории
  13. Категория метаданных