Категория метаданных

  К категории метаданных относятся данные, описывающие файлы или каталоги: местонахождение содержимого, дата и время, права доступа. Эта категория данных будет использоваться для получения дополнительной информации о файле и идентификации подозрительных файлов. В файловой системе FAT эта информация хранится в структуре записи каталога. Структура FAT также используется для хранения метаданных, описывающих файлы и каталоги.

Записи каталога
Записью каталога называется структура данных, создаваемая для каждого файла и каталога. Ее размер равен 32 байтам; в структуре хранятся атрибуты файла, его начальный кластер, дата и время. Запись каталога занимает важное место в категории метаданных и имен файлов — ведь в этой структуре содержится имя файла. Записи каталогов могут находиться в любом месте области данных, потому что они хранятся в кластерах, выделенных каталогам. В файловой системе FAT каталоги интерпретируются как особая разновидность файлов. Структура данных записей каталогов подробно описывается в главе 10.
Каждый раз, когда в системе создается новый файл или каталог, в родительском каталоге для него создается запись каталога. Поскольку каждая запись каталога обладает фиксированным размером, содержимое каталога можно представить себе как таблицу записей каталогов. В отличие от кластеров, записям каталогов не присваиваются уникальные числовые адреса, поэтому возможен только один стандартный способ адресации каталогов: использовать полное имя файла или каталога, которому принадлежит эта запись. Мы вернемся к этой теме в разделе «Адреса записей каталогов».
Структура записи каталога содержит поле атрибутов. Для каждого файла можно задать значения семи атрибутов, хотя ОС (или программа анализа) могут проигнорировать некоторые из них. Мы начнем с рассмотрения обязательных атрибутов — игнорировать эти атрибуты нельзя, потому что они влияют на процесс обработки записей каталогов. Атрибут каталога используется для идентификации записей каталогов, относящихся к каталогам (в отличие от файлов). Кластеры, ассоциированные с записью каталога, должны содержать новые записи каталогов. Атрибут длинного имени файла является признаком записей особого типа, имеющих другую структуру. Эта тема подробно рассматривается в разделе «Имя файла». Последний обязательный атрибут предназначен для хранения метки тома\ согласно спецификации, он может быть установлен только у одной записи. Я заметил, что в Windows ХР задаваемая пользователем метка тома сохраняется именно здесь, а не в загрузочном секторе. Если ни один из этих атрибутов не установлен, значит, запись относится к обычному файлу.
Также существует четыре необязательных атрибута, которые могут устанавливаться для каждого файла или каталога. Последствия их установки зависят от того, насколько жестко операционная система соблюдает соответствующие правила. Атрибут доступа только для чтения должен предотвращать запись в файл, однако эксперименты показали, что в системах Windows ХР и Windows 98 в каталогах, доступных только для чтения, возможно создание новых файлов. Атрибут скрытого файла должен исключать файлы и каталоги из выводимых списков, но обычно их вывод включается установкой параметра конфигурации ОС. Атрибут системного файла должен идентифицировать файл как системный, а атрибут архивного файла обычно устанавливается Windows при создании файла или записи в него. По состоянию этого атрибута программы архивации данных идентифицируют файлы, изменившиеся с момента создания последнего архива.
В каждой записи каталога хранится три временных штампа: для создания, последнего обращения и последней модификации. У FAT есть одна странная особенность: большой разброс точности в этих значениях. Время создания не является обязательным и измеряется с точностью до секунды; время обращения также не
обязательно и измеряется с точностью до дня; наконец, согласно спецификации время последней модификации является обязательным и измеряется с точностью до двух секунд. Никаких спецификаций по поводу того, при каких операциях должно обновляться то или иное время, не существует, поэтому каждая ОС, в которой используется FAT, реализует собственную политику обновления этих значений. В Windows 95+ и NT+ обновляются все временные штампы, a DOS и Windows 3.1 обновляют только время последней модификации. Время хранится с учетом местного часового пояса; это означает, что его не нужно преобразовывать в зависимости от местонахождения компьютера.
Статус выделения записи каталога определяется ее первым байтом. Для выделенной записи в первом байте хранится первый символ имени файла, а при ее освобождении он заменяется кодом 0хе5. Именно по этой причине программы восстановления FAT требуют ввести первую букву имени файла.
Цепочки кластеров
В записи каталога указывается начальный кластер файла, а структура FAT используется для поиска остальных кластеров в файле. Как упоминалось ранее, для выделенных кластеров запись FAT отлична от нуля. Ненулевая запись содержит адрес следующего кластера файла, маркер конца файла или значение, показывающее, что кластер содержит поврежденные секторы. Чтобы найти следующий кластер файла, достаточно найти запись кластера в FAT и определить, является ли он последним кластером в файле или за ним имеется другой кластер. Структура данных FAT и допустимые значения более подробно рассматриваются в главе 10.
Допустим, файл хранится в секторах 40,41 и 45. Чтобы прочитать содержимое файла, мы сначала обращаемся к полю начального кластера в записи каталога, значение которого равно 40. По размеру файла можно определить, что файл хранится в нескольких кластерах, поэтому мы обращаемся к записи FAT кластера 40. Запись содержит значение 41; это означает, что кластер 41 является вторым кластером в файле. Судя по размеру файла, необходим еще один кластер, поэтому мы обращаемся к записи FAT кластера 41 и находим значение 45.
Запись FAT кластера 45 содержит маркер конца файла (EOF), потому что этот кластер является последним в файле. Последовательный список кластеров иногда называют цепочкой кластеров; пример показан на рис. 9.9.



