[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LRH.2.21.1906282040490.15624@namei.org>
Date: Fri, 28 Jun 2019 21:01:25 -0700 (PDT)
From: James Morris <jmorris@...ei.org>
To: Eric Biggers <ebiggers@...nel.org>
cc: Jaskaran Khurana <jaskarankhurana@...ux.microsoft.com>,
linux-security-module@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-integrity@...r.kernel.org,
linux-fsdevel@...r.kernel.org, agk@...hat.com, snitzer@...hat.com,
dm-devel@...hat.com, scottsh@...rosoft.com, mpatocka@...hat.com,
gmazyland@...il.com
Subject: Re: [RFC PATCH v5 0/1] Add dm verity root hash pkcs7 sig
validation.
On Thu, 27 Jun 2019, Eric Biggers wrote:
> I don't understand your justification for this feature.
>
> If userspace has already been pwned severely enough for the attacker to be
> executing arbitrary code with CAP_SYS_ADMIN (which is what the device mapper
> ioctls need), what good are restrictions on loading more binaries from disk?
>
> Please explain your security model.
Let's say the system has a policy where all code must be signed with a
valid key, and that one mechanism for enforcing this is via signed
dm-verity volumes. Validating the signature within the kernel provides
stronger assurance than userspace validation. The kernel validates and
executes the code, using kernel-resident keys, and does not need to rely
on validation which has occurred across a trust boundary.
You don't need arbitrary CAP_SYS_ADMIN code execution, you just need a
flaw in the app (or its dependent libraries, or configuration) which
allows signature validation to be bypassed.
The attacker now needs a kernel rather than a userspace vulnerability to
bypass the signed code policy.
--
James Morris
<jmorris@...ei.org>
Powered by blists - more mailing lists