Логотип
Форензика контейнеров Docker: улики в эфемерной инфраструктуре

Форензика контейнеров Docker: улики в эфемерной инфраструктуре

26 августа, 2026

38

Если девопсы и хакеры свято верят, что после команды уничтожения контейнер растворяется в цифровом небытии без следа, то у меня для них плохие новости. Эфемерность Docker обманчива: хост помнит практически всё, если специалист понимает архитектуру ядра Linux и структуру демона.

Анатомия слоев и OverlayFS

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

Каталог /var/lib/docker/overlay2 хранит все разрозненные слои образов и контейнеров. Пока сущность не вычищена с диска принудительно через docker system prune, рабочий каталог diff содержит абсолютно каждый измененный или созданный файл, включая загруженные бэкдоры.

Снятие дампа оперативной памяти

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

Вытащить оперативную память можно напрямую из каталога /proc/<PID>/mem или с помощью gcore на хосте, определив родительский PID контейнера. Для глубокого исследования инъекций и анализа скрытых сокетов применяют профилированный модуль LiME в связке с фреймворком Volatility.

Тактика сбора цифровых доказательств

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

  • Примените команду заморозки docker pause, чтобы зафиксировать состояние всех регистров и процессов.
  • Создайте снимок текущего состояния файловой системы в новый образ с помощью команды docker commit.
  • Сохраните контейнер в архив через docker save или docker export для изолированного препарирования на стенде.
  • Рассчитайте и зафиксируйте контрольные хеш-суммы SHA-256 каждого полученного слепка в протоколе расследования.

Логирование и сетевой контекст

Попытка зачистить историю shell внутри окружения – классический ход, который не спасает от внешнего аудита. Если на хосте развернуты auditd или eBPF-зонды, каждый системный вызов внутри cgroups уже сохранен в централизованном журнале.

Файл конфигурации /var/log/docker.log и метаданные команды docker inspect содержат точную хронологию запуска, смонтированные тома и скрытые переменные окружения. Таблица трансляции conntrack и цепочки iptables хоста сохраняют адреса удаленных серверов управления, с которыми контактировал скомпрометированный узел.

Главные правила работы эксперта

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

  • Всегда анализируйте параметры bind mounts на предмет несанкционированного побега злоумышленника в корневую систему хоста.
  • Изучайте переменные окружения контейнера, где беспечные инженеры регулярно забывают боевые токены и приватные ключи.
  • Проверяйте историю сборки базового образа через docker history, чтобы отделить артефакты компрометации от заводских уязвимостей.
Оставьте заявку