Сетевая криминалистика и реагирование

Когда инцидент уже случился, ответы — в трафике: кто, куда, что и когда. Учимся читать сеть как место происшествия.

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

Этот урок завершает раздел и связывает его воедино: что бы ни случилось — DDoS, компрометация облака или взлом IoT, — расследование опирается на сетевые данные. Тон по-прежнему оборонительный: цель — научиться отвечать на инцидент, а не его устраивать.

Зачем это знать защитнику

Предотвратить всё невозможно — рано или поздно что-то проходит. Тогда важны два вопроса: «что именно произошло?» и «как быстро мы это остановим и восстановимся?». Сетевая криминалистика отвечает на первый, реагирование на инцидент (incident response) — на второй. Без журналов и записи трафика расследование превращается в гадание, а без плана реагирования паника растягивает ущерб.

Источники данных

  • Полный захват пакетов (full PCAP). Самый детальный источник: видно содержимое сессий. Дорого по объёму, поэтому часто пишут выборочно или на коротком окне.
  • Потоковые записи (NetFlow / IPFIX). Метаданные соединений: кто, с кем, по какому порту, сколько байт и когда — без полезной нагрузки. Компактно и достаточно, чтобы увидеть аномалии и эксфильтрацию.
  • Журналы. Логи файрвола, прокси, DNS, VPC Flow Logs, веб-серверов. DNS-логи особенно ценны: вредонос часто «звонит домой» по доменному имени.
  • Алерты IDS/IDS и SIEM. Система сбора и корреляции событий связывает разрозненные записи в цепочку.

Индикаторы компрометации (IOC) в сети

IOC — наблюдаемые признаки, что система скомпрометирована. Сетевые IOC, на которые смотрят первым делом:

  • Соединения с известными вредоносными IP/доменами (по threat intelligence).
  • Beaconing — регулярные «стук в дом» к управляющему серверу (C2) через равные промежутки времени.
  • Аномальный исходящий объём (возможная эксфильтрация данных) или передача в необычное время.
  • Подозрительные DNS-запросы: длинные «случайные» поддомены (DGA), туннелирование данных через DNS.
  • Сканирование внутри сети — признак бокового перемещения (lateral movement) после первичного захвата.
  • Трафик на нетипичных портах или зашифрованный там, где его быть не должно.

Простой пример выявления beaconing — равномерные интервалы между соединениями к одному адресу:

import statistics

# секунды, когда хост обращался к подозрительному адресу
times = [10, 70, 130, 190, 250]
intervals = [b - a for a, b in zip(times, times[1:])]
spread = statistics.pstdev(intervals)

print("интервалы:", intervals)
print("разброс:", spread)
if spread < 2:
    print("ALERT: похоже на beaconing к C2 (слишком равномерно)")

Вывод:

интервалы: [60, 60, 60, 60]
разброс: 0.0
if spread < 2 ... ALERT: похоже на beaconing к C2 (слишком равномерно)

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

Как это работает под капотом

Захват трафика делают через зеркалирование порта (SPAN) на коммутаторе или сетевой ответвитель (TAP) — копия трафика уходит на аналитический сенсор, не вмешиваясь в основной поток. Дальше PCAP разбирают анализаторами (например, утилитами разбора протоколов), реконструируя сессии. Здесь же возникает понятие цепочки сохранности доказательств (chain of custody): чтобы данные имели вес (в т.ч. юридический), фиксируют, кто, когда и как их собрал, считают хеши файлов и работают с копиями, не меняя оригинал. Команды-иллюстрации лабораторного анализа собственного трафика:

# Подсчёт хеша дампа для фиксации целостности доказательства
sha256sum capture.pcap

# Сколько пакетов в дампе (обзор, без вскрытия содержимого)
capinfos capture.pcap

# Краткая статистика по разговорам (кто с кем) из своего лабораторного дампа
tshark -r capture.pcap -q -z conv,ip

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

Реагирование на инцидент

Расследование живёт внутри процесса реагирования. Распространённая модель (по NIST) — последовательность фаз:

  1. Подготовка. Заранее: включённое логирование, запись трафика, runbook, роли, контакты. 90% успеха закладывается здесь.
  2. Обнаружение и анализ. Заметить инцидент (алерт, IOC), оценить масштаб, определить затронутые системы. Тут и работает сетевая криминалистика.
  3. Сдерживание (containment). Не дать распространиться: изолировать хост, заблокировать вредоносный адрес, сегментировать. Важно сохранить улики (снять образ, дамп) до уничтожения следов.
  4. Устранение (eradication). Убрать причину: удалить вредонос, закрыть уязвимость, сменить скомпрометированные учётные данные.
  5. Восстановление. Вернуть системы в строй и убедиться, что атакующего больше нет, усилив мониторинг.
  6. Выводы (lessons learned). Разбор: что сработало, что нет, как закрыть пробел. Это замыкает цикл и улучшает подготовку.

Ключевой компромисс на этапе сдерживания: спешка может стереть доказательства. Поэтому до «выдёргивания» системы по возможности снимают её состояние и сетевые данные.

Как защититься (готовиться заранее)

  • Включите и храните логи и потоки (NetFlow, DNS, Flow Logs) ещё до инцидента — задним числом их не собрать.
  • Централизуйте в SIEM и настройте корреляцию и алерты по сетевым IOC.
  • Подготовьте runbook и роли, отрепетируйте на учениях — в реальном инциденте нет времени учиться.
  • Соблюдайте chain of custody и работайте с копиями: целостность доказательств важна и для разбора, и юридически.

Итоги

  • Сетевая криминалистика восстанавливает ход атаки по трафику и журналам: full PCAP даёт детали, NetFlow и логи — масштаб и аномалии.
  • Сетевые IOC — связи с вредоносными адресами, beaconing к C2, эксфильтрация, подозрительный DNS, боковое перемещение.
  • Захват ведут через SPAN/TAP, не вмешиваясь в поток, и фиксируют целостность данных (хеши, chain of custody).
  • Реагирование по NIST — подготовка → обнаружение → сдерживание → устранение → восстановление → выводы; готовиться нужно заранее.
  • Перехват и анализ — только своего/лабораторного или санкционированного трафика; чужие коммуникации трогать нельзя.
Проверьте себя
1. Что такое beaconing как сетевой индикатор компрометации?
AШифрование всего исходящего трафика
BРегулярные соединения через равные промежутки времени к управляющему серверу (C2)
CРазовая загрузка большого файла
DИспользование стандартного порта 443 для HTTPS
2. Чем запись NetFlow/IPFIX отличается от полного захвата пакетов (full PCAP)?
ANetFlow содержит полную полезную нагрузку, а PCAP — только метаданные
BЭто одно и то же
CNetFlow — это компактные метаданные соединений (кто, с кем, порт, объём), без содержимого пакетов
DNetFlow работает только в облаке, а PCAP — только в локальной сети
3. Почему на этапе сдерживания (containment) важно действовать аккуратно, а не просто выключить систему?
AВыключение всегда запрещено политикой
BПоспешные действия могут уничтожить доказательства (память, сетевые данные), нужные для расследования
CСистема не выключится без пароля администратора
DЭто нарушит SLA с пользователями