Thread (27 messages) 27 messages, 6 authors, 2018-10-16

[PATCH v5 5/5] sidechannel: Linux Security Module for sidechannel

From: Schaufler, Casey <hidden>
Date: 2018-09-28 17:41:06
Also in: lkml, selinux

-----Original Message-----
From: James Morris [mailto:jmorris at namei.org]
Sent: Friday, September 28, 2018 9:33 AM
To: Jann Horn <jannh@google.com>
Cc: Schaufler, Casey <redacted>; Casey Schaufler
[off-list ref]; kristen at linux.intel.com; Kernel Hardening
[off-list ref]; Dock, Deneen T
[off-list ref]; kernel list [off-list ref];
Hansen, Dave [off-list ref]; linux-security-module <linux-security-
module at vger.kernel.org>; selinux at tycho.nsa.gov; Arjan van de Ven
[off-list ref]
Subject: Re: [PATCH v5 5/5] sidechannel: Linux Security Module for sidechannel

On Fri, 28 Sep 2018, Jann Horn wrote:
quoted
quoted
so with this hard-coded logic, you are saying this case is
'safe' in a sidechannel context.

Which hints at the deeper issue that containers are a userland
abstraction.  Protection of containers needs to be defined by userland
policy.
Or just compare mount namespaces additionally/instead. I think that
containers will always use those, because AFAIK nobody uses chroot()
for containers, given that the kernel makes absolutely no security
guarantees about chroot().
We can't define this in the kernel. It has no concept of containers.

People utilize some combination of namespaces and cgroups and call them
containers,
There is an amazing variety of things called containers out there.
I cite them as a use case, not a requirement.
but we can't make assumptions from the kernel on what any of
this means from a security point of view, and hard-code kernel policy
based on those assumptions.
We can assume that namespaces are being used as a separation mechanism.
That makes processes in different namespaces potentially vulnerable to
side-channel attacks. That's true regardless of whether or not someone is
using namespaces to implement containers. 
This is violating the principal of separating mechanism and policy, and
also imposing semantics across the kernel/user boundary. The latter
creates an ABI which we can then never break.
The effects of the sidechannel security module are not API visible.
The potential impact is on performance. This implementation of
PTRACE_MODE_SCHED does not change what happens, but may affect
when it happens. It is intended to aid in optimizing the use of expensive
anti-side-channel countermeasures.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help