Введение в форензику
Компьютерная криминалистика — это методы компьютерной обработки улик/доказательств для получения информации в расследования преступлений.
6К открытий7К показов
Компьютерная криминалистика (форензика) — прикладная наука о раскрытии преступлений, связанных с компьютерной информацией, об исследовании цифровых доказательств, методах поиска, получения и закрепления таких доказательств. Она состоит из трёх частей:
- Сбор данных — процесс получения информации из первоисточника без их повреждения или изменения. Для этого есть множество инструментов в зависимости от ОС и других особенностей, в статье рассмотрим инструменты на основе Linux.
- Сохранение данных — полученные цифровые улики должны быть сохранены в своем первоначальном состоянии, используя криптографические алгоритмы хэширования.
- Анализ данных — интерпретация данных и извлечение информации из них.
Сбор данных
Если подозреваемый установил руткиты для уничтожения улик по команде, существует вероятность потери важного контента. В таких случаях применяется цепочка хранения доказательств — документ с информацией о том, как обрабатывались улики, для дальнейшей отчётности. Цепочка начинается с обработки улик.
Перед началом нужна подготовка:
- загрузочный диск или флешка, поскольку инструментам подозреваемых нельзя доверять;
- мощная машина для следователя.
Сначала нужно получить данные, которые наиболее изменчивы. На самом деле они изменяются уже при их сборе, поэтому надо постараться оставить как можно меньше следов. Это сложная задача, поскольку обычные инструменты могут внести изменения в исследуемую среду. Например, использование команды cp
изменит время последнего доступа к исходному файлу. Рассмотрим некоторые инструменты.
Эта команда выведет список всех открытых файлов, принадлежащих любым активным процессам. Её можно использовать с различными параметрами. Например, lsof -i IP_adress
будет перечислять список интернет-соединений, принадлежащих данному IP-адресу. Она также поможет найти вредоносные процессы, которые используют скрытые дисковые пространства.
Netcat
использует сетевые подключения для чтения и записи через протоколы TCP или UDP. Эту команду можно использовать для передачи или извлечения данных на рабочую станцию эксперта.
Также стоит взглянуть на uname -a
, ifconfig
, date
и uptime
. Всё это может пригодиться для сбора улик. Можно проверить, подключён ли злоумышленник к целевой машине, используя w
.
Для считывания памяти можно использовать lime — загружаемый модуль ядра, который позволяет извлекать данные из энергозависимой памяти Linux.
Для энергонезависимых данных следует использовать dd
. Этот инструмент встроен в большинство систем Linux. Допустим, для подготовки экспертного диска и затирания /dev/hda
одними нулями можно использовать dd if=/dev/zero of=example
. Скопировать улики можно следующим образом: dd if=stuff of=evidence/stuff.dd
. Если использовать dd
с netcat
, сначала устанавливается слушатель, а затем ему отправляются данные.
Терминал слушателя:
Терминал отправителя:
Сохранение данных
Для сохранения доказательств экспертиза использует криптографические алгоритмы хеширования . Суть компьютерной криминалистики — доказать, что улики совпадают с первоисточником, для этого достаточно вычислить хеши. Если хеши одинаковы, два файла должны быть одинаковыми.
Для этого хорошо подойдёт MD5 или SHA. Рассмотрим команду md5sum
. Создадим файл ex_file
, содержащий строку «hello there». Прочтём исходное содержимое с помощью cat
, а затем вычислим хеш.
Если изменить файл, например, добавив в строку «hiya», хеш изменится.
Совсем другое дело, если есть два файла с одинаковым содержимым, но разными именами.
Как можно видеть, хеш одинаковый. Другим примером этого является изменение разрешений.
Хеш остался прежним.
Анализ данных
Получение полезной информации из данных является важной задачей. Начать можно с определения разделов с помощью fdisk our_device
. После этого можно использовать dd
для выделения наиболее примечательных разделов. С помощью инструмента Sleuthkit получаем файл с информацией о разделах (команда mmls our_file.dd
). Можно определить тип носителя с помощью опции -t
(команда mmls -t dos our_file.dd
). Для монтирования образов можно использовать mount
. Монтирование должно быть только в режиме чтения (read-only
).
Не менее важная вещь — MAC. Этот инструмент даёт доступ к нужной информации, например, дате создания или изменения файлов. Такую проверку следует проводить в начале экспертизы, так как такая информация очень чувствительна к изменениям. Используйте комбинацию команд fls
и mactime
.
Мы рассмотрели лишь малую часть инструментов для компьютерной криминалистики. В форензике очень важно умело владеть инструментами операционной системы. Если вы хотите лучше изучить Linux, советуем эту подборку книг.
6К открытий7К показов