[RFC][PATCH v3 04/10] ima: Add digest_cache_measure/appraise boot-time built-in policies

Jarkko Sakkinen jarkko at kernel.org
Fri Sep 6 09:45:02 UTC 2024


On Thu Sep 5, 2024 at 6:25 PM EEST, Roberto Sassu wrote:
> From: Roberto Sassu <roberto.sassu at huawei.com>
>
> Specify the 'digest_cache_measure' boot-time policy with 'ima_policy=' in
> the kernel command line to add the following rule at the beginning of the
> IMA policy, before other rules:
>
> measure func=DIGEST_LIST_CHECK pcr=12
>
> which will measure digest lists into PCR 12 (or the value in
> CONFIG_IMA_DIGEST_CACHE_MEASURE_PCR_IDX).
>
> Specify 'digest_cache_appraise' to add the following rule at the beginning,
> before other rules:
>
> appraise func=DIGEST_LIST_CHECK appraise_type=imasig|modsig
>
> which will appraise digest lists with IMA signatures or module-style
> appended signatures.
>
> Adding those rule at the beginning rather than at the end is necessary to
> ensure that digest lists are measured and appraised in the initial ram
> disk, which would be otherwise prevented by the dont_ rules.
>
> Signed-off-by: Roberto Sassu <roberto.sassu at huawei.com>
> ---
>  .../admin-guide/kernel-parameters.txt         | 10 +++++-
>  security/integrity/ima/Kconfig                | 10 ++++++
>  security/integrity/ima/ima_policy.c           | 35 +++++++++++++++++++
>  3 files changed, 54 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
> index 09126bb8cc9f..afaaf125a237 100644
> --- a/Documentation/admin-guide/kernel-parameters.txt
> +++ b/Documentation/admin-guide/kernel-parameters.txt
> @@ -2077,7 +2077,8 @@
>  	ima_policy=	[IMA]
>  			The builtin policies to load during IMA setup.
>  			Format: "tcb | appraise_tcb | secure_boot |
> -				 fail_securely | critical_data"
> +				 fail_securely | critical_data |
> +				 digest_cache_measure | digest_cache_appraise"
>  
>  			The "tcb" policy measures all programs exec'd, files
>  			mmap'd for exec, and all files opened with the read
> @@ -2099,6 +2100,13 @@
>  			The "critical_data" policy measures kernel integrity
>  			critical data.
>  
> +			The "digest_cache_measure" policy measures digest lists
> +			into PCR 12 (can be changed with kernel config).
> +
> +			The "digest_cache_appraise" policy appraises digest
> +			lists with IMA signatures or module-style appended
> +			signatures.
> +
>  	ima_tcb		[IMA] Deprecated.  Use ima_policy= instead.
>  			Load a policy which meets the needs of the Trusted
>  			Computing Base.  This means IMA will measure all

Must be updated as a separate commit as kernel-parameters.txt not
part of IMA. Consider it as a different subsystem in this context.

BR, Jarkko



More information about the Linux-security-module-archive mailing list