Thread (1 message) 1 message, 1 author, 2018-02-27

Re: [net-next v3 0/2] eBPF seccomp filters

From: Kees Cook <hidden>
Date: 2018-02-27 16:00:06

On Tue, Feb 27, 2018 at 6:53 AM, chris hyser [off-list ref] wrote:
On 02/26/2018 11:38 PM, Kees Cook wrote:
quoted
On Mon, Feb 26, 2018 at 8:19 PM, Andy Lutomirski [off-list ref]
wrote:
quoted
3. Straight-up bugs.  Those are exactly as problematic as verifier
bugs in any other unprivileged eBPF program type, right?  I don't see
why seccomp is special here.

My concern is more about unintended design mistakes or other feature
creep with side-effects, especially when it comes to privileges and
synchronization. Getting no-new-privs done correctly, for example,
took some careful thought and discussion, and I'm shy from how painful
TSYNC was on the process locking side, and eBPF has had some rather
ugly flaws in the past (and recently: it was nice to be able to say
for Spectre that seccomp filters couldn't be constructed to make
attacks but eBPF could). Adding the complexity needs to be worth the
gain. I'm on board for doing it, I just want to be careful. :)


Another option might be to remove c/eBPF from the equation all together.
c/eBPF allows flexibility and that almost always comes at the cost of
additional security risk. Seccomp is for enhanced security yes? How about a
new seccomp mode that passes in something like a bit vector or hashmap for
"simple" white/black list checks validated by kernel code, versus user
provided interpreted code? Of course this removes a fair number of things
you can currently do or would be able to do with eBPF. Of course, restated
from a security point of view, this removes a fair number of things an
_attacker_ can do. Presumably the performance improvement would also be
significant.

Is this an idea worth prototyping?
That was the original prototype for seccomp-filter. :) The discussion
around that from years ago basically boiled down to it being
inflexible. Given all the things people want to do at syscall time,
that continues to be true. So true, in fact, that here we are now,
trying to move to eBPF from cBPF. ;)

-Kees

-- 
Kees Cook
Pixel Security
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help