загрузка...

Основы анализа

  Задача анализа томов возникает достаточно часто, хотя это и не всегда очевидно. Во многих случаях эксперт снимает информацию со всего жесткого диска и импортирует образ в аналитическую программу для просмотра содержимого файловой системы. Чтобы определить, где начинается и заканчивается файловая система, программа должна проанализировать таблицы разделов.
У анализа структуры разделов томов имеется еще одно важное применение: некоторые секторы, не принадлежащие ни одному разделу, могут содержать данные из предыдущей файловой системы или другую информацию, которую подозреваемый пытается скрыть. Иногда система разделов может оказаться поврежденной или стертой, и тогда средства автоматизированного анализа работать не будут.
Методы анализа
Базовый принцип анализа томов прост: мы хотим найти таблицы разделов, обработать их и узнать структуру диска. Затем полученные данные передаются программе анализа файловой системы, которой необходимо знать смещение разделов, или выводятся на печать, чтобы пользователь мог выбрать данные для анализа. В некоторых случаях данные, находящиеся в разделах или в пространстве между разделами, приходится извлекать из родительского тома (см. далее). Для анализа данных в разделах необходимо решить, к какому типу они относятся. Чаще всего это данные файловых систем, которые будут рассматриваться в третьей части книги.
Чтобы проанализировать компоненты системы томов, необходимо найти и обработать структуры данных с информацией об объединяемых томах и о том, как именно это делается. Как будет показано в главе 7, существует много способов объединения томов. Мы займемся поиском данных, не используемых в процессе объединения и содержащих информацию от предыдущей установки или скрытую.

Проверка целостности
При анализе систем томов бывает полезно проверить каждый раздел по отношению к другим разделам. Возможно, результат выявит другие возможные местоположения улик, не принадлежащих ни одному разделу. Системы разделов чаще всего не требуют, чтобы записи хранились в отсортированном порядке, поэтому перед проведением проверки вы или ваша аналитическая программа можете отсортировать их по адресу начального или конечного сектора.
Проверки первого типа находят последний раздел и сравнивают его конечную границу с концом родительского тома. В идеальном случае последний раздел завершается в последнем секторе тома. На рис. 4.6 (А) изображена ситуация, при которой последний раздел заканчивается перед концом тома, и на томе могут оставаться секторы со скрытыми или удаленными данными.
Проверки второго типа сравнивают начальный и конечный секторы смежных разделов; возможны четыре варианта. В первом варианте (рис. 4.6 (В)) между двумя разделами находятся секторы, не входящие ни в один из них. Секторы, не принадлежащие к разделам, могут содержать скрытую информацию, поэтому их обязательно необходимо проанализировать. Второй вариант (рис. 4.6 (С)) встречается практически во всех системах; второ.й раздел здесь начинается сразу же после первого.
А)
Раздел 1
D)              Е)
Раздел 1              Раздел              1






Раздел 2

Раздел 2

Рис. 4.6. Пять вариантов взаимного расположения разделов.
Первые три варианта допустимы, последние два — нет


Третий вариант (рис. 4.6 (D)), при котором второй раздел начинается раньше завершения первого, в общем случае недопустим. Секторы двух разделов перекрываются, что, как правило, свидетельствует о повреждении таблицы разделов. Чтобы определить, какие разделы допустимы (и есть ли они вообще), необходимо проанализировать данные в каждом разделе. Четвертый вариант показан на рис. 4.6 (Е); как правило, он тоже недопустим. Второй раздел находится внутри первого, и для определения ошибки необходимо проанализировать содержимое обоих разделов.

