linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mimi Zohar <zohar@linux.vnet.ibm.com>
To: Balbir Singh <bsingharora@gmail.com>
Cc: linux-security-module@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, kexec@lists.infradead.org,
	linux-kernel@vger.kernel.org,
	Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>,
	linux-ima-devel@lists.sourceforge.net,
	Dave Young <dyoung@redhat.com>
Subject: Re: [PATCH 0/7] ima: carry the measurement list across kexec
Date: Tue, 09 Aug 2016 08:36:44 -0400	[thread overview]
Message-ID: <1470746204.2881.101.camel@linux.vnet.ibm.com> (raw)
In-Reply-To: <91fa2f95-4d70-a056-d599-01cb3bbe6771@gmail.com>

On Tue, 2016-08-09 at 15:19 +1000, Balbir Singh wrote:
> 
> On 04/08/16 22:24, Mimi Zohar wrote:
> > The TPM PCRs are only reset on a hard reboot.  In order to validate a
> > TPM's quote after a soft reboot (eg. kexec -e), the IMA measurement list
> > of the running kernel must be saved and then restored on the subsequent
> > boot.
> > 
> > The existing securityfs binary_runtime_measurements file conveniently
> > provides a serialized format of the IMA measurement list. This patch
> > set serializes the measurement list in this format and restores it.
> > 
> > This patch set pre-req's Thiago Bauermann's "kexec_file: Add buffer
> > hand-over for the next kernel" patch set* for actually carrying the
> > serialized measurement list across the kexec.
> > 
> > Mimi
> > 
> 
> Hi, Mimi
> 
> I am trying to convince myself of the security of the solution. I asked
> Thiago as well, but may be I am be lagging behind in understanding.
> 
> We trust the kernel to hand over PCR values of the old kernel (which
> cannot be validated) to the IMA subsystem in the new kernel for storage.
> I guess the idea is for ima_add_boot_aggregate to do the right thing?
> How do we validate what the old kernel is giving us? Why do we care for
> the old measurement list? Is it still of significance in the new kernel?
> 

Hi Balbir,

To validate the hardware TPM PCR values requires walking the measurement
list simulating the TPM extend operation.  The resulting values should
match the hardware TPM PCRs.

In the case of a soft reboot, the TPM PCRs are not reset to 0, so all
the measurements of the running system, including those from previous
soft reboots, need to be included in the measurement list.   Without
these measurements, the simulated PCR values will not match the hardware
TPM PCR values.  Thus the need for this patch set.

Measurements can not be added/removed/changed in the measurement list
without it being detectable.

Mimi

  reply	other threads:[~2016-08-09 12:37 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-04 12:24 [PATCH 0/7] ima: carry the measurement list across kexec Mimi Zohar
2016-08-04 12:24 ` [PATCH 1/7] ima: on soft reboot, restore the measurement list Mimi Zohar
2016-08-05  8:44   ` Petko Manolov
2016-08-05 13:34     ` Mimi Zohar
2016-08-05 15:56       ` Petko Manolov
2016-08-09 10:59   ` Michael Ellerman
2016-08-09 13:01     ` Mimi Zohar
2016-08-09 13:19       ` Thiago Jung Bauermann
2016-08-09 13:35         ` David Laight
2016-08-09 14:02           ` Mimi Zohar
2016-08-09 13:55         ` Mimi Zohar
2016-08-09 14:06           ` Mimi Zohar
2016-08-09 23:13         ` Samuel Mendoza-Jonas
2016-08-10  3:41         ` Michael Ellerman
2016-08-10  5:05           ` Thiago Jung Bauermann
2016-08-10  9:52             ` Michael Ellerman
2016-08-10 12:54               ` Mimi Zohar
2016-08-10 14:32                 ` [Linux-ima-devel] " Petko Manolov
2016-08-10 14:40                   ` David Laight
2016-08-10 15:48                     ` Petko Manolov
2016-08-04 12:24 ` [PATCH 2/7] ima: permit duplicate measurement list entries Mimi Zohar
2016-08-04 12:24 ` [PATCH 3/7] ima: maintain memory size needed for serializing the measurement list Mimi Zohar
2016-08-04 12:24 ` [PATCH 4/7] ima: serialize the binary_runtime_measurements Mimi Zohar
2016-08-04 12:24 ` [PATCH 5/7] ima: on soft reboot, save the measurement list Mimi Zohar
2016-08-04 12:24 ` [PATCH 6/7] ima: store the builtin/custom template definitions in a list Mimi Zohar
2016-08-04 12:24 ` [PATCH 7/7] ima: support restoring multiple template formats Mimi Zohar
2016-08-09  5:19 ` [PATCH 0/7] ima: carry the measurement list across kexec Balbir Singh
2016-08-09 12:36   ` Mimi Zohar [this message]
2016-08-11  7:38     ` Balbir Singh
2016-08-11 11:25       ` 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=1470746204.2881.101.camel@linux.vnet.ibm.com \
    --to=zohar@linux.vnet.ibm.com \
    --cc=bauerman@linux.vnet.ibm.com \
    --cc=bsingharora@gmail.com \
    --cc=dyoung@redhat.com \
    --cc=kexec@lists.infradead.org \
    --cc=linux-ima-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    /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;
as well as URLs for NNTP newsgroup(s).