Реклама на сайте




Выполнение судебного анализа


Судебный анализ — это процесс, который использует исследователь для обнаружения информации, значимой для исследования. Процесс судебного анализа можно разделить на две категории: физический анализ и логический анализ.

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

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

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

Выполнение физического анализа

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

Когда программное обеспечение копирования безусловно сохраняет систему, вы можете анализировать данные с помощью трех основных процессов: поиск строки, процесс поиска и извлечения и извлечение свободного пространства и незаполненных остатков кластеров файлов или файловых зазоров (file slack — память, которая существует от конца файла до конца последнего выделенного для файла кластера). Все операции выполняются на судебных копиях на восстановленной копии доказательства. Поиски строк для создания списков данных будут часто выполняться. Они будут полезны при дальнейших фазах исследования. Некоторые создаваемые списки включают:

• Все URL Web-сайтов в запоминающей среде
• Все адреса e-mail в запоминающей среде
• Все найденные соответствия строке поиска, которые включают специфические для случая ключевые слова

Выполнение поиска строки

Первым процессом физического анализа является поиск строки во всей файловой системе. Наиболее аккуратной утилитой в среде DOS является String Search, написанная Дэнни Маресом. Эта утилита возвращает контекст найденной строки, а также смещение байтов от начала файла. При просмотре результатов поиска строки имеется удобный сценарий для преобразования смещения в абсолютное значение сектора.

Выполнение поиска и извлечения

Некоторые типы случаев могут получить преимущество от специальных форм поиска строки. Это процесс поиска и извлечения, который является вторым из трех методов, используемых во время физического анализа. Приложение будет просматривать файл судебной копии в поисках заголовков типов файлов, соответствующих типу случая, с которым мы работаем. Когда встречается соответствие, утилита извлекает заданное число байтов. Например, при исследовании лица, которое подозревается в распространении нелегальной порнографии, просматривается судебная копия и извлекаются фрагменты данных, которые начинаются со следующей шестнад-цатеричной строки:
$4А $46 $49 $46 $00 $01

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

Извлечение файлового зазора и свободного пространства

Неиспользуемые остатки файловой системы существуют во всех файловых системах. Типы остатков распадаются на две категории: свободное, или нераспределенное пространство, и неактивное (slack) пространство.

Свободным пространством является любая информация на жестком диске, которая в данный момент не выделена для файла. Свободное пространство может быть пространством, которое никогда не выделялось файлу или пространством, которое считается освобожденным после удаления файла. Поэтому содержимое свободного пространства может быть фрагментами удаленных файлов. Свободное пространство может располагаться в любой дисковой области, которая не распределена для активного файла, такой как пустой блок данных в середине третьего раздела или нераспределенный сектор 4253 на диске. Он не является частью раздела, так как попадает между заголовком раздела и таблицей размещения первого файла. Информация предыдущих записей может по-прежнему находиться в этих областях и быть недоступной для обычных пользователей. Чтобы выполнить анализ свободного пространства, необходимо работать на физическом уровне копии. Неактивное пространство возникает, когда данные записываются на запоминающую среду порциями, которые не могуг заполнить блок минимального размера, определенный операционной системой.

Если мы решаем извлекать файловые зазоры и свободное пространство, то это становится третьим основным процессом физического анализа. Такой процесс требует утилиты, которая понимает определенную используемую файловую структуру. Если вы активно работаете на правоохранительное агентство, то вполне можете использовать набор утилит, созданный Royal Canadian Mounted Police. Эти утилиты продолжают оставаться наиболее точными из тех, что уже использовались. Коммерческие организации могут приобрести утилиты у NTI. Утилиты NTI являются одними из немногих, которые могут надежно извлекать файловые зазоры и неиспользуемое пространство из NTFS компании Microsoft.

Некоторые организации, как в коммерческом секторе, так и в правительственном (в частности, NASA Office of the Inspector General) разработали свои собственные утилиты для выполнения всех этих задач за одну операцию. Эта автоматизация сбора информации помогает аналитику сэкономить время.

Логический анализ

