Компьютерная криминалистика (Форензика)

Форензика иконка

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

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

Еще по теме: Восстановление данных с помощью Scalpel

Форензика — компьютерная криминалистика

Слово «Форензика» появилось в русском языке от английского слова Forensics, что означает наука об исследовании доказательств или попросту говоря компьютерная криминалистика.

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

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

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

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

Отдельная тема — расследование целенаправленных атак, или APT. Их суть сводится к взлому целевых систем с использованием разнообразных векторов атак, инструментов, изощренных техник и методов, неизвестных до настоящего момента. На эту тему, кстати, на нашем сайте есть не мало добротных статей, например «Расследование попытки взлома Сбербанка».

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

Классификация компьютерной криминалистики

Любая наука склонна делиться на более мелкие темы. Чтобы окончательно почувствовать себя в институте, давайте прикинем карту классификации компьютерной криминалистики.

  • Computer forensics — к ней относится все, что связано с поиском артефактов взлома на локальной машине: анализ RAM, HDD, реестра, журналов ОС и так далее.
  • Network forensics, как понятно из названия, имеет отношение к расследованиям в области сетевого стека — например, дампу и парсингу сетевого трафика для выявления таких интересных вещей, как RAT, reverse shell, backdoor-туннелей и тому подобного.
  • Forensic data analysis посвящена анализу файлов, структур данных и бинарных последовательностей, оставшихся после атаки или использовавшихся при вторжении.
  • Mobile device forensics занимается всем, что касается особенностей извлечения данных из Android и iOS.
  • Hardware forensic — экспертиза аппаратного обеспечения и технических устройств (примеры тут, тут и еще тут, все ссылки — в PDF). Это направление наименее популярно и наиболее сложно. Сюда входит разбор данных на низком уровне (микроконтроллера, прошивки или BIOS), исследование специфических особенностей работы устройства, к примеру диапазона частот работы Wi-Fi-передатчика или внутреннего устройства скиммера, устанавливаемого на банкоматы.

Методы и техники компьютерной криминалистики

Как и в случае с анализом вредоносных программ, есть два основных подхода к экспертизе взломанной машины:

  • статический
  • динамический анализ

Статический анализ. Задачи статического анализа — создать (скопировать) образ жесткого диска или дампа оперативной памяти, выявить и восстановить удаленные файлы, остатки аномальных файлов в %TEMP% и системных директориях, собрать историю серфинга веб-браузера, системные логи (события авторизации, аудит доступа к файлам и директориям и так далее), получить список запущенных в памяти процессов и открытых коннектов сети.

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

Есть неплохая статейка (PDF) на английском языке, где вкратце описываются и сравниваются эти методы.

Основные инструменты форензики

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

Давайте посмотрим, какие инструменты по умолчанию должны быть в инструментарии эксперта Форензики. Начнем с самого главного — снятия образа диска для последующего анализа в лабораторных условиях.

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

Создание образа диска, раздела или отдельного сектора

  • FTK Imager — неплохой инструмент для клонирования носителей данных в Windows.
  • dc3dd (а также adulau/dcfldd) — улучшенные версии стандартной консольной утилиты dd в Linux.
  • Guymager — специализированное приложение для создания точных копий носителей (написано на C++, на базе Qt).
  • Paragon или Acronis — комбайны «все в одном» для просмотра, создания, изменения, копирования любых данных, разделов, отдельных секторов.

Обработка сформированных образов дисков

  • Imagemounter — утилита на Python, которая работает из командной строки и помогает быстро монтировать образы дисков.
  • Libewf — тулза и вместе с ней библиотека для обработки форматов EWF (Encase Image file Format).
  • Xmount — крохотная CLI-утилитка для конвертирования образов дисков в удобный формат с сохранением всей информации и метаданных.

Сбор данных с жестких дисков

  • DumpIt — утилита для создания дампа оперативной памяти машины. Проста и удобна.
  • Encase Forensic Imager — софтинка для создания базы доказательных файлов.
  • Encrypted Disk Detector — еще одна тулза для криптоаналитиков, помогает искать зашифрованные тома TrueCrypt, PGP и Bitlocker.
  • Forensics Acquisition of Websites — специальный браузер, предназначенный для захвата веб-страниц и последующего расследования.
  • Live RAM Capturer — годная утилита для извлечения дампа RAM, в том числе приложений, защищенных антиотладочной или антидампинговой системой.
  • Magnet RAM Capture — как и прошлый инструмент, предназначен для снятия RAM всех версий Windows — от ретро Windows XP до Windows 10 (включая и релизы Windows Server).

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

