Опубликован: 20.02.2007 | Доступ: свободный | Студентов: 3483 / 787 | Оценка: 4.42 / 4.03 | Длительность: 40:03:00
Лекция 21:

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

md5sum и md5: ратификация собранных улик

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

Инструмент md5sumMD5 ) поставляется с большинством операционных систем Unix, имеющих открытые исходные коды. Для системы Windows набор инструментальных средств Cygwin содержит исполняемый файл md5sum (см. лекцию "Cygwin" ).

Реализация

Инструмент, предназначенный для вычисления контрольной суммы MD5 файла в системе Linux, называется md5sum и обычно поставляется с большинством дистрибутивов Linux. Опции для утилиты md5sum таковы:

forensic# md5sum -справка

Использование: md5sum [ОПЦИЯ] [ФАЙЛ]...
            Или: md5sum [ОПЦИЯ] --проверка [ФАЙЛ]
Напечатать или проверить контрольные суммы MD5 (128 битовые).
Если ФАЙЛ отсутствует, или если ФАЙЛ задан как "-", следует стандартный ввод.
    -b, --binary    читает файлы в двоичном режиме (в системах DOS/Windows
	                задано по умолчанию)
    -c, --check     проверяет суммы MD5 в соответствии с заданным списком
    -t, --text      читает файлы в текстовом режиме 
                    (задано по умолчанию)
Следующий две опции полезны только при проверке контрольных сумм:
    --status        ничего не выводится, код состояния показывает success (успех)
    -w, --warn      предупреждает о неверно отформатированных строках 
                    контрольной суммы

    --help          отображает эту справку и выходит
    --version       выводит информацию о версии и выходит
21.1.

Вы вызываете инструмент, задавая один параметр - файл, контрольная сумма которого будет рассчитана. Для судебных целей, все контрольные суммы MD5 будут рассчитываться в двоичном режиме. Следовательно, вы всегда должны использовать ключ -b.

Ниже продемонстрировано вычисление контрольной суммы MD5 для нескольких файлов улик, которые мы скопировали:

forensic# ls
disk.1.bin disk.2.bin disk.3.bin disk.4.bin

forensic# md5sum -b * md5sums.txt

После получения списка файлов из файла контрольной суммы MD5, ратификация их проста. Ее можно выполнить, указав ключ -c и файл контрольной суммы MD5.

forensic# md5sum -c md5sums.txt
disk.1.bin: OK
disk.2.bin: OK
disk.3.bin: OK
disk.4.bin: OK

Если хотя бы 1 бит файла улик изменен, будет выведено сообщение о несовпадении контрольных сумм. Мы открыли двоичный редактор и заменили первый бит с 1 на 0 в файле disk.4.bin. Если мы сравним контрольные суммы MD5 с помощью утилиты md5sum, то получим следующие результаты:

forensic# md5sum -c md5sums.txt
disk.1.bin: OK
disk.2.bin: OK
disk.3.bin: OK
disk.4.bin: FAILED
md5sum: WARNING: 1 of 4 computed checksums did NOT match

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

Примечание. Важно отметить, что утилита md5sum была перенесена на операционную систему Windows. md5sum является частью расширенного дистрибутива Cygwin, который вы изучили в лекции "Cygwin" . В Windows-версии все опции и ключи точно такие же, как и в версии Linux. Единственное различие, которое мы заметили при выполнении, состоит в том, что версия Windows не всегда подразумевает ключ -b, и именно поэтому мы рекомендуем, чтобы вы привыкли указывать его явно.

В системе FreeBSD инструмент расчета контрольной суммы MD5 называется MD5. Он является частью базовой операционной системы и работает подобно своим аналогам для Windows и Linux. Применение MD5 следующее:

forensic# md5 <имя файла>

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

forensic# md5 /dev/ad0
MD5 (/dev/ad0) = aa935fb10922184c9c2a8423a1f4e56c

forensic# md5/mnt/storage/disk.bin
MD5 (/mnt/storage/disk.bin) = aa935fb10922184c9c2a8423a1f4e56c