Атака на Docker-сокет
Что такое Атака на Docker-сокет?
Атака на Docker-сокетЭксплуатация контейнера с примонтированным /var/run/docker.sock для управления демоном Docker, выхода из контейнера и получения root на хосте.
Сокет /var/run/docker.sock — это неаутентифицированная управляющая плоскость демона Docker, который работает как root на хосте. Если контейнер монтирует его (обычно для CI-раннеров, агентов мониторинга или сайдкаров), любой процесс внутри может вызывать API демона. Атакующий, попавший в такой контейнер, способен запустить новый привилегированный контейнер с хостовой ФС, монтированной в /host, установить бэкдор, прочитать /etc/shadow или переключиться в сетевой неймспейс хоста. Меры: никогда не монтировать docker.sock в недоверенные контейнеры, использовать rootless Docker, выставлять демон через mTLS или применять ограничивающие брокеры вроде sysbox и kaniko.
● Примеры
- 01
Компрометация Jenkins-агента, монтирующего /var/run/docker.sock, и запуск контейнера --privileged -v /:/host.
- 02
Атакующий в контейнере Portainer перечисляет и запускает root-контейнеры через связанный сокет.
● Частые вопросы
Что такое Атака на Docker-сокет?
Эксплуатация контейнера с примонтированным /var/run/docker.sock для управления демоном Docker, выхода из контейнера и получения root на хосте. Относится к категории Атаки и угрозы в кибербезопасности.
Что означает Атака на Docker-сокет?
Эксплуатация контейнера с примонтированным /var/run/docker.sock для управления демоном Docker, выхода из контейнера и получения root на хосте.
Как работает Атака на Docker-сокет?
Сокет /var/run/docker.sock — это неаутентифицированная управляющая плоскость демона Docker, который работает как root на хосте. Если контейнер монтирует его (обычно для CI-раннеров, агентов мониторинга или сайдкаров), любой процесс внутри может вызывать API демона. Атакующий, попавший в такой контейнер, способен запустить новый привилегированный контейнер с хостовой ФС, монтированной в /host, установить бэкдор, прочитать /etc/shadow или переключиться в сетевой неймспейс хоста. Меры: никогда не монтировать docker.sock в недоверенные контейнеры, использовать rootless Docker, выставлять демон через mTLS или применять ограничивающие брокеры вроде sysbox и kaniko.
Как защититься от Атака на Docker-сокет?
Защита от Атака на Docker-сокет обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Атака на Docker-сокет?
Распространённые альтернативные названия: Эскейп через docker.sock.
● Связанные термины
- cloud-security№ 211
Container Escape
Эксплойт, нарушающий границу изоляции между контейнером и хостом и позволяющий атакующему выполнять код на нижележащем узле или в ядре.
- cloud-security№ 213
Безопасность контейнеров
Практика защиты образов контейнеров, реестров, оркестраторов и среды выполнения, в которой контейнеры исполняются.
- attacks№ 1116
Атака на цепочку поставок
Атака, при которой компрометируется доверенный сторонний поставщик ПО, оборудования или услуг с целью добраться до его конечных клиентов.
- vulnerabilities№ 860
Повышение привилегий
Класс уязвимостей, позволяющий злоумышленнику получить права выше предоставленных изначально, например перейти от обычного пользователя к администратору.