Как стать компьютерным криминалистом

Обновлено: 06.07.2024


В прошлом году гуманисты торжествовали, узнав новость о том, что количество тяжких преступлений в мире за последние 10 лет сократилось, и ощутимо. Убийств в США стало на 51% меньше, чем в 1992 году. Развитые страны как одна показывают улучшающуюся статистику.

Но полиция США поспешила вернуть с небес на землю тех, кто верит в человечество. Моральный облик людей не изменился, просто раскрываемость преступлений выросла на те же 40-50%, и все преступники, которые могли бы убивать, сидят по тюрьмам. Благодаря работе криминалистов.

О профессии

Название: цифровой криминалист

Когда появилась: в 1910 году, в приближенном к современному виде — более 30 лет назад

Кому подходит: выпускникам ведомственных вузов

Заработок: от 40 000 рублей

Клиенты: госструктуры и частные лица

С ростом количества технических новинок у полиции прибавляется работы. Если раньше приходилось анализировать только содержимое жёсткого диска домашнего и рабочего компьютеров подозреваемого или жертвы, то теперь исследуются массивы данных, сохранённых на мобильных устройствах. Делать это вручную невозможно, поэтому, отвечая запросам следователей, разработчики софта создают специальные программы. К примеру, Elcomsoft iOS Forensic Toolkit поможет извлечь содержимое айфона за 20-40 минут, а программно-аппаратный комплекс «Мобильный криминалист» компании Oxygen сможет за короткое время сопоставить базы контактов из разных устройств и построить связи между номерами телефонов. Читать километры истории в Skype или ICQ больше не нужно: за минуты компьютер сам их прочтёт и проанализирует на наличие триггеров — подозрительных слов.

Специалисту-криминалисту приходится постоянно следить за новыми техническими средствами, которые появляются у преступников и жертв, разбираться в принципах работы всё новых социальных сетей и учиться в них взаимодействовать с подозреваемыми. Пока сделать это достаточно просто: преступники ещё не привыкли к пристальному вниманию к своим аккаунтам со стороны правоохранительных органов. Полиция Нью-Йорка в прошлом году арестовала свыше 50 членов враждующих между собой преступных группировок. Аресты были произведены после тщательного наблюдения за их действиями в социальной сети Facebook. Преступники из группировки Rockstarz повели себя довольно глупо — сфотографировались в одежде убитого врага и вывесили фото с провокационной подписью.

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

Частные лаборатории при сыскных агентствах в США уже составляют треть всех криминалистических лабораторий. Развитие этой отрасли подтолкнула киноиндустрия и многочисленные сериалы вроде CSI, Lie to Me, отмечает профессор Вила. В России в частных агентствах, где основной массив заказов — слежка за предположительно неверным супругом, знание технологий анализа данных в соцсетях и мобильных устройствах тоже нелишнее.

Мы поговорили с Павлом Когтевым, экс-сотрудником Следственного комитета, отдела криминалистики.

Как попал в профессию

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

Мне нравится криминалистика тем, что именно мы подытоживаем всю доказательную базу, проверяем достоверность доказательств и сами находим улики.

Как строится работа

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

Я занимался пропавшими без вести, много копался в чужом грязном белье. Первые подозреваемые в таких случаях — семья. Был один случай: исчез мужчина, супруг предпринимательницы средней руки. Она же обратилась с заявлением. Навели справки, выяснили, что пропавший выпивал, вёл разгульный образ жизни, имел нескольких любовниц. Вызвали его жену на допрос, и в разговоре проскочила информация о том, что она никогда не ложится спать позже 22:00. Подняли распечатку звонков телефона, выяснили, что ей звонили дважды — в 22:30 и в 00:30 — в ночь пропажи мужа, и оба раза она трубку взяла. Пробили телефон по IMEI-коду, нашли в другом городе владельца — голодного студента. Он говорит: «Потерял аппарат в такси». Нашли таксиста, который телефон продал. Проверили даму на полиграфе, допросили ещё раз. И вот такая цепочка раскрутилась и привела нас к ней.

Где учиться

В специализированных учебных заведениях при МВД.

Перспективы

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

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


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

Дистрибутивы

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

Digital Evidence & Forensics Toolkit: DEFT Linuix

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

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

image

Фреймворки