Во время логического просмотра файлов вы сможете увидеть содержимое каждого раздела с помощью операционной системы, которая понимает файловую систему. На этом этапе делается большинство ошибок при обработке доказательства. Исследователь должен знать обо всех действиях, которые реализуются на восстановленной копии. Поэтому редко используются более "удобные" операционные системы, такие как Windows 95/NT, 2000. Здесь также основная цель состоит в защите доказательства от изменения.

Монтирование или обращение к восстановленной копии из операционной системы, которая сама использует этот формат файловой системы, является достаточно рискованным, так как процесс монтирования обычно недокументирован, недоступен для открытого доступа и непроверяем. Восстановленная копия должна быть защищена, поэтому монтируется каждый раздел под Linux в режиме только для чтения. Смонтированная файловая система затем экспортируется с помощью Samba в безопасную лабораторную сеть, где системы Windows 2000, загруженные вместе с просмотрщиками файлов, могут внимательно рассмотреть файлы. Подход диктуется самим случаем. Если берется судебный дубликат системы Irix 6.5, вероятно, не будет использоваться Windows 2000 для просмотра данных.

Предположим, что имеется восстановленная копия системы Windows 98 на втором диске IDE. Вы уже знаете из выполненных ранее тестов, что первый раздел был отформатирован с помощью FAT32. Вы хотите смонтировать диск под Linux. Команда монтирования первого раздела второго диска IDE в режиме только для чтения под /mnt/evidl выглядит следующим образом:
# mount -г -t msdos /dev/hdbl /mnt/evidl

Затем вы захотите предложить эту файловую систему своим системам Windows с помощью протокола SMB (Server Message Block). Конфигурационные параметры для файла /usr/local/etc/smb.conf будут следующими:
[restored]
comment = Read-only access to restored image path = /mnt/evid1 read only = yes

После перезапуска процесса Samba можно безопасно делать логический анализ под Windows 2000.

Определение места доказательства

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

• Логическое файловое пространство Относится к блокам жесткого диска, которые во время исследования являются либо выделенными для активного файла, либо для учетной структуру файловой системы (такой как таблицы FAT или структуры inode).
• Неактивное пространство Состоит из блоков файловой системы, которые частично используются операционной системой. Мы называем все типы неиспользуемых файловых остатков, такие как файловые зазоры и зазоры в RAM как неактивное пространство.
• Нераспределенное пространство Любой незапрошенный сектор, независимо от того, попадает он или нет в активный раздел.
Данные на жестком диске делятся на уровни, аналогично уровням сетевой модели OSI. Вы найдете информацию доказательного значения на всех этих уровнях. Задача состоит в поиске подходящего инструмента для извлечения информации.

Физический уровень

Самым нижним уровнем системы хранения файлов является физический уровень. Он всегда присутствует, независимо от операционных систем, которые находятся на жестком диске. Машина будет читать и записывать на жесткий диск блоками или секторами. Большинство типов процессорных архитектур, включая Intel и Sun Sparc, используют 512-байтный размер сектора. Это минимальный размер буфера, который будет пересылаться с жесткого диска.

Абсолютные секторы начинаются с нуля и увеличиваются до конца диска. Оборудование Intel также предоставляет пользователю через BIOS интерфейс цилиндр/головка/сектор (C/H/S). Это обозначение, используемое оборудованием для вычисления абсолютных номеров секторов, обычно не применяется в системах на основе SCSI, так как контроллер SCSI обрабатывает все трансляции внутренне.
Много особенностей существует в системе C/H/S при работе с большими дисками. Прекрасное объяснение этих вопросов можно найти в книге Scott Mueller, Upgrading and Repairing PCs (Que, 2000).

Уровень классификации данных

Сразу над уровнем абсолютных секторов лежат таблицы разделов. Разделы являются способом деления диска на отдельные области, обычно для различных операционных систем или функций операционных систем. Microsoft Windows присваивает буквы дисков форматированным разделам FAT или NTFS. В UNIX каждый раздел содержит отдельную часть файловой системы в целях безопасности или надежности системы.

