mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 04:33:26 +02:00
IMA: define a builtin critical data measurement policy
Define a new critical data builtin policy to allow measuring early kernel integrity critical data before a custom IMA policy is loaded. Update the documentation on kernel parameters to document the new critical data builtin policy. Signed-off-by: Lakshmi Ramasubramanian <nramas@linux.microsoft.com> Reviewed-by: Tyler Hicks <tyhicks@linux.microsoft.com> Signed-off-by: Mimi Zohar <zohar@linux.ibm.com>
This commit is contained in:
committed by
Mimi Zohar
parent
9f5d7d23cc
commit
03cee16836
@@ -206,6 +206,10 @@ static struct ima_rule_entry secure_boot_rules[] __ro_after_init = {
|
||||
.flags = IMA_FUNC | IMA_DIGSIG_REQUIRED},
|
||||
};
|
||||
|
||||
static struct ima_rule_entry critical_data_rules[] __ro_after_init = {
|
||||
{.action = MEASURE, .func = CRITICAL_DATA, .flags = IMA_FUNC},
|
||||
};
|
||||
|
||||
/* An array of architecture specific rules */
|
||||
static struct ima_rule_entry *arch_policy_entry __ro_after_init;
|
||||
|
||||
@@ -228,6 +232,7 @@ __setup("ima_tcb", default_measure_policy_setup);
|
||||
|
||||
static bool ima_use_appraise_tcb __initdata;
|
||||
static bool ima_use_secure_boot __initdata;
|
||||
static bool ima_use_critical_data __initdata;
|
||||
static bool ima_fail_unverifiable_sigs __ro_after_init;
|
||||
static int __init policy_setup(char *str)
|
||||
{
|
||||
@@ -242,6 +247,8 @@ static int __init policy_setup(char *str)
|
||||
ima_use_appraise_tcb = true;
|
||||
else if (strcmp(p, "secure_boot") == 0)
|
||||
ima_use_secure_boot = true;
|
||||
else if (strcmp(p, "critical_data") == 0)
|
||||
ima_use_critical_data = true;
|
||||
else if (strcmp(p, "fail_securely") == 0)
|
||||
ima_fail_unverifiable_sigs = true;
|
||||
else
|
||||
@@ -871,6 +878,11 @@ void __init ima_init_policy(void)
|
||||
ARRAY_SIZE(default_appraise_rules),
|
||||
IMA_DEFAULT_POLICY);
|
||||
|
||||
if (ima_use_critical_data)
|
||||
add_rules(critical_data_rules,
|
||||
ARRAY_SIZE(critical_data_rules),
|
||||
IMA_DEFAULT_POLICY);
|
||||
|
||||
ima_update_policy_flag();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user