Deian Stefan
Slides adopted from John Mitchell, Dan Boneh, and Stefan Savage
Privilege separation and isolation Deian Stefan Slides adopted from - - PowerPoint PPT Presentation
CSE 127: Computer Security Privilege separation and isolation Deian Stefan Slides adopted from John Mitchell, Dan Boneh, and Stefan Savage Chromium security architecture Browser ("kernel") Full privileges (file system,
Slides adopted from John Mitchell, Dan Boneh, and Stefan Savage
➤ Full privileges (file system, networking)
➤ Can have multiple processes ➤ Sandboxed
➤ Full privileges of browser
➤ setuid sandbox, prevent access to most resources
➤ seccomp-bpf, prevent access to kernel
➤ Why?
➤ Why? ➤ E.g., chroot /tmp/guest
➤ open(“/etc/passwd”, “r”) translates to...
➤ Why?
➤ Why? ➤ E.g., chroot /tmp/guest
➤ open(“/etc/passwd”, “r”) translates to...
➤ mnt ➤ pid ➤ net ➤ ipc ➤ user
➤ mnt ➤ pid ➤ net ➤ ipc ➤ user
➤ no sys calls except exit, sigreturn, read, and write to
➤ allow/deny arbitrary set of system calls ➤ filter on syscall arguments
➤ Why can’t you filter on pointers? ➤ Why do it in the kernel?
➤ Implement agent that does what you want
➤ Keeping state synchronized between kernel and
➤ Not syscall interposition in pure form, but have
➤ Implement agent that does what you want
➤ Keeping state synchronized between kernel and
➤ Not syscall interposition in pure form, but have
➤ Implement agent that does what you want
➤ Keeping state synchronized between kernel and
➤ Not syscall interposition in pure form, but have
➤ Google’s Native Client did this
➤ Sandbox modules/make it easy to extend a program
➤ Google’s Native Client did this
➤ Sandbox modules/make it easy to extend a program
➤ A: yes, B: no
➤ You often pay context-switch cost ➤ Hot-off-the press: with multiple cores you can get
➤ A: yes, B: no
➤ You often pay context-switch cost ➤ Hot-off-the press: with multiple cores you can get
➤ A: yes, B: no
segment segment
➤ Upside: can pinpoint offending
➤ Downside?
➤ Mask upper bits of target address ➤ Cost?
seg1 seg2
➤ Upside: can pinpoint offending
➤ Downside?
➤ Mask upper bits of target address ➤ Cost?
seg1 seg2
➤ Upside: can pinpoint offending
➤ Downside?
➤ Mask upper bits of target address ➤ Cost?
seg1 seg2
➤ Use register-plus-offset instruction mode
seg1 seg2
➤ Use register-plus-offset instruction mode
seg1 seg2
➤ A: yes, B: no
➤ Least privilege + privilege separation + isolation
➤ Use UIDs + namespaces + seccomp-bpf ➤ Use syscall interposition ➤ Use software-fault isolatoin