Получение содержимого разделов
Некоторые программы в качестве входных данных должны получать образы разделов. А может быть, вам потребуется извлечь данные из разделов (или промежуточного пространства) в отдельный файл. В этом разделе будет показано, как производится выборка данных, а описанные методы работают во всех системах разделов. Если структура разделов известна, выборка данных становится несложным делом. Вы уже знаете, как это сделать при помощи программы dd, ранее описанной в главе 3.
Программа dd работает в режиме командной строки, а при вызове ей передается ряд аргументов. Для получения данных из разделов потребуются следующие параметры: if — образ, из которого читаются данные; of — выходной файл для сохранения данных; bs — размер читаемого блока (512 байт по умолчанию); skip — количество блоков (размера bs), пропускаемых перед чтением; count — количество блоков (размера bs), копируемых из ввода в вывод.
Чаще всего выбирается размер блока 512 байт, совпадающий с размером сектора. По умолчанию размер блока в dd тоже равен 512 байтам, но всегда надежнее указать его явно.
Мы воспользуемся параметром skip для указания начального сектора, в котором начинается раздел, и параметром count для указания количества секторов в разделе.
Рассмотрим пример системы разделов на базе DOS. Утилита mmls из пакета The Sleuth Kit выводит содержимое таблицы разделов. Ее выходные данные будут более подробно описаны далее, но даже сейчас нетрудно понять, что на диске существуют три раздела файловых систем:
# mmls -t dos diskl.dd Units are in 512-byte sectors


Slot

Start

End

Length

Description

00


0000000000

0000000000

0000000001

Table #0

01


0000000001

0000000062

0000000062

Unallocated

02

00:00

0000000063

0001028159

0001028097
/>Win95 FAT32 (OxOB)

03


0001028160

0002570399

0001542240

Unallocated

04

00:03

0002570400

0004209029

0001638630

OpenBSD (0xA6)

05

00:01

0004209030

0006265349

0002056320

NTFS (0x07)


Утилита mmls упорядочивает содержимое таблицы разделов по начальному сектору и выделяет секторы, не принадлежащие ни одному разделу. Первые две строки (00 и 01) описывают основную таблицу разделов и неиспользуемое пространство между таблицей разделов и первым разделом. Из листинга видно, что строка определяет раздел с файловой системой FAT32, строка 04 относится к разделу OpenBSD, а строка 05 — к разделу с файловой системой NTFS. Строка 03 обозначает нераспределенное дисковое пространство. Графическое представление этих данных показано на рис. 4.7.
Чтобы извлечь разделы файловых систем из образа диска, следует отметить начальный сектор и размер каждого              раздела и передать их dd: dd              if=diskl.dd              of=partl.dd              bs=512              skip=63 count=1028097 dd              if=diskl.dd              of=part2.dd              bs=512              skip=2570400 count=1638630 dd              if=diski.dd              of=part3.dd              bs=512              skip=4209030 count=2056320

s 1 028 097              1              542              240              ^              1              638              630              2              056              320


FAT32

He распределено

OpenBSD

NTFS

^ i

k i

k A

k i

l A

0 63              1              028              160              2              570 400              4 209 030              6              265 349
Рис. 4.7. Структура образа диска из примера


Эти команды берут входные данные из файла diskl.dd и сохраняют вывод в файлах с именами parti.dd, part2.dd и part3.dd. Во всех случаях размеры копируемых блоков составляют 512 байт. Перед извлечением первого раздела dd пропускает 64 блока, а затем копирует следующие 1 028 097 блоков. В выходных данных mm Is мы видели, что раздел начинается с сектора 63, поэтому вроде бы пропускать нужно только 62 блока. Однако следует вспомнить, что адресация секторов начинается с 0, поэтому мы пропускаем 63. Расширение .dd указывает на то, что файлы содержат физические образы, созданные программой dd или ее аналогом.
Некоторые программы выводят только начальный и конечный секторы каждого раздела, а размер разделов приходится вычислять самостоятельно. Для этого следует вычесть начальный сектор из конечного и прибавить 1 (вычитание определяет расстояние между двумя числами, но в нашем случае последнее число необходимо включить в результат). Например, в предыдущем примере размер первого раздела составит - 63 + 1 - 1028097
Чтобы понять, для чего нужно прибавлять 1, рассмотрим простой пример: раздел начинается с сектора 2 и заканчивается в секторе 4. Его размер равен 3 секторам:
4 - 2 + 1 - 3
Программа dd также может использоваться для выборки данных, находящихся между разделами. Например, из выходных данных mmls мы знаем, что секторы с 1 028 160 по 2 570 399 не используются. Их содержимое извлекается командой dd if=diski.dd of=unalloci.dd bs=512 skip=1028160 count=1542240
Другие низкоуровневые программы (такие, как шестнадцатеричные редакторы) также предоставляют возможность сохранения последовательных секторов в файлах. 
<< | >>
Источник: Кэрриэ Б.. Криминалистический анализ файловых систем. 2007

