open atlas
↑ К треку
Защитная безопасность BLUE · 02 · 03

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

Доказательство стоит ровно столько, сколько стоит обращение с ним. Снимай летучие данные, пока они не испарились, хешируй и логируй каждый артефакт ради chain of custody, извлекай IOC и собирай таймлайн, превращающий разрозненные логи в защитимую историю.

BLUE Middle ◷ 15 min
Уровень
ОсновыJuniorMiddleSenior

Пейджер в 3 ночи: платёжный под устанавливает исходящие соединения к IP, который никто не узнаёт. Твой первый рефлекс — и он неверный — зайти по SSH и начать grep-ать логи, чтобы понять, что происходит. Ты только что записал на файловую систему, обновил время доступа у каждого файла, который cat-нул, и породил процессы, перезаписавшие страницы RAM, где жил уже исчезнувший reverse shell атакующего. Вторжение всё ещё здесь; а вот доказательства того, как оно проникло, только что стали тише. Форензика — это дисциплина ответа на вопрос «что произошло, как и можем ли мы это доказать», и почти каждая фатальная ошибка совершается в первые десять минут добросовестным инженером, который трогает не то первым.

К концу урока ты будешь знать, в каком порядке собирать доказательства, как chain of custody сохраняет их достоверность, что такое IOC и как таймлайн превращает кучу артефактов в историю, которую можно защитить.

Порядок летучести: сначала собирай самое хрупкое

Главное правило сбора доказательств — порядок летучести (order of volatility): захватывай первыми те данные, что исчезают быстрее всего. RAM пропадает в тот же миг, как машина перезагружается или под переезжает. Состояние сетевых соединений, запущенные процессы и открытые дескрипторы файлов исчезают за секунды-минуты. Диск переживает перезагрузку; вынесенный наружу лог или бэкап переживает диск. Поэтому собираешь вверх по лестнице летучести — память раньше диска, живое состояние раньше сохранённого, — потому что каждая минута, потраченная на долговечное, это минута деградации хрупкого.

Именно поэтому «просто зайти по SSH и осмотреться» так разрушительно. Чтение файлов обновляет временные метки доступа. Запуск инструментов выделяет память, перезаписывая ту неаллоцированную RAM, где ещё живут удалённые-но-не-освобождённые артефакты (in-memory полезная нагрузка атакующего, освобождённый буфер с учёткой). Каждая команда — это эффект наблюдателя: сам акт осмотра меняет то, что ты сможешь потом доказать. Зрелый ход — обратный рефлекс: снять до того, как анализировать. Снимок летучего состояния куда-то ещё, и только потом ковыряйся в копии.

В облаке и Kubernetes правило держится, меняется лишь механика. Ты не снимаешь образ физического диска; ты делаешь snapshot EBS-тома, дампишь память контейнера через ноду до того, как под убьют, и — что критично — выставляешь скомпрометированному инстансу политику авто-масштабирования и рестарта так, чтобы он не терминировался, потому что переехавший под — это стёртое место преступления. Cordon ноду, snapshot, затем расследуй по снимку.

Chain of custody: доказательство, которое можно защитить

Артефакт достоверен ровно настолько, насколько достоверна запись о том, кто его трогал и когда. Chain of custody (цепочка владения) — это непрерывный задокументированный след, доказывающий, что артефакт не менялся между сбором и выводом: кто собрал, когда, каким инструментом, где хранил и через чьи руки прошёл. Технический якорь — криптографический хеш: ты считаешь SHA-256 дампа памяти или образа диска в момент сбора, записываешь этот хеш, и любой может позже пере-хешировать копию и подтвердить совпадение бит-в-бит. Сломанный хеш означает, что доказательство изменили; совпадающий — что оно нетронуто.

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

АртефактЛетучестьЧто он говоритЗамечание по сбору
RAM / память процессаСекунды — гибнет при rebootIn-memory нагрузки, расшифрованные ключи, живые shell’ыДампь первым; не перезагружай машину
Сетевое + процессное состояниеСекунды-минутыC2-соединения, слушающие порты, родительские PIDЗахвати до убийства пода
Образ дискаПереживает rebootСброшенные файлы, персистентность, удалённые артефактыSnapshot, хеш, монтируй read-only
Логи вне хостаДолговечно (если отгружены)События auth, вызовы API, хребет таймлайнаАтакующий не правит то, что уже ушло с хоста

IOC: отпечатки, которые ты ищешь и которыми делишься

IOC (Indicator of Compromise, индикатор компрометации) — это наблюдаемый артефакт, сигнализирующий о вторжении: вредоносный IP или домен, хеш файла, подозрительный ключ реестра или cron-запись, строка user-agent, имя мьютекса. У IOC две работы. Первая — определение охвата (scoping): получив один (скажем, SHA-256 сброшенного бинарника), ты прогоняешь по нему все хосты, чтобы найти полный радиус поражения, а не только машину, которая тебя дёрнула. Вторая — обмен: IOC — это лингва франка threat intel, поэтому извлечённый IP можно скормить правилам детектирования и передать коллегам.

