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


К категории содержимого относятся адреса ячеек носителя информации, ассоциированных с файлами и каталогами и предназначенных для сохранения информации. Данные этой категории обычно делятся на группы равного размера; я буду называть эти группы блоками данных, хотя в каждой файловой системе используется свой термин (например, кластер или блок). Блок данных может находиться в одном из двух состояний: выделенном или свободном. Как правило, существует некоторая структура данных, в которой хранится информация о состоянии каждого блока данных.
При создании нового или расширении существующего файла ОС ищет свободный блок данных и выделяет его файлу. Различные стратегии поиска будут рассмотрены далее, в разделе «Стратегии выделения». Когда файл удаляется, выделенные ему блоки данных переводятся в свободное состояние и могут выделяться новым файлам. Большинство ОС не стирает содержимое блоков данных при их переводе в свободное состояние, хотя некоторые ОС и программы «надежного удаления» предоставляют такую возможность.
Анализ данных содержимого проводится с целью восстановления удаленных данных и проведения низкоуровневого поиска. Объем данных содержимого относительно велик, поэтому анализ обычно проводится в автоматизированном режиме. Например, если эксперт может проанализировать содержимое 512-байтового сектора за 5 секунд, то при 12-часовом рабочем дне на анализ 40-гигабайтного диска ему потребуется 388 дней.
Общие сведения
В этом разделе рассматриваются механизмы адресации блоков данных, способы их выделения и обработки поврежденных блоков данных файловой системой.
Логические адреса файловой системы
Сектор может обладать несколькими адресами для разных уровней абстракции. При обсуждении методов снятия данных мы видели, что каждому сектору назначается физический адрес, отсчитываемый от начала носителя информации. В томах секторам назначаются логические адреса томов, отсчитываемые от начала тома.
В файловых системах используются логические адреса томов, но наряду с ними секторам назначаются логические адреса файловой системы; это связано с группировкой смежных секторов для формирования блоков данных. В большинстве файловых систем каждому сектору тома назначается логический адрес файловой системы. В качестве примера системы, в которой секторам не назначаются логические адреса файловой системы, молено привести систему FAT.

На рис. 8.2 показан том с 17 секторами и их логическими адресами. Внизу приведены логические адреса файловой системы. Вымышленная файловая система создает блоки данных, каждый из которых состоит из двух секторов, причем присваивание адресов начинается с сектора 4. Эта очень маленькая файловая система завершается в секторе 15, а сектор 16 образует резервное пространство тома.
0 12 3 4 5 6 7 8 9 10 11 12 13 14 15 16


0 1 2 3 4 5

Логический адрес тома
Логический
адрес
файловой
системы

Рис. 8.2. Пример тома, в котором файловая система назначает адреса группам из двух секторов, а некоторые секторы исключаются из логической адресации


Стратегии выделения
В операционных системах используются разные стратегии выделения блоков данных. Чаще всего ОС выделяет смежные блоки данных, но это не всегда возможно. Файл, который не состоит только из смежных блоков данных, называется фрагментированным.
В стратегии первого доступного блока поиск начинается с первого блока данных в файловой системе. После того как первый блок будет выделен и потребуется выделить второй блок, поиск снова начинается от начала файловой системы. Данная стратегия часто приводит к появлению фрагментированных файлов, потому что память под файл выделяется не как единое целое, а по частям. Представьте себе театр, в котором стратегия выделения первого доступного блока используется для бронирования мест. Если группа из четырех зрителей захочет купить билеты, кассир последовательно переберет свободные места, начиная с первого ряда. Возможно, всей четверке достанутся соседние места; а может быть, двое будут сидеть в первом ряду, а еще двое — в последнем.
Если же во время поиска кто-то из зрителей вернет билет в кассу, третий может оказаться ближе к первому ряду, чем первые двое. В примере на рис. 8.3 при использовании этой стратегии следующим будет выделен блок данных 1. В операционных системах, использующих стратегию выделения первого доступного блока, удаленные данные в начале файловой системы перезаписываются быстрее, чем при использовании других алгоритмов. Следовательно, попытка восстановления удаленного содержимого в конце файловой системы с большей вероятностью увенчается успехом.
0 1 2 3 4 5 6 7

