Прежде чем рассматривать конкретные структуры данных NTFS, необходимо упомянуть об особой методике хранения данных, используемой для повышения надежности. Система NTFS включает специальные маркеры в структуры данных, длина которых превышает один сектор. Два последних байта каждого сектора большой структуры данных заменяются специальной сигнатурой при записи структуры данных на диск. В дальнейшем сигнатура используется для проверки целостности данных - система проверяет, что у всех секторов одной структуры данных эта сигнатура совпадает. Обратите внимание: маркеры включаются только в структуры данных, но не в секторы с содержимым файлов.

Структуры данных, использующие маркеры, содержат заголовочные поля с указанием текущей 16-разрядной сигнатуры и массива исходных значений. Когда структура данных записывается на диск, сигнатура увеличивается на 1, два последних байта каждого сектора копируются в массив, а на их место записывется сигнатура. При чтении структуры данных ОС убеждается в том, что два последних байта каждого сектора совпадают с сигнатурой, после чего восстанавливает исходные данные из массива. На рис. 13.1 показана структура данных с реальными данными и версия, записываемая на диск. Во второй структуре два последних байта каждого сектора заменены сигнатурой 0x0001.

Рис. 13.1. Структура данных, состоящая из нескольких секторов: исходные значения и сигнатуры, записанные в два последних байта каждого сектора

Маркеры используются для выявления поврежденных секторов и структур данных. Если в многосекторной структуре данных был успешно записан только один сектор, его маркер будет отличаться от сигнатуры, и ОС поймет, что данные были повреждены. Первое, что необходимо сделать при рассмотрении наших примеров структур файловых систем, - это заменить маркеры реальными данными.

Базовые концепции | Криминалистический анализ файловых систем | Записи mft (файловые записи)


Криминалистический анализ файловых систем



Новости за месяц

  • Апрель
    2020
  • Пн
  • Вт
  • Ср
  • Чт
  • Пт
  • Сб
  • Вс
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31