Зрелая оговорка: IOC лежат на дне пирамиды боли (Pyramid of Pain). Хеши и IP атакующему сменить тривиально — перекомпиляция даёт новый хеш, новый VPS даёт новый IP. Их дёшево собирать и дёшево обходить. Долговечный сигнал — выше: TTP — тактики, техники и процедуры противника, ровно то, что каталогизирует MITRE ATT&CK. Сопоставление находок с техникой ATT&CK (скажем, T1059, command-and-scripting interpreter) переживает смену инфраструктуры атакующим, потому что менять как он действует по-настоящему дорого. Так что извлекай IOC, чтобы определить охват этого инцидента, но тянись к поведению, чтобы построить детект, ловящий следующий.

Почему это работает

Почему хешировать образ диска до того, как что-либо с ним делать, а не просто доверять своей копии? Потому что ценность доказательства — в способности доказать его неизменность, а доказать это можно только против числа, записанного в момент сбора. Если сначала анализируешь, а хешируешь потом, твой хеш заверяет возможно-уже-изменённый файл — он ничего не доказывает об исходном состоянии. Хеш — это печать, накладываемая в момент сбора; наложишь поздно — печать бессмысленна. Та же логика, что подписывать договор до правок, а не после.

Таймлайн: превращение артефактов в историю

Куча артефактов — не ответ. Итоговый продукт форензики — таймлайн: единая, упорядоченная по времени последовательность, сплавляющая события из всех источников — auth-логи, события создания процессов, времена изменения файлов (MAC-времена: modified, accessed, changed/created), сетевые соединения, логи деплоя — в один нарратив того, что делал атакующий, по порядку. Здесь зарабатывают своё инструменты супертаймлайнинга: они нормализуют временные метки из десятков типов артефактов на одну ось, чтобы прочесть вторжение сверху вниз.

Две сложные проблемы — время и пробелы. Время: корреляция между источниками требует общей точки отсчёта — нормализуй всё к UTC и следи за расхождением часов между хостами и за атакующим, который подделал метки времени, чтобы спрятаться (timestomping; файл, чьё время изменения предшествует времени правки inode, — это улика). Пробелы: отсутствие лога само по себе доказательство — удалённый файл истории shell или окно, когда аудит-логирование было выключено, говорит, где работал атакующий и что он пытался замести следы. Хороший таймлайн не просто говорит, что произошло; выстроенный против MITRE ATT&CK, он показывает прогрессию — первичный доступ, исполнение, персистентность, латеральное движение, — и эта прогрессия говорит, охватил ли ты всё вторжение или увидел только его хвост.

Выбери лучший вариант

Боевой под скомпрометирован и активно beacon-ит наружу. Нужно расследовать. Что ты делаешь первым?

Викторина

Почему RAM собирают раньше образа диска при захвате доказательств?

Викторина

Ты извлёк IP и хеш файла инструмента атакующего. Почему строить детект только на них — не самый сильный ход?

Расставь шаги по порядку

Упорядочь последовательность сбора доказательств правильно, от первого к последнему:

  1. 1 Дамп памяти процесса / системы (теряется при reboot)
  2. 2 Захват живых сетевых соединений и запущенных процессов
  3. 3 Snapshot и образ диска (переживает reboot)
  4. 4 Сбор долговечных логов вне хоста, уже отгруженных прочь
  5. 5 Хеширование каждого артефакта и запись chain of custody
Вспомните перед уходом
  1. 01
    Объясни порядок летучести и почему «просто зайти по SSH и осмотреться» портит доказательства.
  2. 02
    Что такое chain of custody, как хеширование её обеспечивает и почему она важна, когда инцидент уже закрыт?
Итог

Форензика отвечает на вопрос «что произошло, как и можем ли мы это доказать», и большинство фатальных ошибок случается в первые десять минут, когда добросовестный инженер трогает не то. Дисциплина — снять-до-анализа, упорядоченно по летучести: дампь память, пока её не потеряла перезагрузка или переезд, захвати живое сетевое и процессное состояние, сделай снимок диска и вытащи долговечные логи вне хоста, которые атакующий не может править. Каждый артефакт хешируется SHA-256 при сборе и анализируется только как read-only копия, так что chain of custody — задокументированный след того, кто что трогал и когда — остаётся непрерывной, а доказательство защитимым, если инцидент станет юридическим или регуляторным. IOC (IP, хеши, домены) позволяют прогнать все хосты, чтобы определить радиус поражения и питать детект, но они лежат на дне пирамиды боли и тривиально ротируются, поэтому сопоставляй находки и с долговечными TTP в MITRE ATT&CK. Наконец, сплавь всё в нормализованный к UTC таймлайн: коррелируй между источниками, следи за расхождением часов и timestomping, считай отсутствующие логи доказательством того, где работал атакующий, и читай прогрессию против ATT&CK, чтобы подтвердить, что охватил всё вторжение, а не только его хвост. В следующий раз, когда тебя дёрнут, твой первый ход — не смотреть, а снимать.

Практика

Начни сверху. Задачи идут от простого к сложному: вспомнить факт, применить к случаю, затем senior-уровень. Открой, попробуй, потом открой ответ.

вспомнитьприменитьуглубить0 из 6 завершено
Связанные уроки

Что-то непонятно?

Задай вопрос по этому уроку. Вопросы анонимны и попадают напрямую автору — урок станет лучше.

хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources2
expand
  1. 01
  2. 02

Trademarks belong to their respective owners. Editorial reference only.