Детект признаков container escape на Linux
Контейнеры улучшают изоляцию, но эта изоляция может быть атакована. Один из практичных сигналов попытки escape — подозрительные namespace-операции (unshare, setns) с рискованными флагами.
Как атакуют
Частая цепочка:
- получение выполнения кода внутри контейнера;
- эксплуатация уязвимостей ядра или runtime;
- манипуляции namespace для выхода за границы изоляции;
- переход к воздействию на хост.
Важно: namespace-операции не всегда вредоносны, поэтому нужен контекст.
Почему это критично
Успешный escape может дать доступ к:
- секретам и учётным данным хоста;
- соседним workload;
- управляющей инфраструктуре.
Локальный инцидент в контейнере быстро превращается в компрометацию хоста.
Что нужно детектить
Сильные сигналы — неожиданные user/pid namespace-операции от нетипичных процессов. Качественное правило должно:
- фокусироваться на действительно рискованных переходах;
- исключать известное легитимное поведение runtime и системных компонентов;
- сохранять контекст процесса и родителя для triage.
Встроенное правило SecureExec container_namespace_escape построено именно по этой логике.
Почему важна историчность
Для расследования одного события мало. SecureExec сохраняет в Elasticsearch:
- метаданные алерта (severity, правило, время);
- детали триггерного события;
- lineage процесса и временную последовательность.
Это помогает быстро отделить нормальную оркестрацию от реальной попытки escape.
Защищайте container-host заранее
Container escape — это high-impact сценарий с быстрым развитием. Детектируйте ранние сигналы, храните доказательную историю и сокращайте время реакции.
Используйте SecureExec для мониторинга namespace abuse и уверенного расследования инцидентов.