Максимальный размер файловой системы FAT зависит от размера записей FAT. Размер записи определяет максимальный адрес следующего кластера в цепочке; таким образом, адреса кластеров ограничены. В файловой системе FAT32 используются только 28 бит 32-разрядной записи, поэтому она позволяет адресовать только 268 435 456 кластеров (на самом деле немного меньше, потому что некоторые значения зарезервированы для маркера EOF и поврежденных кластеров).
Каталоги
При создании нового каталога для него выделяется кластер, заполняемый нулями. Поле «размер» в записи каталога не используется и всегда должно быть равно 0. Единственный способ определить размер каталога — использовать начальный кластер из записи каталога и следовать по цепочке кластеров структуры FAT до обнаружения маркера конца файла.
Первые две записи каталога предназначены для элементов «.» и «..». Эти обозначения хорошо знакомы пользователям, работающим в режиме командной строки. Имя «.» обозначает текущий каталог, а имя «..» — родительский каталог. В действительности они представляются записями каталога с установленным атрибутом каталога, но, похоже, система Windows не обновляет значения после их создания. Временные штампы создания, обращения и модификации сохраняют значения, заданные в момент создания каталога. Это поведение также может использоваться для проверки времени создания каталога, значение которого должно совпадать со значениями «.» и «..». Впрочем, подтвердить время последней модификации каталога невозможно, потому что записи «.» и «..» не обновляются при каждой модификации каталога. Ситуация показана на рис. 9.10: время создания dirl отличается от времени создания записей «.» и «..». Пользователь мог сделать это с целью маскировки своих действий, или же дата могла быть модифицирована каким-то приложением в системе.
Кластер 110              Кластер              196



Имя

Время создания

Кластер

dir2

3/30/04 01:29:01

128

diii

4/03/0411:47:40

196

file8.dat

3/30/04 20:41:12

112


Имя

Время создания

Кластер


4/1/04 09:27:00

196


4/1/04 09:27:00

110

file1.dat

4/3/04 12:58:23

297





Рис. 9.10. Время создания записи каталога не совпадает с временем создания записей «.» и «..»
Адреса записей каталогов
Как упоминалось ранее, существует только один стандартный способ адресации записей каталогов: использование полного имени файла или каталога, с которым она ассоциируется. При этом возникают минимум две проблемы, которые будут рассмотрены в этом разделе.
Допустим, потребовалось найти все выделенные структуры каталогов. Для этого мы начинаем поиск с корневого каталога и рекурсивно просматриваем все выделенные каталоги. В каждом каталоге мы анализируем 32-байтовую структуру и пропускаем свободные. Адрес каждой структуры образуется из имени каталога, просматриваемого в настоящий момент, и имени файла.



присваивается адрес 2 (потому что именно такой способ используется в большинстве файловых систем UNIX), а первой записи первого сектора присваивается адрес 3. На рис. 9.12 секторы 520 и 1376 представлены в расширенном виде, с показом адресов содержащихся в них записей. Каждый 512-байтовый сектор вмещает 16 структур записей каталогов, поэтому в секторе 520 хранятся записи 3-18.

Область FAT              Область              данных
Рис. 9.12. Адреса, назначаемые записям каталогов, определяются сектором и местонахождением записи внутри сектора


Пример образа
Следующий вывод istat, полученный для файла тестового образа, демонстрирует данные, существующие для типичного файла FAT. Запись каталога для этого файла анализируется в главе 10, а здесь приводится отформатированный результат: istat -f fat fat-4.dd 4 Directory Entry: 4 Allocated
File Attributes: File. Archive
Size: 8689
Name: RESUME-1.RTF
Directory Entry Times:
Written:              Wed              Mar 24 06:26:20 2004
Accessed:              Thu              Apr 8 00:00:00 2004
Created:              Tue              Feb 10 15:49:40 2004
Sectors:
1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663
Файлу выделено 18 секторов, что в данной файловой системе эквивалентно 9 кластерам. В выходных данных istat приводится время и дата создания, последнего обращения и модификации файла, а также атрибуты файла. Поскольку имя файла хранится в записи каталога, для его определения достаточно одного адреса, без полного пути.
<< | >>
Источник: Кэрриэ Б.. Криминалистический анализ файловых систем. 2007

Еще по теме Категория метаданных:

  1. Категория метаданных
  2. Категория метаданных
  3. Категория метаданных
  4. Категория метаданных
  5. Файлы метаданных файловой системы
  6. КАТЕГОРИИ ПРАКТИКИ И КАТЕГОРИИ АНАЛИЗА
  7. Категория имен файлов
  8. Категория данных файловой системы
  9. Категории данных
  10. Категория прикладных данных
  11. Методы анализа и категории данных
  12. 2.6. КАТЕГОРИИ КУЛЬТУРЫ
  13. Капитал категории
  14. Категория прикладных данных
  15. Категория имен файлов
  16. МИР МОРАЛЬНЫХ КАТЕГОРИЙ
  17. Категория данных
  18. ГЛАВА 7 ЭКОНОМИЧЕСКИЕ КАТЕГОРИИ. ЗАРАБОТНАЯ ПЛАТА