Некоммерческие наборы инструментов, предназначенные для судебного дублирования
vnode: преобразование обычного файла в устройство системы FreeBSD
Так же, как утилита losetup позволяет преобразовывать файл улик, созданный в результате судебного дублирования, в устройство, приспособленное для анализа, так и функция vnode системы FreeBSD позволяет выполнить ту же самую задачу. Устройство vnode в системе FreeBSD связывает обыкновенный файл с абстрактным устройством, обозначенным, как /dev/vn#, где # означает номер устройства, которое является произвольным и определяется пользователем. После того, как вы свяжите файл улик с устройством vnode, используя утилиту vnconfig, можете монтировать или анализировать вновь созданный специальный файл так, как это делаете с реальным жестким диском.
Реализация
Чтобы скомпилировать поддержку для 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