https://www.lvh.io/CapabilityBasedSecurity
https://github.com/RackSec/secret
Two issues we'll discuss:
pickle
OAuth's scope parameter encourages this
A lot of people want those magic keys!
That's it, we're screwed
We are going to be Mossad'ed upon
"Don't give X more access than X needs"
If you owe someone 100 zł, do you:
But our tools are imprecise!
Can not be forged
To use e.g. sockets, you need:
socket & os modulesControl references to objects
⇓
Control what code can do
Cryptography, not pinky swears
CAP_NET_BIND_SERVICE &cseccomp, AppArmor, SELinux, …tame(), securelevel, …capsicum (kernel, no crypto)How many of you:
Has anyone heard of any of these systems?
(Reality is complex, I'm simplifying, theorizing)
UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX UX
(Yes, this includes me)
https://www.lvh.io/CapabilityBasedSecurity