←back to thread

190 points Harvesterify | 1 comments | | HN request time: 0s | source
Show context
surajrmal ◴[] No.45669852[source]
A shared global namespace ultimately makes it very difficult to have a decent capability based security system. Namespaces limited to the set of actions you have and a hierarchy of capabilities whereby children can only be given access to capabilities their parents have is required for a sane view of how things work. Much like encapsulation makes it easier to reason about abstractions in a program, this nested hierarchy of capabilities makes it easier to reason about the privilege of various parts of the system. Instead we have soup where no one can quite reason about what has access to what.
replies(6): >>45670120 #>>45670198 #>>45670857 #>>45671117 #>>45671465 #>>45674367 #
rootnod3 ◴[] No.45670120[source]
Even if not super fine grained, I think that OpenBSD’s pledge is really nicely done.

Next after that I’d vote for FreeBSD’s capsicum.

replies(2): >>45670403 #>>45671131 #
hypeatei ◴[] No.45670403[source]
OpenBSDs pledge is so simple and nice to use. I really wish Linux would incorporate it. Seccomp is a nightmare to implement.
replies(2): >>45670913 #>>45672383 #
eikenberry ◴[] No.45672383[source]
There is a port...

    https://github.com/jart/pledge

    https://justine.lol/pledge/
replies(1): >>45672804 #
1. hypeatei ◴[] No.45672804[source]
That uses seccomp under the hood and requires a custom libc, I think?

Definitely a nice project, but I don't know if I'd use it in production.