Browser Sandboxing

Do you know that malicious code from a website could attack your computer? Sandboxing is the security mechanism that puts web content in a restrictive box to limit the damage it can do.

Your mission is to create a video explaining how a modern browser like Chrome uses Linux kernel features to construct a secure sandbox.

You will investigate the multiple layers of this box. You will explain how each one removes a different set of dangerous capabilities from the code

Requirements

Principle of Least Privilege

Begin by explaining the core security concept that motivates sandboxing: the Principle of Least Privilege.

Why is it a terrible idea to let a process that parses HTML to have access to your entire file system or network?

The Layers of the Sandbox

Your video should explain how multiple layers of security work together. A single layer might be bypassed, but breaking through all of them is much harder. Focus on these key Linux features:

  • Namespaces:
    • Explain how namespaces trick a process into believing it’s the only one on the system.
    • Cover at least the PID (Process ID) and User namespaces.
  • System Call Filtering:
    • seccomp-bpf: Explain how the browser can give the kernel a strict “allow list” of system calls that a renderer process is permitted to use. What happens when it tries to use a forbidden one, like reboot()?
  • Resource Management:
    • setrlimit: How does this prevent a malicious process from crashing the system by using up all the memory or opening thousands of files?
    • cgroups: Briefly explain how control groups can be used to limit CPU and memory usage so that one tab won’t slow down the entire machine.

References

Back to top