Re: [PATCH] security: Fix IMA Kconfig for dependencies on ARM64

From: James Bottomley
Date: Mon Mar 12 2018 - 20:06:53 EST


On Mon, 2018-03-12 at 19:30 -0400, Mimi Zohar wrote:
> On Mon, 2018-03-12 at 15:30 -0700, James Bottomley wrote:
> >
> > On Mon, 2018-03-12 at 17:53 -0400, Mimi Zohar wrote:
> [...]
> >
> > >
> > > - This use case, when the TPM is not builtin and unavailable
> > > before
> > > IMA is initialized.
> > >
> > > I would classify this use case as an IMA testing/debugging
> > > environment, when it cannot, for whatever reason, be builtin the
> > > kernel or initialized before IMA.
> > >
> > > From Dave Safford:
> > > ÂÂÂÂFor the TCG chain of trust to have any meaning, all files
> > > have to
> > > ÂÂÂÂbe measured and extended into the TPM before they are
> > > accessed.
> > > If
> > > ÂÂÂÂthe TPM driver is loaded after any unmeasured file, the chain
> > > is
> > > ÂÂÂÂbroken, and IMA is useless for any use case or any threat
> > > model.
> >
> > I don't think this is quite the correct characterisation. ÂIn
> > principle the kernel could also touch the files before IMA is
> > loaded. ÂHowever, we know from the way the kernel operates that it
> > doesn't. ÂWe basically trust that the kernel measurement tells us
> > this. ÂThe same thing can be made to apply to the initrd.
>
> With the builtin "tcb" policy, IMA-measurement is enabled from the
> very beginning. ÂAfterwards, the system can transition to a custom
> policy based on finer grain LSM labels, which aren't available on
> boot.
>
> >
> > The key question is not whether the component could theoretically
> > access the files but whether it actually does so.
>
> As much as you might think you know what is included in the
> initramfs, IMA-measurement is your safety net, including everything
> accessed in the TCB.

The initrd *is* part of the Trusted Computing Base because it's part of
the boot custody chain. ÂThat's really my point. ÂIf I don't know
what's in my initrd, I've broken the chain there and IMA can't fix it.

James