gVisor
Что такое gVisor?
gVisorgVisor — открытое ядро уровня приложения от Google, перехватывающее системные вызовы контейнеров в пользовательском пространстве и сокращающее поверхность атаки на ядро хоста.
Процесс Sentry в gVisor реализует значительную часть Linux-системных вызовов в пользовательском пространстве на Go, при этом узкий набор хостовых syscall-ов разрешён через seccomp-bpf, а файловый ввод-вывод идёт через Gofer. Контейнеры общаются с Sentry, а не напрямую с ядром хоста, поэтому эксплойту в нагрузке нужно сначала вырваться из пользовательского песочника. gVisor работает как рантайм Docker или CRI (runsc) и обеспечивает работу Google Cloud Run, App Engine standard и GKE Sandbox. Платой служат неполная совместимость syscall-ов и накладные расходы на каждый вызов, поэтому gVisor особенно полезен для коротких, мультитенантных или недоверенных нагрузок.
● Примеры
- 01
Google Cloud Run по умолчанию запускает пользовательские функции в песочнице gVisor.
- 02
GKE Sandbox помечает недоверенные поды runtimeClassName: gvisor.
● Частые вопросы
Что такое gVisor?
gVisor — открытое ядро уровня приложения от Google, перехватывающее системные вызовы контейнеров в пользовательском пространстве и сокращающее поверхность атаки на ядро хоста. Относится к категории Облачная безопасность в кибербезопасности.
Что означает gVisor?
gVisor — открытое ядро уровня приложения от Google, перехватывающее системные вызовы контейнеров в пользовательском пространстве и сокращающее поверхность атаки на ядро хоста.
Как работает gVisor?
Процесс Sentry в gVisor реализует значительную часть Linux-системных вызовов в пользовательском пространстве на Go, при этом узкий набор хостовых syscall-ов разрешён через seccomp-bpf, а файловый ввод-вывод идёт через Gofer. Контейнеры общаются с Sentry, а не напрямую с ядром хоста, поэтому эксплойту в нагрузке нужно сначала вырваться из пользовательского песочника. gVisor работает как рантайм Docker или CRI (runsc) и обеспечивает работу Google Cloud Run, App Engine standard и GKE Sandbox. Платой служат неполная совместимость syscall-ов и накладные расходы на каждый вызов, поэтому gVisor особенно полезен для коротких, мультитенантных или недоверенных нагрузок.
Как защититься от gVisor?
Защита от gVisor обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия gVisor?
Распространённые альтернативные названия: runsc, gVisor Sentry.
● Связанные термины
- cloud-security№ 582
Kata Containers
Kata Containers — открытая среда выполнения, которая упаковывает каждый контейнер или под Kubernetes в лёгкую виртуальную машину, обеспечивая аппаратный уровень изоляции.
- cloud-security№ 838
Pod Security Standards
Pod Security Standards (PSS) — определённые в Kubernetes профили безопасности Privileged, Baseline и Restricted, фиксирующие безопасную конфигурацию подов вместо устаревшего PodSecurityPolicy.
- cloud-security№ 597
Admission Controller Kubernetes
Admission controller — плагин API-сервера Kubernetes, перехватывающий аутентифицированные запросы до сохранения, чтобы по политике валидировать, изменять или отклонять объекты.
- cloud-security№ 757
OPA Gatekeeper
OPA Gatekeeper — контроллер политик CNCF, использующий Open Policy Agent и язык Rego для применения политик допуска и аудита к ресурсам Kubernetes.
- cloud-security№ 602
Kyverno
Kyverno — CNCF-движок политик Kubernetes, который валидирует, изменяет и создаёт ресурсы по политикам, написанным на нативном YAML, а не на отдельном DSL.
- cloud-security№ 599
Kubernetes NetworkPolicy
Kubernetes NetworkPolicy — ресурс уровня namespace, который по IP, порту и протоколу определяет, какие поды могут общаться с какими подами или внешними точками.