Re: [RFC][PATCH v3 04/10] ima: Add digest_cache_measure/appraise boot-time built-in policies
From: Roberto Sassu
Date: Fri Sep 06 2024 - 07:25:52 EST
On Fri, 2024-09-06 at 12:45 +0300, Jarkko Sakkinen wrote:
> On Thu Sep 5, 2024 at 6:25 PM EEST, Roberto Sassu wrote:
> > From: Roberto Sassu <roberto.sassu@xxxxxxxxxx>
> >
> > 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@xxxxxxxxxx>
> > ---
> > .../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.
Can be done, but this would be more like an atomic change in case the
patch is reverted.
Thanks
Roberto