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

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

vnode: преобразование обычного файла в устройство системы FreeBSD

Так же, как утилита losetup позволяет преобразовывать файл улик, созданный в результате судебного дублирования, в устройство, приспособленное для анализа, так и функция vnode системы FreeBSD позволяет выполнить ту же самую задачу. Устройство vnode в системе FreeBSD связывает обыкновенный файл с абстрактным устройством, обозначенным, как /dev/vn#, где # означает номер устройства, которое является произвольным и определяется пользователем. После того, как вы свяжите файл улик с устройством vnode, используя утилиту vnconfig, можете монтировать или анализировать вновь созданный специальный файл так, как это делаете с реальным жестким диском.

Примечание. Монтирование файловой системы обеспечивает только логическое представление исходной файловой системы. Хотя каждый бит и доступен через устройство loopback, базовая инсталляция операционных систем Unix не имеет никаких инструментальных средств для быстрого просмотра файлов, удаленных из файловой системы.
Реализация

Чтобы скомпилировать поддержку для vn, необходимо добавить строку, подобную следующей, к своему файлу конфигурации ядра:

pseudo-device vn

Затем ядро должно быть повторно скомпилировано, а машина перезагружена. Вы также можете выполнить команду ./MAKEDEV all в каталоге /dev, чтобы создать файлы устройств.

Далее показаны опции командной строки для утилиты vnconfig:

forensic# vnconfig
usage: vnconfig [-cdeguv] [-s option] [-r option] [-S value] special_file ¬
[regular_file] [feature]
            vnconfig -a [-cdeguv] [-s option] [-r option] [-f config_file]

Следующая команда демонстрирует связывание файла улик, созданного из исходного жесткого диска, со специальным файлом устройства, /dev/vn0, чтобы смонтировать его в виде обычной файловой системы.

forensic# vnconfig /dev/vn0 /mnt/storage/disk.bin

forensic# fdisk /dev/vn0

******* Working on device /dev/vn0 *******
parameters extracted from in-core disklabel are:
cylinders=2495 heads=255 sectors/track=63 (16065 blks/cyl)

Figures below won"t work with BIOS for partitions not in cyl 1
parameters to be used for BIOS calculations are:
cylinders=2495 heads=255 sectors/track=63 (16065 blks/cyl)

Media sector size is 512
Warning: BIOS sector numbering starts with sector 1
Information from DOS superblock is:
The data for partition 1 is:
sysid 12,(DOS or Windows 95 with 32 bit FAT, LBA)
    start 63, size 40082112 (19571 Meg), flag 0
        beg: cyl 0/ head 1/ sector 1;
        end: cyl 1023/ head 254/ sector 63
The data for partition 2 is:
<UNUSED>
The data for partition 3 is:
<UNUSED>
The data for partition 4 is:
<UNUSED>

После того как файл улик был связан с виртуальным узлом, можно использовать все команды, которые управляют файлами на устройстве. Конечно, вы должны установить профилактические меры для защиты файла улик от модификации. Самая простая мера заключается в изменении доступа к файлу улик на статус "только чтение", с помощью команды chmod 400 <имя файла> перед тем, как он будет связан с виртуальным узлом.

Следующая команда демонстрирует монтирование копии исходного носителя, управляемого системой Window, в системе FreeBSD:

forensic# mount -t msdos -o ro /dev/vn0s1 /mnt/evidence
forensic# ls /mnt/evidence
Сергей Хлюкин
Сергей Хлюкин
Россия, Москва, Московский Государственный Открытый Университет, 2007
Игорь Касаткин
Игорь Касаткин
Россия, Москва