Анализ файлов найденных на жестких дисках

  • Crowd Inspect помогает в получении информации о сетевых процессах и списков двоичных файлов, связанных с каждым процессом. Помимо этого, линкуется к VirusTotal и другим онлайновым сервисам анализа вредоносных программ и службам репутации.
  • dCode преобразует разные типы данных в значения даты и времени.
  • Bstrings — программа для поиска в двоичных данных, есть поддержка регулярных выражений.
  • eCryptfs Parser рекурсивно анализирует заголовки каждого файла eCryptfs в выбранном каталоге или диске и выводит список шифрованных файлов.
  • Encryption Analyzer — утилита для анализа защищенных паролем и зашифрованных другими алгоритмами файлов, которая заодно анализирует сложность шифрования и предлагает варианты дешифровки.
  • File Identifier — программа для онлайнового анализа типа файлов по собственной базе сигнатур, которых уже больше двух тысяч.
  • Memoryze — утилита для анализа образов оперативной памяти, включая анализ файлов подкачки и извлечения оттуда данных.
  • ShadowExplorer — утилита для просмотра и дальнейшего извлечения файлов из теневых копий в системе Windows.
  • HxD — маленький и быстрый HEX-редактор.
  • Synalyze It! — HEX-редактор с поддержкой шаблонов, при этом быстр и в нем нет ничего лишнего.
  • wxHex Editor — кросс-платформенный HEX-редактор с возможностью сравнивать файлы и кучей других фич.

Извлечение данных из файлов

  • Bulk_Extractor — утилита для вылавливания email, IP-адресов и телефонов из файлов.
  • PhotoRec — утилита для извлечения данных и файлов изображений.

Обработка данных в оперативной памяти (RAM)

  • Forensics, Memory Integrity & Assurance Tool by invtero — крутой и навороченный фреймворк, который при этом быстро работает.
  • volatility — опенсорсный набор утилит для разностороннего анализа образов физической памяти.
  • Rekall — скрипт для анализа дампов RAM, написанный на Python.
  • KeeFarce — программа для извлечения паролей KeePass из памяти.

Анализ сетевого стека и браузеров

  • SiLK — прога для сбора, хранения и анализа данных сетевого потока. Идеально подходит для анализа трафика на магистрали или границе крупного распределенного предприятия или провайдера среднего размера.
  • Wireshark — всемирно известный сетевой анализатор пакетов (сниффер). Имеет графический пользовательский интерфейс и широкий набор возможностей сортировки и фильтрации информации.
  • NetworkMiner — инструмент сетевого анализа для обнаружения ОС, имени хоста и открытых портов сетевых узлов с помощью перехвата пакетов в формате PCAP.
  • chrome-url-dumper — крошечная программа для извлечения информации из браузера Google Chrome.
  • hindsight — еще одна утилитка для анализа истории Chrome.

Анализ email-сообщений

  • EDB Viewer — мощная утилита для просмотра файлов Outlook (EDB) без подключения сервера Exchange.
  • Mail Viewer — утилита для просмотра файлов Outlook Express, Windows Mail / Windows Live Mail, базы данных сообщений Mozilla Thunderbird и отдельных файлов EML.
  • OST Viewer — утилита для просмотра файлов OST Outlook, опять же без привязки к серверу Exchange.
  • PST Viewer — вариант предыдущей утилиты, служит для просмотра файлов PST Outlook.

Поиск артефактов на HDD и периферии

  • FastIR Collector — мощный функциональный сборщик информации о системе Windows (реестр, файловая система, сервисы, процессы, настройка окружения, автозагрузка и так далее).
  • FRED — кросс-платформенный быстрый анализатор реестра для ОС Windows.
  • NTFS USN Journal parser — парсер журналов USN для томов NTFS.
  • RecuperaBit — утилита для восстановления данных NTFS.

Специализированные паки и фреймворки

  • Digital Forensics Framework — платформа с открытым исходным кодом для извлечения и исследования данных. Есть варианты для CLI и GUI.
  • The Sleuth Kit и Autopsy — еще одна библиотека с открытыми исходниками и коллекция инструментов командной строки для анализа образов дисков.
  • Oxygen Forensic Detective — универсальный криминалистический инструмент для исследования данных мобильных устройств. Пак входящих в него утилит позволяет выполнять полное извлечение данных, проводить исчерпывающий анализ данных, хранящихся на телефонах и в облачных хранилищах. В наличии есть Forensic Cloud Extractor — встроенная служебная программа, собирающая данные из облачных служб хранения данных; средство Forensic Maps — программа, работающая с данными геоинформационных систем (GPS); Forensic Call Data Expert — программа для импорта записей данных о вызовах (так называемые CDR-файлы) любого поставщика услуг беспроводной связи и визуального анализа соединений абонентов.

Конечно, это далеко не все инструменты, которые могут пригодиться, а только известные и часто встречающиеся программы.

Собираем свою лабораторию

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

Подробнее о том, какие бывают дистрибутивы, читайте в статье «Дистрибутивы для криминалистического анализа». Ясное дело, можно собрать и свой, но зачем, если есть специализированные? Лично я предпочитаю DEFT или, как вариант, Remnux, но CAINE и Parrot OS тоже достойны внимания, не говоря уже о платных Encase и SMART Linux.

Компьютерная криминалистика Форензика
Компьютерная криминалистика (Форензика). Демонстрация рабочего стола и меню утилит дистрибутива DEFT

