Skip to Content
Navigation:

A stick figure smiling

Here's a preview from my zine, How Containers Work!! If you want to see more comics like this, sign up for my saturday comics newsletter or browse more comics!

Image of a comic. To read the full HTML alt text, click "read the transcript".

browse more comics! get the zine!
read the transcript!

all programs use system calls

program, represented by a box with a smiley face: read 2000 bytes from this file

Linux, represented by a box with a smiley face:here you go!

rarely-used system calls can help an attacker

  • reboot
  • request_key
  • process_vm_ready (read memory from another process)

seccomp-BPF lets you run a function before every system call

smiling stick figure with short curly hair: run this function before every syscall that process makes

Linux, represented by a box with a smiley face: okay!

the function decides if that syscall is allowed

example function:

if name in allowed_list {
   return true;
}
return false;

return false means the syscall doesn’t happen!

Docker blocks dozens of syscalls by default

Docker, represented by a box with a smiley face: most programs don’t need those system calls so I told Linux to block them for you!

2 ways to block scary system calls

  1. limit the container’s capabilities
  2. set a seccomp-bpf whitelist

You should do both!

Saturday Morning Comics!

Want another comic like this in your email every Saturday? Sign up here!

I'll send you one of my favourite comics from my archives every Saturday.
© Julia Evans 2024 | All rights reserved (see the FAQ for notes about licensing)