Одним из самых популярных фреймворков является Volatility Framework — фреймворк для исследования образов содержимого оперативной памяти и извлечения цифровых артефактов из энергозависимой памяти (RAM).
Извлекаемые данные:

  • дата и время;
  • список запущенных процессов;
  • список открытых сетевых сокетов;
  • список открытых сетевых соединений;
  • список загруженных библиотек для каждого процесса;
  • имена открытых файлов для каждого процесса;
  • адреса памяти;
  • модули ядра ОС;
  • маппинг физических смещений на виртуальные адреса.
  • 32-bit Windows XP Service Pack 2 and 3
  • 32-bit Windows 2003 Server Service Pack 0, 1, 2
  • 32-bit Windows Vista Service Pack 0, 1, 2
  • 32-bit Windows 2008 Server Service Pack 1, 2 (there is no SP0)
  • 32-bit Windows 7 Service Pack 0, 1
  • 32-bit Windows 8, 8.1, and 8.1 Update 1
  • 32-bit Windows 10 (initial support)
  • 64-bit Windows XP Service Pack 1 and 2 (there is no SP0)
  • 64-bit Windows 2003 Server Service Pack 1 and 2 (there is no SP0)
  • 64-bit Windows Vista Service Pack 0, 1, 2
  • 64-bit Windows 2008 Server Service Pack 1 and 2 (there is no SP0)
  • 64-bit Windows 2008 R2 Server Service Pack 0 and 1
  • 64-bit Windows 7 Service Pack 0 and 1
  • 64-bit Windows 8, 8.1, and 8.1 Update 1
  • 64-bit Windows Server 2012 and 2012 R2
  • 64-bit Windows 10 (including at least 10.0.14393)
  • 64-bit Windows Server 2016 (including at least 10.0.14393.0)
  • 32-bit Linux kernels 2.6.11 to 4.2.3
  • 64-bit Linux kernels 2.6.11 to 4.2.3
  • 32-bit 10.5.x Leopard (the only 64-bit 10.5 is Server, which isn't supported)
  • 32-bit 10.6.x Snow Leopard
  • 64-bit 10.6.x Snow Leopard
  • 32-bit 10.7.x Lion
  • 64-bit 10.7.x Lion
  • 64-bit 10.8.x Mountain Lion (there is no 32-bit version)
  • 64-bit 10.9.x Mavericks (there is no 32-bit version)
  • 64-bit 10.10.x Yosemite (there is no 32-bit version)
  • 64-bit 10.11.x El Capitan (there is no 32-bit version)
  • 64-bit 10.12.x Sierra (there is no 32-bit version)

DFF (Digital Forensics Framework) — фреймворк для криминалистического анализа, интерфейсы представлены как в виде командной строки, так и GUI. DFF можно использовать для исследования жестких дисков и энергозависимой памяти и создания отчетов о пользовательских и системных действиях.

PowerForensics предоставляет единую платформу для криминалистического анализа жестких дисков в реальном времени.

Sleuth Kit (TSK) — это набор средств командной строки для цифровой судебной экспертизы, которые позволяют исследовать данные томов жестких дисков и файловой системы.

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

bulk_extractor — позволяет извлекать информацию с помощью специальных сканеров (почта, номер кредитной карты, GPS координаты, номера телефонов, EXIF данные в изображениях). Быстрота работы достигается за счет использования многопоточности и работы с жестким диском «напрямую».

PhotoRec — мультисистемная платформа для поиска и извлечения файлов с исследуемых образов операционных систем, компакт-дисков, карт памяти, цифровых фотокамер и т.д. Основное предназначение — извлечение удаленных (или утраченных) файлов.

Анализ сетевого взаимодействия

SiLK (System for Internet-Level Knowledge) — предназначен для эффективного сбора, хранения и анализа данных сетевого потока. SiLK идеально подходит для анализа трафика на магистрали или границе крупного, распределенного предприятия или провайдера среднего размера.

Wireshark — этот сетевой анализатор пакетов (или сниффер) может быть эффективно использован для анализа трафика (в том числе и вредоносного). Один из популярнейших инструментов. Функциональность, которую предоставляет Wireshark, очень схожа с возможностями программы tcpdump, однако Wireshark имеет графический пользовательский интерфейс и гораздо больше возможностей по сортировке и фильтрации информации. Программа позволяет пользователю просматривать весь проходящий по сети трафик в режиме реального времени, переводя сетевую карту в неразборчивый режим (promiscuous mode).

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

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

  • Н.Н.Федотов: Форензика – компьютерная криминалистика
  • Darren Quick, Ben Martini, Raymond Choo: Cloud Storage Forensics
  • Suzanne Widup: Computer Forensics and Digital Investigation with EnCase Forensic v7
  • Brian Carrier: File System Forensic Analysis
  • Brett Shavers, John Bair: Hiding Behind the Keyboard: Uncovering Covert Communication Methods with Forensic Analysis
  • Philip Polstra: Linux Forensics
  • Jonathan Levin: Mac OS X and iOS Internals: To the Apple's Core
  • Ric Messier: Operating System Forensics
  • Satish Bommisetty, Rohit Tamma, Heather Mahalik: Practical Mobile Forensics
  • Michael Hale Ligh, Andrew Case, Jamie Levy, AAron Walters: The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory
  • Harlan Carvey: Windows Registry Forensics, Second Edition: Advanced Digital Forensic Analysis of the Windows Registry
  • Laura Chappell: The Official Wireshark Certified Network Analyst Study Guide

Практические площадки

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

image


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

Основная цель при проведении таких работ — использование методов и средств для сохранения (неизменности), сбора и анализа цифровых вещественных доказательств, для того чтобы восстановить события инцидента.

Термин "forensics" является сокращенной формой "forensic science", дословно "судебная наука", то есть наука об исследовании доказательств — именно то, что в русском именуется криминалистикой. Русский термин "форензика" означает не всякую криминалистику, а именно компьютерную.
Некоторые авторы разделяют компьютерную криминалистику (computer forensics) и сетевую криминалистику (network forensic).

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

Для полноценного сбора и анализа информации используются различные узкоспециализированные утилиты, которые будут рассмотрены ниже. Хочу предупредить, что при проведении работ по заключению в том или уголовном деле скорее всего будет рассматриваться наличие тех или иных сертификатов и соответствий ПО (лицензии ФСТЭК). В этом случае придется использовать комбинированные методы по сбору и анализу информации, либо писать выводы и заключение на основании полученных данных из несертифицированных источников.

Фреймворки

    — Digital Forensics Framework — платформа с открытым исходным кодом для проведения работ по извлечению и исследованию данных. — PowerForensics утилита, написанная на PowerShell, предназначенная для исследования жестких дисков. — The Sleuth Kit (TSK) — это библиотека на языке C и коллекция инструментов командной строки, которые позволяют исследовать образы дисков.

Реал-тайм утилиты

    — GRR Rapid Response: инструмент для расследования и анализа инцидентов. — Mozilla InvestiGator — распределенная реал-тайм платформа для расследования и анализа инцидентов.

Работа с образами (создание, клонирование)

    — улучшенная версия консольной утилиты dd. — еще одна улучшенная версия dd. — FTK Imager- просмотр и клонирования носителей данных в среде Windows. — просмотр и клонирования носителей данных в среде Linux.

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

    — улучшенная версия популярной утилиты strings. — выявления email, IP-адресов, телефонов из файлов. эта утилита использует расширенные методы статического анализа для автоматической деобфускации данных из двоичных файлов вредоносных программ. — утилита для извления данных и файлов изображений.

Работа с RAM

    — фреймворк, отличающийся высокой скоростью работы. — извлечение паролей KeePass из памяти. — анализ дампов RAM, написанный на python. — Volatility Framework представляет собой набор утилит для разностороннего анализа образов физической памяти. — веб-интерфейс для Volatility framework.

Сетевой анализ

    — инструменты для анализа трафика для облегчения анализа безопасности крупных сетей. — известнейший сетевой сниффер.

Артефакты Windows (извлечение файлов, историй загрузок, USB устройств и т.д.)

    — обширный сборщик информации о системе Windows (реестр, файловая система, сервисы, автозагрузка и т.д.) — кросплатформенный анализатор реестра Windows. — лист сравнения MFT-парсеров (MFT — Master File Table). — MFT-парсер. — парсер журналов NTFS. — — парсер журналов USN. — восстановление NTFS данных. — анализ NTFS данных.

Исследование OS X

Internet Artifacts

    — извлечение информации из Google Chrome. — анализ истории Google Chrome/Chromium.

Анализ временных интервалов

    — извлечение и агрегация таймстапов. — анализ таймстапов.

Hex редакторы

    — HEX редактор OS X. — Windows версия Synalyze It. — маленький и быстрый HEX редактор. — кросс-платформенный HEX редактор. — HEX редактор в тимплейтами. — кросс-платформенный HEX редактор со сравнением файлов.

Конверторы

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

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

    — тимплейты для редактора 010. — парсер различных видов файлов на python. — HFS+ составляющие для Synalysis — составляющие для различных файловых систем. — файловые составляющие для Synalyze It! — файловые составляющие для WinHex и X-Ways

Обработка образов дисков

    — утилита командной строки для быстрого монтирования образов дисков — Libewf библиотека и утилиты доступа и обработки форматов EWF, E01. — конвертирования образов дисков.

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


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

Вообще, «форензика» — это калька с английского слова 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.

Продолжение доступно только участникам

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее


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

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

Наборы для анализа «вживую» каждый специалист формирует, исходя из собственных потребностей. Скажем, админу достаточно уметь быстро поднять сервисы, упавшие после атаки, и восстановить продуктив из бэкапа. Уже потом в спокойной обстановке он, может быть, и глянет логи, но вряд ли найдет в них что-то ценное. Айпишники китайских прокси? Признаки входа на корпоративный сайт через дырявую CMS, которую он хотел пропатчить месяц назад? Если все бизнес-процессы идут своим чередом, дальнейшее расследование КИ для него теряет смысл.

Иные подходы у отдела расследования компьютерных инцидентов антивирусной компании (который вместе с правоохранительными органами анализирует свежий случай массового заражения) или FinCERT, распутывающей APT в какой-нибудь платежной системе. Здесь совсем другие приоритеты: нужно собрать максимум информации, которую затем можно будет использовать в суде. Обнаружить C&C-серверы ботнета, найти источник угрозы, детально восстановить сценарий взлома и выйти на его организаторов (в идеале — с их последующим арестом). Для этого требуется тщательно собрать доказательную базу, но проблема в том, что анализ системы почти всегда вносит в нее искажения. Задача специалиста по компьютерной криминалистике — свести их к минимуму и учесть при дальнейшем анализе.

WARNING

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

Как не наследить следопыту

Первое правило форензики — не вносить искажений в оригинал. Для этого все действия выполняются с точной (посекторной) копией исследуемой файловой системы и полными дампами оперативной памяти.

К сожалению, на практике этот принцип часто нарушается из-за незнания особенностей работы ОС, в том числе Live-дистрибутивов. Для удобства во многих из них по умолчанию активирована функция автоматического подключения всех обнаруженных дисков. Особенно этим грешит Windows (включая сборки на основе PE), которая создает на каждом диске временные файлы и служебные каталоги (System Volume Information, $Recycle.Bin и так далее), но и в Linux проблем хватает.

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

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

Другую проблему представляют некорректно размонтированные разделы, что часто случается при изъятии дисков во время «маски-шоу». Перед следующим монтированием поврежденная файловая система будет проверена и fsck попытается автоматически устранить все найденные ошибки. Например, программа исправит «подвисшие» индексные дескрипторы (которые описывают файлы, удаленные открытыми).

Собственно говоря, драйверы всех журналируемых файловых систем (ext3/4, ReiserFS, XFS, NTFS и других) игнорируют опцию -o ro при системных обращениях к диску. Чтобы отучить их смотреть журнал и пытаться внести исправления, лучше монтировать исследуемые разделы с опцией ro,noload , ro,nolog или ro,norecovery — в зависимости от типа файловой системы, однако и это не панацея.

Непреднамеренная запись на исследуемый накопитель во время анализа все равно остается возможна, причем еще на этапе запуска Live-дистрибутива. Например, при поиске загрузочного носителя, записи драйверов в initramfs и создании swap-файла или автоматическом монтировании обнаруженных дисковых разделов (в том числе для поиска Root FS банальным перебором всех подключенных дисков). Это одна из причин физически подключать исследуемый накопитель уже после загрузки Live-дистрибутива.

Варианты решения проблемы самовольной записи на исследуемый диск зависят от особенностей дистрибутива и самого устройства. Например, тома ext3 и ext4 можно смонтировать как нежурналируемые (ext2).

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

Казалось бы, все верно: blockdev использует системный вызов для изменения флага ядра, который проверяется на уровне файловой системы. Если этот флаг установлен, то он отключает операции записи в ФС, причем не только пользовательские, но и системные (журналирование, восстановление, перезапись суперблока). Такой метод применяется в большинстве дистрибутивов для форензики.

Однако на практике некорректно написанный драйвер ФС все равно может пропустить эту проверку и выполнить операции записи.

Поэтому использование blockdev в режиме «только чтение» гарантированно работает только для приложений, запускаемых из userspace, обращения которых проверяет драйвер, но не для ядра ОС и самих драйверов.

Самый надежный вариант — поместить между анализируемым диском и драйвером ФС виртуальное блочное устройство loop device. Оно не пропустит низкоуровневые команды и не даст системе тихо модифицировать исследуемый диск.

Аналогично метод работает с образами дисков.

Продолжение доступно только участникам

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Читайте также: