Сетевая криминалистика и реагирование
Когда инцидент уже случился, ответы — в трафике: кто, куда, что и когда. Учимся читать сеть как место происшествия.
Сетевая криминалистика (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) — последовательность фаз:
- Подготовка. Заранее: включённое логирование, запись трафика, runbook, роли, контакты. 90% успеха закладывается здесь.
- Обнаружение и анализ. Заметить инцидент (алерт, IOC), оценить масштаб, определить затронутые системы. Тут и работает сетевая криминалистика.
- Сдерживание (containment). Не дать распространиться: изолировать хост, заблокировать вредоносный адрес, сегментировать. Важно сохранить улики (снять образ, дамп) до уничтожения следов.
- Устранение (eradication). Убрать причину: удалить вредонос, закрыть уязвимость, сменить скомпрометированные учётные данные.
- Восстановление. Вернуть системы в строй и убедиться, что атакующего больше нет, усилив мониторинг.
- Выводы (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 — подготовка → обнаружение → сдерживание → устранение → восстановление → выводы; готовиться нужно заранее.
- Перехват и анализ — только своего/лабораторного или санкционированного трафика; чужие коммуникации трогать нельзя.