Еще по теме Основы анализа:

  1. Н. В. Войтоловский, А. П. Калинина, И. И. Мазурова. Экономический анализ: Основы теории. Комплексный анализ хозяйственной деятельности организации : учебник. 2-е изд., перераб. и доп. — М.: Высшее образование. — 513 с. — (Университеты России)., 2007
  2. Анализ эффективности природопользования иа основе экобалансов
  3. ГЛАВА 2 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНВЕСТИЦИОННОГО АНАЛИЗА
  4. Глава 1. ТЕОРЕТИЧЕСКИЕ И МЕТОДОЛОГИЧЕСКИЕ ОСНОВЫ АНАЛИЗА РЕГИОНАЛЬНЫХ АСПЕКТОВ МЕЖДУНАРОДНЫХ ОТНОШЕНИЙ
  5. 8.2. МЕТОДИЧЕСКИЕ ОСНОВЫ АНАЛИЗА ИНВЕСТИЦИОННОЙ ПРИВЛЕКАТЕЛЬНОСТИ ОРГАНИЗАЦИИ
  6. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ЭКОНОМИЧЕСКОГО АНАЛИЗА ДЕЯТЕЛЬНОСТИ ОРГАНИЗАЦИЙ
  7. 1.1. Организация разработки решений руководителем на основе системного анализа складывающейся обстановки
  8. 1.6. Взаимосвязь производственного и финансового анализа. Характеристика управленческого анализа
  9. 4.4.2. Диагностический анализ инновационной среды организации по методу БУУОТ-анализа
  10. 2.2. ЭКОНОМИЧЕСКИЙ, ПРАВОВОЙ И ПОЛИТИЧЕСКИЙ АНАЛИЗ В КОНТЕКСТЕ ЗАДАЧ МЕЖДУНАРОДНОГО МЕНЕДЖМЕНТА. СТРАНОВЫЙ МАРКЕТИНГОВЫЙ АНАЛИЗ
  11. 6. Анализ спроса. Оценка затрат или анализ процентных и непроцентных расходов
  12. Т е м а: ОСНОВЫ КОНСТИТУЦИОННОГО СТРОЯ РОССИЙСКОЙ ФЕДЕРАЦИИ. ОСНОВЫ ПРАВОВОГО СТАТУСА ЧЕЛОВЕКА И ГРАЖДАНИНА В РОССИЙСКОЙ ФЕДЕРАЦИИ (2 часа)
  13. ЧАСТЬ III ОСНОВЫ ГОСУДАРСТВА И ПРАВА РОССИЙСКОЙ ФЕДЕРАЦИИ Раздел V КОНСТИТУЦИОННО-ПРАВОВЫЕ ОСНОВЫ ГОСУДАРСТВЕННОЙ ОРГАНИЗАЦИИ РОССИЙСКОЙ ФЕДЕРАЦИИ
  14. Раздел IX ОСНОВЫ МЕЛЭДУНАРОДНО-ПРАВОВОГО РЕГУЛИРОВАНИЯ Глава 33. ОСНОВЫ ПРАВОВОГО РЕГУЛИРОВАНИЯ МЕЖДУНАРОДНЫХ ОТНОШЕНИЙ
  15. Галагузова М.А., Галагузова Ю.Н., Штинова Г.Н., Тищенко Е.Я., Дьяконов Б. "Социальная педагогика: курс лекций (введение в профессию "социальный педагог", основы социальной педагогики, основы социально-педагогической деятельности)" - М., Гуманит. изд. центр ВЛАДОС. - 416 с., 2001
  16. 11.10. Факторный анализ показателей рентабельности продукции
  17. Контент-анализ