From: Mimi Zohar <zohar@linux.ibm.com>
To: Jordan Hand <Jordan.Hand@microsoft.com>,
"linux-integrity@vger.kernel.org"
<linux-integrity@vger.kernel.org>
Subject: Re: [DISCUSSION] IMA Signature Measurements
Date: Wed, 27 Feb 2019 17:40:29 -0500 [thread overview]
Message-ID: <1551307229.10911.100.camel@linux.ibm.com> (raw)
In-Reply-To: <MWHPR21MB075192F589A7AA4E8B89F8B9F0740@MWHPR21MB0751.namprd21.prod.outlook.com>
On Wed, 2019-02-27 at 22:02 +0000, Jordan Hand wrote:
> Hello,
>
> I have been looking into how IMA policies work for
> measuring/appraising in specific scenarios such as kexec. IMA has
> specific policies for these scenarios (i.e. setting func to
> KEXEC_KERNEL_CHECK). While these policies do exist, in practice it
> seems that IMA treats these files the same way it treats any other
> file; it will validate and measure (in the case of ima-sig) based on
> the IMA signature in the file's inode.
or security.ima could contain a file hash, while security.evm contains
a signature.
>
> It seems that this policy is mostly a placeholder in case there is a
> desire later to do some different behavior based on the file type
> (correct me if I'm wrong and there's another reason for having the
> KEXEC_KERNEL_CHECK function).
Policies are defined in terms of hooks, LSM labels, and other file
metadata. True the FILE_CHECK hook could be defined to measure,
appraise, audit the kexec kernel image, but it might not require a
signature. Defining a policy containing KEXEC_KERNEL_CHECK allows
specifying the kexec'ed kernel module be signed without requiring all
files to be signed.
>
> I wanted to get feedback on the possibility of IMA measuring a
> different signature type during kexec. In general kernal images are
> signed as PE files, with the signature embedded in the file image.
> Normal kexec (not the IMA path) validates this type of signature. I
> would like to use IMA to both appraise and measure based on this
> signature instead of the IMA signature (this could have a Kconfig
> flag).
The ima-sig template contains a file hash and an IMA signature field.
The file hash needs to remain the file hash of the entire file.
Thiago is currently adding support for a kexec kernel image appended
signature. He's defining two new template fields named d-modsig and
modsig and a new policy "appraise_type" named "modsig".
You could do something similarly.
> Alternatively it could look for both. I think this makes sense
> because it means folks can make use of IMA's measurement
> capabilities while still signing the kernel image in the same way
> they have always signed it for kexec. This also makes the
> signing/packaging/installing story simpler for kernels wishing to
> make use of IMA as they don't have to ship with IMA/EVM signatures.
For systems which support PE signatures, distros don't need to provide
both PE and IMA signatures. Please refer to the IMA x86 architecture
specific policy being upstreamed and the IMA kselftest patches that I
posted yesterday.
Mimi
>
> I know that currently IMA only handles IMA/EVM signatures (makes
> sense) so this would deviate a decent amount from how IMA currently
> works. I want to get general thoughts on this proposal before I
> start work on this to ensure this is something the
> community/maintainers are supportive of.
next prev parent reply other threads:[~2019-02-27 22:40 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-27 22:02 [DISCUSSION] IMA Signature Measurements Jordan Hand
2019-02-27 22:22 ` James Bottomley
2019-02-27 22:49 ` Mimi Zohar
2019-02-27 22:40 ` Mimi Zohar [this message]
2019-02-28 0:00 ` Jordan Hand
2019-02-28 1:39 ` Thiago Jung Bauermann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1551307229.10911.100.camel@linux.ibm.com \
--to=zohar@linux.ibm.com \
--cc=Jordan.Hand@microsoft.com \
--cc=linux-integrity@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.