The Enemy Within: Running Untrusted Code with gVisor
summary
gVisor replaces the kernel surface exposed to containers with a user-space kernel (the Sentry) and a separate gopher process for file I/O, intercepting syscalls via ptrace or KVM and dropping most host privileges. The runtime shrinks allowed syscalls from ~200 to ~30 syscalls and runs sandboxes as UID/GID nobody with strict seccomp and namespaces. It integrates with Kubernetes through containerd runtimeClass, is available as a minikube add-on and powers GKE Sandbox.
AI-written summary · about
chapters (15)
- 0:00Intro
- 0:59So you want to run some code...
- 2:52Use Cases
- 3:15Too much privileged code
- 5:21Container Sandboxes
- 6:17Sandbox Isolation
- 8:47OS-Level Virtualization (containers)
- 10:40Containers & Unikernels are cool but...
- 12:47(Type 2) Virtual Machines
- 15:55gVisor Virtualization
- 16:29gVisor. Two Layers of Isolation
- 18:48gVisor Architecture
- 24:00Design Principles
- 26:30Defense in Depth: Sandbox
- 29:00What's not protected?
related talks
35mThe Enemy Within: Running Untrusted Code with gVisor
25mIsolating Kubernetes Workloads with gVisor
40mContainer Isolation at Scale (Introducing gVisor) - Dawn Chen & Zhengyu He, Google
30mAccelerating AI Securely with GVisor
27mgVisor Container on Arm64: Let‘s Talk about Our Progress!
37mA New Secure Container Solution on Arm Platform: gVisor
06mKeynote: Cloud Native Observability & Security from Google Cloud
19mSandbox to confidential containers: A brief on the evolution of container isolation
