Privilege Separation In Go

Day 1 | 12:00 | 00:30 | UD2.120 (Chavanne) | Alvar Penning


Note: I'm reworking this at the moment, some things won't work.

The stream isn't available yet! Check back at 12:00.

Most computer programs run with far more privileges than necessary. Many techniques have been developed to drop privileges and split applications into multiple components, each of which can run with the least amount of privileges necessary to do its job. This can greatly reduce the impact of security bugs, as the affected component will hopefully no longer have the rights to spawn other processes or even access files. Relatively small architectural changes can result in huge security gains.

Most privilege separated daemons out there are written in C. However, it is also possible to do this in Go, as this talk will show with almost copy-pasteable examples targeting POSIX-like operating systems.