Материалы для изучения компьютерной криминалистики

Книги

Так вышло, что русскоязычной литературы по компьютерной криминалистики практически нет. Да оно и неудивительно, форензика как прикладная деятельность стала популярна относительно недавно.

  • Н. Н. Федотов. Форензика — компьютерная криминалистика с материалами книги и PDF, доступная для загрузки. Это единственный на русском языке и наиболее полный труд, системно рассказывающий о форензике. Из минусов — многие вещи, описанные в книге, на сегодня устарели. Однако это все-таки must read как для начинающих, так и для тех, кто уже занимается криминалистикой в сфере высоких технологий.
  • Network Forensics 1st Edition — этот труд посвящен особенностям экспертизы систем на сетевом уровне. Хорошее пособие, с основ и по шагам рассказывающее о сетевом стеке и методах его анализа.
  • File System Forensic Analysis 1st Edition — труд, аналогичный предыдущему, но посвященный исключительно анализу файлов и файловой системы взломанных машин.
  • Practical Mobile Forensics — хороший вариант для новичков, желающих заняться мобильной форензикой.
  • The Basics of Digital Forensics:The Primer for Getting Started in Digital Forensics — еще одна книга, которую можно порекомендовать новичкам для уверенного старта.
  • Windows Forensic Analysis Toolkit: Advanced Analysis Techniques for Windows 8 — само название книги говорит о продвинутых техниках экспертизы и особенностей применения именно в Windows 8.
  • Practical Windows Forensics Paperback — неплохое пособие по форензике ОС, файловой системы, реестра, сети и съемных носителей.
  • Digital Forensics with Kali Linux — можно сказать, это гайд по встроенным утилитам из раздела форензики дистрибутива Kali Linux.
  • Windows Registry Forensics: Advanced Digital Forensic Analysis — книга концентрируется на особенностях парсинга системного реестра Windows, извлечении данных и особенностях, появившихся с Windows 8.
  • Computer Forensics: Investigating File and Operating Systems, Wireless Networks, and Storage (CHFI) by EC-Council — официальный мануал по курсу обучения CHFI с уклоном на исследование артефактов Wi-Fi-сетей и носителей данных.
  • Malware Forensics Field Guide for Windows Systems — хоть эта книга и не имеет прямого отношения к «классической» форензике, но все же стоит ее почитать, особенно если ты расследуешь инциденты с уклоном в сторону малвари.
  • CHFI Computer Hacking Forensic Investigator Certification All-in-One Exam Guide 1st Edition — официальное издание по курсу обучения CHFI. Рассмотрены все основные темы и вопросы с экзамена.
  • Practical Forensic Imaging: Securing Digital Evidence with Linux Tools — книга, целиком посвященная правильному подходу к созданию корректного образа взломанной системы для ее дальнейшего ресерча в лабораторных условиях. Считаю, что это must read для тех, кто начинает заниматься ремеслом криминалистической хай-тек-экспертизы.

Материалы и курсы

Для тех, кто хочет проверить свои знания в деле форензики, доступен бесплатный онлайновый тест Computer Forensics Fundamentals.

Полезные ссылки

Мобильная форензика

Остальные направления

Площадки для тренировки

После изучения матчасти, я уверен, вы готовы ринуться в бой, чтобы проверить свои навыки. Но вряд ли у каждого будет возможность сразу попасть на «живое» расследование. Начинать тренировки лучше, как говорилось в классическом фильме, «на кошках». В данном случае в роли фарфоровых кошек из «Операции Ы» выступают заранее подготовленные образы с артефактами, которые нужно извлечь и проанализировать.

  • Memory samples — набор дампов памяти от Windows до Linux с зашитыми в них артефактами.
  • p0wnlabs Sample Challenges — набор свободно скачиваемых заданий на темы web sleuthing и deleted file recovery.
  • Wireshark Sample Captures — репозиторий дампов сетевого трафика.

Краткие руководства и примеры парсинга дампов сетевого трафика можно найти тут, вот тут и на русском вот еще тут.

  • Computer Forensic Reference Data Sets (CFReDS) — репозиторий образов для тренировки навыков криминалистической экспертизы.
  • Digital Forensics Tool Testing Images — еще один архив снимков ФС.
  • Digital Corpora — портал организации Digital Corpora, созданный для энтузиастов киберфорензики, с семплами для тестирования своих навыков.
  • BlackLight — коммерческий набор инструментов и демопак для тестирования навыков.

Другие полезные ресурсы

Заключение

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

Дима (Kozhuh)

Эксперт в кибербезопасности. Работал в ведущих компаниях занимающихся аналитикой компьютерных угроз. Анонсы новых статей в Телеграме.

Добавить комментарий

  1. Игорь

    Тема интересная, хотелось бы продолжение.

    Ответить
  2. vitalino

    Действительно интересный материал! Побольше бы кейсов по форензике.

    Ответить
  3. 4324

    Добро пожаловать в криминалистику, детка!

    Ответить