Если вы знакомы с Solaris или другой разновидностью BSD, то можно использовать термин секция (slice). Секции являются в BSD эквивалентом разделов. Однако таблица хранится совершенно другим образом, поэтому не надейтесь, что редактор диска правильно покажет таблицы разделов BSD. Некоторые системы UNIX на платформах Intel используют гибридные таблицы разделов, где таблица основного раздела (master) соответствует спецификации DOS. Однако первые несколько секторов раздела UNIX определяют секции в этом разделе DOS. Это предоставляет операционной системе UNIX требуемую гибкость, поддерживая в то же время возможность сосуществования с другими операционными системами на одном и том же диске.

Уровень формата блока

Следующий уровень хранения файловой системы относится к коэффициенту блокирования, который используется операционной системой. Размер блоков зависит от трех переменных: типа файловой системы, размера файловой системы и знаний системного администратора, так как большинство файловых систем UNIX можно индивидуализировать.

Каждая файловая система определяет свою собственную схему размещения данных в среде хранения. Большинство используют размер блока, оптимизированный для размера диска или раздела. Не так давно, когда жесткие диски имели 32 Мбайта, Microsoft DOS FAT 12 выделяла 4096 байт для каждого блока, или кластера. Это отображалось в 8192 размещенные единицы. Что произошло бы, если бы мы использовали тот же размер кластера на диске 2.1 GB? При 4096 байт на кластер мы будем иметь 524288 размещенных единиц для поиска каждый раз, когда захотим записать или обновить файл. Более новые версии этих файловых систем используют скользящий масштаб.

Увеличение размера размещаемых единиц имеет также недостатки. Представим сохранение небольшого текстового файла из Windows Notepad. На диске в 2 Гбайта придется использовать 32768 байт, независимо от того, действительно ли вы напечатаете 32768 буквы или введете 10-цифро-ВСИ телефонный номер. Со временем это создаст большой объем неиспользуемого пространства. Более развитые файловые системы, такие как Linux ЕХТ-2 и BSD UFS, используют небольшой размер блока и делят раздел па управляемые отрезки, каждый со своей собственной таблицей распределения. Это "неиспользуемое" пространство будет интересовать нас в дальней ШСМ, поэтому помните о нем.

Уровень размещения области памяти

Уровень хранения файлов над уровнем коэффициента блокирования является таблицей размещения. Существуют две, иногда больше ста таблиц размещения. В системе FAT (FAT12, FAT16 и FAT32) они называются таблицами FAT (File Allocation Table). Каждый раздел имеет две таблицы FAT, которые расположены в начальном секторе раздела.

Файловые системы UNIX имеют множество таблиц размещения файлов, распределенных по диску. Существует таблица для каждого подблока, так как UFS и ЕХТ2 делят каждый раздел на меньшие отрезки, называемые группами. Эти таблицы являются жизненно важными, так как они содержат битовые отображения размещения блоков, отслеживающих, какие блоки данных используются. Большинство современных операционных систем выполняют проверку через заданные интервалы, чтобы обеспечить достоверность информации таблицы. Если таблицы разрушаются, для восстановления файлов в разделе обычно требуется углубленный анализ.
Если у вас есть свободные дни, вы можете намеренно испортить пару таблиц FAT. Фактически мы полагаем, что близкое знакомство с файловыми системами и их структурами является жизненно важным шагом в понимании компьютерных судебных доказательств.

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

В качестве упражнения в восстановлении файла начните на логическом уровне. Откройте диск с помощью Norton Unerase и восстановите файловую систему с помощью команды Search for Lost Filenames (Поиск потерянных имен файлов). Вы заметите, что если файлы восстанавливаются на своем месте, то вероятность восстановления файлов в последующем во время анализа будет уменьшаться. Norton Unerase сделает все что может, чтобы предсказать правильную последовательность блоков данных. Предположим, что каждый блок данных занимает 2048 байт и файловая система будет FAT 16. Это означает, что нумерация кластеров начинается с 2.
Отметим, что таблица размещения блоков является просто "цепочкой", по которой движется операционная система при реконструкции файла. Каждый блок может иметь одно из трех значений. Если для файла существуют дополнительные блоки данных, то блок указывает на следующий блок в цепочке. Если блок данных является последним блоком файла, то он содержит маркер конца файла (EOF), шестнадцатеричное значение от FF F8 до FF FF. Если блок данных не может надежно хранить данные, операционная система пометит его как "Bad" (Плохой), задавая значение FF F7. В этом примере мы фрагментируем файловую систему, добавляя более 1485 байт в файл TEST.1.