Выделено :

Последний
выделенный
блок


Свободно
Рис. 8.3. Пример выделения 8 блоков данных

В похожей стратегии поиска следующего доступного блока поиск начинается не с начала, а с последнего выделенного блока данных. Например, после выделения блока данных 3 на рис. 8.3 поиск начнется с блока 4, а не с 0. В нашем примере с театром поиск продолжится не с первого ряда, а с последнего забронированного места. Даже если во время поиска будет возвращен билет на первый ряд, он не будет продан до того, как поиск достигнет последнего места. Такой алгоритм лучше сбалансирован для восстановления данных, потому что блоки данных в начале файловой системы выделяются заново лишь после выделения всех блоков до ее конца.
Стратегия оптимальной подгонки ищет смежные блоки данных, объем которых позволит сохранить заданное количество данных. Такой способ хорошо работает, если количество блоков известно заранее, но при увеличении размера файла новые блоки данных, скорее всего, будут выделены в другом месте, и файл все равно фрагментируется. Если алгоритм не может найти смежный блок нужного размера, он может использовать стратегию поиска первого или следующего доступного блока. Обычно именно такой алгоритм применяется при бронировании мест в театре. Кассир перебирает пустые места, пока не найдет достаточно соседних мест для вей группы. Скажем, если бы в примере на рис. 8.3 потребовалось выделить два блока данных, то файл попал бы в блоки данных 4 и 5 и не был бы разбит между блоками 1 и 4.
Каждая ОС выбирает стратегию выделения блоков данных по своему усмотрению. В спецификациях некоторых файловых систем указано, какая стратегия должна в них использоваться, однако обеспечить выполнение этого требования невозможно. Проверьте реализацию файловой системы, прежде чем считать, что она использует указанную стратегию.
Кроме проверки стратегии выделения на уровне операционной системы также следует учитывать специфику приложения, записывающего данные. Например, при обновлении существующих файлов некоторые приложения открывают исходный файл, обновляют его и сохраняют новые данные поверх исходных. Другое приложение может создать копию исходного файла, обновить ее и переименовать копию так, чтобы она перезаписала оригинал. В этом случае файл сохраняется в новых блоках данных. Не путайте поведение приложения со стратегией выделения, потому что ОС не заставляла приложение выделять новые блоки данных.
Поврежденные блоки данных
Во многих файловых системах предусмотрена возможность пометки поврежденных блоков данных. Когда-то это было необходимо, потому что старые жесткие диски не умели обрабатывать ошибки. Операционной системе приходилось самой выявлять поврежденные блоки данных и помечать их, чтобы они не выделялись файлам. Современные жесткие диски обнаруживают поврежденные секторы и подбирают им замену из числа свободных секторов, поэтому эта функциональность файловой системы стала излишней.
Механизм пометки поврежденных блоков данных (если он поддерживается) позволяет легко скрывать данные. Как правило, программы проверки целостности диска не проверяют, действительно ли поврежден блок данных, который помечен как поврежденный. Таким образом, пользователь может вручную включить блок данных в список поврежденных и разместить в нем свою информацию. Многие программы снятия данных выводят список реально поврежденных секторов,
чтобы его можно было сравнить со списком помеченных секторов и выявить секторы, вручную включенные в список для хранения скрытой информации.
<< | >>
Источник: Кэрриэ Б.. Криминалистический анализ файловых систем. 2007

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

  1. Категория содержимого
  2. Категория содержимого
  3. Категории данных
  4. Категория данных
  5. Категория данных файловой системы
  6. Методы анализа и категории данных
  7. Категория данных файловой системы
  8. Категория прикладных данных
  9. Категория данных имен файлов
  10. Категория данных файловой системы
  11. Категория прикладных данных
  12. Категория данных имен файлов
  13. Категория прикладных данных
  14. КАТЕГОРИИ ПРАКТИКИ И КАТЕГОРИИ АНАЛИЗА
  15. 3. Защита прав на программы для ЭВМ и базы данных Регистрация программ для ЭВМ и баз данных
  16. Хранение и использование персональных данных работников. Передача персональных данных работников