From: Roberto Sassu <roberto.sassu@huawei.com>
To: <zohar@linux.ibm.com>, <mjg59@google.com>
Cc: <linux-integrity@vger.kernel.org>,
<linux-security-module@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
Roberto Sassu <roberto.sassu@huawei.com>
Subject: [PATCH 02/11] evm: Load EVM key in ima_load_x509() to avoid appraisal
Date: Thu, 18 Jun 2020 18:01:24 +0200 [thread overview]
Message-ID: <20200618160133.937-2-roberto.sassu@huawei.com> (raw)
In-Reply-To: <20200618160133.937-1-roberto.sassu@huawei.com>
Public keys do not need to be appraised by IMA as the restriction on the
IMA/EVM keyrings ensures that a key is loaded only if it is signed with a
key in the primary or secondary keyring.
However, when evm_load_x509() is loaded, appraisal is already enabled and
a valid IMA signature must be added to the EVM key to pass verification.
Since the restriction is applied on both IMA and EVM keyrings, it is safe
to disable appraisal also when the EVM key is loaded. This patch calls
evm_load_x509() inside ima_load_x509() if CONFIG_IMA_LOAD_X509 is defined.
Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
---
security/integrity/iint.c | 2 ++
security/integrity/ima/ima_init.c | 4 ++++
2 files changed, 6 insertions(+)
diff --git a/security/integrity/iint.c b/security/integrity/iint.c
index e12c4900510f..4765a266ba96 100644
--- a/security/integrity/iint.c
+++ b/security/integrity/iint.c
@@ -212,7 +212,9 @@ int integrity_kernel_read(struct file *file, loff_t offset,
void __init integrity_load_keys(void)
{
ima_load_x509();
+#ifndef CONFIG_IMA_LOAD_X509
evm_load_x509();
+#endif
}
static int __init integrity_fs_init(void)
diff --git a/security/integrity/ima/ima_init.c b/security/integrity/ima/ima_init.c
index 4902fe7bd570..9d29a1680da8 100644
--- a/security/integrity/ima/ima_init.c
+++ b/security/integrity/ima/ima_init.c
@@ -106,6 +106,10 @@ void __init ima_load_x509(void)
ima_policy_flag &= ~unset_flags;
integrity_load_x509(INTEGRITY_KEYRING_IMA, CONFIG_IMA_X509_PATH);
+
+ /* load also EVM key to avoid appraisal */
+ evm_load_x509();
+
ima_policy_flag |= unset_flags;
}
#endif
--
2.17.1
next prev parent reply other threads:[~2020-06-18 16:04 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-18 16:01 [PATCH 01/11] evm: Execute evm_inode_init_security() only when the HMAC key is loaded Roberto Sassu
2020-06-18 16:01 ` Roberto Sassu [this message]
2020-08-21 18:45 ` [PATCH 02/11] evm: Load EVM key in ima_load_x509() to avoid appraisal Mimi Zohar
2020-08-31 9:44 ` Roberto Sassu
2020-08-31 19:26 ` Mimi Zohar
2020-06-18 16:01 ` [PATCH 03/11] evm: Refuse EVM_ALLOW_METADATA_WRITES only if the HMAC key is loaded Roberto Sassu
2020-08-21 20:14 ` Mimi Zohar
2020-08-31 8:24 ` Roberto Sassu
2020-08-31 21:31 ` Mimi Zohar
2020-06-18 16:01 ` [PATCH 04/11] evm: Check size of security.evm before using it Roberto Sassu
2020-08-24 12:14 ` Mimi Zohar
2020-06-18 16:01 ` [PATCH 05/11] evm: Allow xattr/attr operations for portable signatures if check fails Roberto Sassu
2020-08-24 12:16 ` Mimi Zohar
2020-08-21 18:30 ` [PATCH 01/11] evm: Execute evm_inode_init_security() only when the HMAC key is loaded Mimi Zohar
2020-08-24 17:45 ` Mimi Zohar
2020-09-02 11:42 ` Roberto Sassu
2020-09-02 13:40 ` Mimi Zohar
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=20200618160133.937-2-roberto.sassu@huawei.com \
--to=roberto.sassu@huawei.com \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=mjg59@google.com \
--cc=zohar@linux.ibm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®