Опубликован: 20.02.2007 | Уровень: специалист | Доступ: платный
Лекция 21:

Некоммерческие наборы инструментов, предназначенные для судебного дублирования

Аннотация: Набор инструментов, обсуждаемый в этой лекции, позволяет сделать то же самое, что и набор инструментов из предыдущей лекции, но может быть собран бесплатно, что является его преимуществом. За короткое время вы можете легко им овладеть, если прочитаете эту лекцию

В лекции "Коммерческие наборы инструментов для судебного дублирования" было рассмотрено несколько наборов инструментов, выполняющих судебное дублирование, которые распространяются на коммерческой основе. Набор инструментов, обсуждаемый в этой лекции, может быть собран бесплатно. За короткое время вы можете легко им овладеть.

В связи с быстрым распространением операционных систем с открытым исходным кодом, типа Linux, OpenBSD, NetBSD и FreeBSD, широкой публике стал доступен целый набор инструментальных средств (и исходных текстов), которого прежде никогда не было. Многие из общих системных инструментальных средств администрирования типа dd, losetup, vnconfig и md5sum могут использоваться для расследования инцидентов так же эффективно, как их коммерческие аналоги.

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

Аналогично обсуждавшейся в предыдущей лекции необходимости в надежной загрузочной дискете (или компакт-диске), судебное дублирование с некоммерческим программным обеспечением предъявляет те же самые требования. Поскольку Linux - операционная система с открытым исходным кодом, было создано много успешных разработок, заставивших Linux выполняться с компакт-дисков или дискет без обращения к жесткому диску. Мы предлагаем вам испробовать систему Trinux, которая распространяется как система Linux, предназначенная для работы с компакт-диска. Операционную систему Trinux можно исследовать на сайте http://trinux.sourceforge.net. Кроме того, аналогичный вариант системы FreeBSD предлагается на сайте http://sourceforge.net/projects/freebsdtogo/ и имеет подходящее название: FreeBSD To Go (передвижная FreeBSD).

На приведенной схеме этапов расследования мы все еще находимся на стадии судебного дублирования.

dd: инструмент судебного дублирования

Инструмент dd используется для побитного копирования одного файла в другой. Копирование битов таким способом является основой всех инструментальных средств судебного дублирования. Инструмент dd универсален, а его исходный текст доступен публике. Кроме того, dd может компилироваться на почти любой платформе Unix. В этом разделе обсуждаются методы, которые может реализовать инструмент dd для выполнения судебного дублирования.

Инструмент dd первоначально был написан Полом Рубином (Paul Rubin), Дэвидом Маккензи (David MacKenzie) и Стюартом Кемом (Stuart Kem) для преобразования данных. Исходный текст и справочная страница фактически не сообщают того, что dd значит на самом деле, представляя его в целом как "программу, предназначенную для дампа данных". Инструмент dd включен в пакет файловых утилит GNU (GNU fileutils) и его можно загрузить с сайта http://mirrors.kernel.org/gnu/fileutils/.

Реализация

Опции командной строки утилиты dd, подходящие для судебного дублирования, следующие.

  • if. Указывает входной файл, который нужно читать.
  • of. Указывает выходной файл, в который будет сделан вывод.
  • bs. Указывает размер блока в байтах, для чтения и записи.
  • count. Указывает число блоков, предназначенных для копирования из входного файла в файл вывода.
  • skip. Указывает число блоков от начала, которые должны быть пропущены, перед чтением из входного файла.
  • conv. Позволяет задавать дополнительные параметры, некоторые из которых следующие:
    • notrunc. Не позволит оборвать вывод в случае ошибки;
    • noerror. Не будет прекращать чтение входного файла в случае ошибки (то есть, если были считаны запорченные блоки, процесс будет продолжаться).
    • sync. Заполнит соответствующие биты вывода нулями, если возникнет ошибка ввода. Это происходит только в том случае, если опция используется вместе с опцией notrunc.

Очевидно, что dd работает с файлами, а не непосредственно на физических устройствах. Однако операционные системы Unix с открытыми исходными кодами, типа Linux и FreeBSD, реализуют устройства, как файлы. Эти специальные файлы, расположенные в каталоге /dev, разрешают прямой доступ к устройствам через операционную систему. Следовательно, входными файлами в dd могут быть целые жесткие диски, разделы жестких дисков или другие устройства. При создании судебной копии жесткого диска входным файлом будет файл устройства жесткого диска (то есть, /dev/hdb в Linux или /dev/ad1 в FreeBSD). При создании судебной копии отдельного раздела, входной файл будет файлом устройства раздела (то есть, /dev/hdb1 в Linux или /dev/ad1s1 в FreeBSD).

Естественно, далее надо рассмотреть адресата для дублирования. Адресатом может быть другой жесткий диск (с использованием упомянутых файловых устройств), который называется побитовой копией исходного жесткого диска. Можно расширить эту идею за пределы использования жестких дисков в качестве носителя информации адресата и использовать вместо дисков накопитель на магнитной ленте, хотя это и более медленный метод. Адресатом может быть также обычный файл (обозначаемый так же, как файл улик), сохраненный в любой файловой системе, как логический файл. Это обычный способ хранения наиболее современных судебных копий, из-за легкости манипуляций при перемещении файла улик между устройствами памяти. Наконец, адресатом может быть стандартный вывод (то есть вывод на дисплей). Хотя здесь мы не можем ничего делать с данными, выводимыми непосредственно на экран (стандартная команда out), далее в этом разделе мы исследуем метод дублирования, который полагается на стандартный вывод.

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

Множество опций утилиты dd помогут сделать судебное дублирование более эффективным. Например, вы можете управлять размером блока, который будет копироваться, чтобы ускорить процесс для хоста, на котором выполняется dd ; ключ bs обычно устанавливается на 1Кб или 1Мб. Другая опция, которую вы должны использовать - это ключ conv, позволяющий дополнительным (необязательным) параметрам управлять процессом копирования. Параметры noerror и notrunc представляют две особо рекомендуемые опции. Эти ключи позволят игнорировать случаи чтения плохих блоков с исходных носителей, так что копирование продолжится, не обрывая вывод улик. Дополнительная опция sync, используемая с noerror, будет вызывать преобразование плохих блоков из ввода в нули в выводе.

Примечание. При дублировании компакт-диска убедитесь, что использованный размер блока кратен 2048 байтам.

Хорошей практикой при выполнении судебного дублирования является создание файла регистрации, чтобы вы могли обращаться к нему в будущем или сделать его доступным для судебных слушаний. Команда script системы Unix позволит перехватить ввод и вывод на консоль Unix или в сеансе xterm и сохранить его в файле. Также желательно выполнение следующей команды перед запуском дублирования. После окончания дублирования наберите exit.

forensic# script /root/disk.bin.duplication
Внимание. В следующих разделах будет продемонстрировано выполнение судебного дублирования как на судебном компьютере (компьютер адресата) так и исходной машине (компьютере-жертве), а также дублирование по сети. При сохранении файла сценария не сохраняйте его на том носителе, который вы дублируете, так как это уничтожит часть улик. Поскольку этот файл не велик, лучше сохранить его на гибком диске, если его нельзя сохранить в логической файловой системе на жестком диске адресата.
Сергей Хлюкин
Сергей Хлюкин
Россия, Москва, Московский Государственный Открытый Университет, 2007
Игорь Касаткин
Игорь Касаткин
Россия, Москва