Thread (21 messages) 21 messages, 4 authors, 2020-07-20

Re: [PATCH v3 4/5] LSM: Define SELinux function to measure security state

From: Stephen Smalley <stephen.smalley.work@gmail.com>
Date: 2020-07-20 18:44:21
Also in: linux-integrity, lkml, selinux

On Mon, Jul 20, 2020 at 2:27 PM Lakshmi Ramasubramanian
[off-list ref] wrote:
On 7/20/20 10:49 AM, Stephen Smalley wrote:
quoted
quoted
quoted
Looks like the template used is ima-ng which doesn't include the
measured buffer. Please set template to "ima-buf" in the policy.

For example,
measure func=LSM_STATE template=ima-buf
It seems like one shouldn't need to manually specify it if it is the
only template that yields a useful result for the LSM_STATE function?
Actually, if we used ima-ng template for selinux-policy-hash, then
instead of needing to hash the policy
first and passing the hash to IMA, we could just pass the policy as
the buffer and IMA would take care of the hashing, right?
That is correct.

The IMA hook I've added to measure LSM structures is a generic one that
can be used by any security module (SM). I feel it would be better to
not have policy or state or any such SM specific logic in IMA, but leave
that to the individual SM to handle.

What do you think?
It is correct to remain security module agnostic.  However, I think
you can remain LSM-neutral while still avoiding the double hashing of
the policy here.  Can't you just pass in the policy itself as the
buffer and let IMA hash it?  Then you can let the policy author decide
on the template to be used (ima-buf versus ima-ng).  If you want to
support the use of different templates for different "kinds" of LSM
state (e.g. state versus policy) you could either provide two funcs
(LSM_STATE, LSM_POLICY) or otherwise support selection based on some
other attribute.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help