Сотрем оба файла. Операционная система MS DOS стирает файлы двухшаговым процессом. Сначала она помечает записи каталога как недействительные, заменяя первый символ символом сигмы в нижнем регистре (шестнадцатеричное значение Е5). Затем она очищает цепочку FAT, помечая все блоки данных как пустые.

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

Norton Unerase, подобно большинству программ восстановления файлов, ищет в дереве каталогов имена файлов, которые начинаются с символа-заполнителя сигма (шестнадцатеричного Е5). Когда такой символ найден, приложение начинает с кластера со смещением, указанным в записи каталога. Если этот кластер не объявлен другим файлом в таблице размещения блоков, файл помечается как хороший кандидат для восстановления. Приложение будет затем предполагать, что следующие п кластеров (где п равно размеру файла, определенному в записи каталога, деленному на размер кластера) принадлежат данному файлу. В этом примере размер исходного файла равен 13566 байт, или 7 кластерам. 7 кластеров, следующих за начальным кластером, отмечены как свободные. Так как таблица размещения блоков была очищена, то приложение Unerase не имеет возможности, кроме предположения, что файлы являются смежными.

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

Программа отметит файл, как обладающий низкой вероятностью восстановления, так как не существует способа узнать, были ли перезаписаны данные файла.

Когда файлы восстанавливаются в другой области памяти, никакие изменения не записываются в таблице размещения блоков. Хотя это не поможет проблеме с фрагментированным файлом (где блоки данных 5 и 6 предполагаются частью файла TEST.1), это позволит аналитику восстановить наибольшее число файлов с жесткого диска. Это также удовлетворяет основному требованию, что доказательство (или восстановленная копия) не изменяется никаким образом.

Такие программы, как PGP, Evidance Eliminator и Shredder, вступают в действие там, где операционная система заканчивает удаление файлов. Они перехватывают запрос операционной системы на удаление файла и реально обнуляют или стирают блоки данных, которые составляют файл. Когда это происходит, ограничивается возможность исследователя восстановить возможное доказательство. При выполнении анализа на системе, которая имеет активной подобную функциональность, помните, что сама операционная система по-прежнему является небрежной. То, что файл accounts.txt был стерт, не означает, что информация не находится где-то в другом месте на диске.

Теперь, когда вы имеете хорошее представление о работе различных структур файловой системы, попробуйте выполнить всю операцию в Norton Disk Edit. Это отличный учебный эксперимент, но может быть лучше сначала попробовать выполнить его на свободном диске DOS 6.22, прежде чем пытаться сделать это на системе Windows 2000 на своем рабочем месте.

Уровни классификации информации и памяти приложений

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

НАГЛЯДНЫЙ ПРИМЕР

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

Анализ жесткого диска с помощью целенаправленного поиска строки обнаружил больше совпадений, чем ожидалось, и привел к фрагментам текста, которые не являлись частью активного файла. Интересующий фрагмент оказался в конце записки самоубийцы, вне самого реального файла. Фрагмент был ранним черновиком, который по-прежнему был в памяти компьютера при сохранении самой последней версии. Когда текстовый процессор сохранял документ, он передал информацию операционной системе для вывода на жесткий диск. Данные не выравнивались по 512-байтному блоку, поэтому другая часть памяти использовалась для "заполнения" блока данных до 512 байтов. Более того, файловая система не выделила бы частичные блоки, поэтому необходимо записать файл в 32-Кбайтный отрезок. Это создает две части неиспользуемых системных остатков, известных как зазоры памяти и файловые зазоры соответственно.

Благодаря поведению операционной системы мы смогли восстановить более раннюю версию записки самоубийцы. Следователи смогли ответить на основной вопрос: было ли это самоубийство или хорошо спланированное убийство?

Следом доказательства (trace evidance) называются фрагменты информации, которые могут иметь влияние на исследование. Цифровые следы доказательства можно найти в свободном пространстве или в неактивном пространстве, которые были описаны ранее в разделе "Извлечение файловых зазоров и свободного пространства".

Итоги

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