Форензика

Форензика

🗡️ Мудрый

Если ты когда-нибудь садился за чужой компьютер, восклицал «Елки-палки, да что же тут творилось-то?!» и пытался разобраться (а не начисто форматировал винт), то поздравляю: ты уже занимался форензикой. Только у специалистов круг задач намного шире: они расследуют инциденты, анализируют трафик, ищут сокрытые данные и прочие улики. Хочешь стать одним из таких спецов? Тогда давай посмотрим на основы этого мастерства и соберем коллекцию утилит и ссылок на ресурсы, которые помогут прокачать скилл.

 

Форензика как наука о расследовании киберпреступлений

Вообще, «форензика» — это калька с английского слова forensics, которое, в свою очередь, является сокращенной формой от forensic science, «судебная наука», то есть наука об исследовании доказательств. В русском это понятие чаще называют криминалистикой, а слово «форензика» закрепилось за компьютерной ее частью.

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

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

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

Сейчас все больше крупных компаний из тех, что имеют свой бренд услуг ИБ, в обязательном порядке заводят специализированную лабораторию и штат из нескольких экспертов по форензике. Также форензика часто идет в составе услуг компаний, которые далеки от сферы ИТ и занимаются, к примеру, финансовым аудитом. Ведь при расследовании финансового мошенничества до 100% всех доказательств может содержаться в компьютерных системах (ERP, CRM, BI, BPM и так далее).

Ну и конечно, эксперты по форензике — это неотъемлемая часть «управления К». Ведь чтобы возбудить уголовное дело по фактам компьютерных преступлений, сначала по нормам законодательства необходимо подтвердить сам факт преступления и определить его состав. Аналогично, если пострадавшая сторона обращается в суд за взысканием ущерба, возникшего из-за взлома, — тут уже без экспертизы никак не обойтись.

Отдельная тема — расследование целенаправленных атак, или 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) на английском языке, где вкратце описываются и сравниваются эти методы. И еще одна обзорная публикация — на небезызвестном портале InfoSec Resources.

 

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

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

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

WARNING

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

 


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

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

Как избежать случайной перезаписи анализируемого диска в Linux?

  • Смонтировать его с атрибутами o -ro
  • Подключить через blockdev --setro
  • Смонтировать как -o ro,loop

 


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

  • 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 — от старушки XP до Windows 10 (включая и релизы Windows Server).

WARNING

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

Что сложнее обнаружить во время анализа дисковых образов?

  • Файлы, скрытые методами стеганографии
  • Небольшие криптоконтейнеры с высокой энтропией
  • Данные, скрытые в псевдосбойных секторах

 


Анализ файлов

  • 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 из памяти.

Почему дамп памяти может оказаться неполным?

  • Часть данных находилась в файле подкачки
  • Использовалась программа Dementia или аналогичный софт
  • Дамп снимался с регистровой памяти RDIMM
  • Варианты 1 и 2
  • Варианты 2 и 3

 

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

  • 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-файлы) любого поставщика услуг беспроводной связи и визуального анализа соединений абонентов.

Конечно, это далеко не все инструменты, которые могут пригодиться, а только известные и часто встречающиеся программы. Более полный список тулз можно посмотреть в Wiki Forensic. На русском языке есть очень неплохой обзор 23 бесплатных инструментов на «Хабре», а также на страницах этого блога и еще вот здесь.

 

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

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

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

Демонстрация рабочего стола и меню утилит дистрибутива DEFT

 

Материалы для изучения

 


Книги

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

 


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

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

Где лучше учиться форензике?

  • В Московском университете МВД России
  • В Академии ФСБ России
  • На стажировке в антивирусной компании
  • На Coursera, EDX, Saylor и других онлайновых ресурсах

 

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

 


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

 


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

 


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

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

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

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

 


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

 

Заключение

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

Report Page