Как идентифицировать побег из контейнера?
Всем привет!
«Какая именно телеметрия генерируется, когда совершается «побег» из контейнера?» – именно с этого вопроса началось путешествие Автора статьи.
Для того, чтобы ответить на свой вопрос он взял 3 популярных решения – Tetragon, Falco, Tracee и подготовил 15 различных сценариев.
Сценарии можно разбить на группы:
🍭 Misconfiguration escapes. Наиболее часто встречающиеся сценарии «побегов»
🍭 A baseline control. В этом сценарии Автор разбирал сколько событий сгенерируют решения на «обычный, ничего не делающий контейнер». Спойлер: Tetragon «выиграл»
🍭 CVE-based patterns. Идентификация определенных уязвимостей уровня ядра (Leaky Vessels, DirtyPipe и т.д.)
🍭 Capability abuse scenarios. Анализ действий привилегированного контейнера
🍭 A stress test. Он самый. Что будет, если злоумышленник будет генерировать миллионы syscalls в секунду?
Каждый такой сценарий запускался на своей собственной виртуальной машине (3 GB RAM, 2 vCPUs, Ubuntu 22.04, kernel 5.15.0-91-generic).
В результате… Никто не смог выявить все «побеги», хотя рассматриваемые решения подкрались достаточно близко.
Еще одним интересным наблюдение стало количество генерируемой информации.
Tetragon сгенерировал 1,2 GB данных, в то время как Tracee – 20 MB, а Falco – 36 MB.
И это далеко не всё. Настоятельно рекомендуем ознакомиться со статьей.
Кстати, в конце статьи можно найти ссылки на набор публикаций по теме для того, чтобы лучше разбираться в вопросе.
Рекомендуем!
Post #1466
2.61K