All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: Alexander.Steffen@infineon.com
Cc: mjg59@google.com, linux-integrity@vger.kernel.org,
	kari@varaani.com, linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org
Subject: Re: Fixing CVE-2017-15361
Date: Thu, 26 Oct 2017 19:00:37 +0200	[thread overview]
Message-ID: <20171026170037.cpj5ghlzruepucey@linux.intel.com> (raw)
In-Reply-To: <ffd461a6d2604a0eafca18638a8a17a9@infineon.com>

On Thu, Oct 26, 2017 at 03:42:27PM +0000, Alexander.Steffen@infineon.com wrote:
> As far as I know, the kernel itself is not using any of the affected
> functionalities, so there is no need for an immediate mitigation
> within the kernel. But I'd like to hear about how similar issues were
> handled in the past. I can think of multiple severe security issues,
> for example in BIOS implementations, but I cannot recall ever hearing
> about the kernel refusing to boot on such machines or even do so much
> as print a warning about that vulnerability.

Hmm.. trusted key with parent other than a primary key?

> > Alexander stated the following things about FW updates (Alexander,
> > please correct me if I state something incorrectly or if you have
> > something to add):
> > 
> > * FW update can be constructed either in a way that the keys in the
> >   NVRAM are not cleared or in a way that they are cleared.
> 
> Correct. But as far as I know, the updates that were already published
> for this issue do not delete any of the keys. And I do not think that
> this would be a good idea. After all, the applications still might
> need access to their key to decrypt their data and reencrypt it with a
> safe key after applying the update.

Right, obviously :-)

> > * FW update cannot be directly applied to the TPM but must come as
> >   part of the firmware update from the vendor.
> 
> Yes, starting the upgrade process is guarded by
> platformAuth/platformPolicy (in the case of TPM2), so the platform
> vendor needs to be involved. And you want them to be involved, since
> they need to make sure that their system still works with the updated
> TPM. I'm not sure whether platform vendors do that for TPMs, but for
> wireless cards whitelisting in the BIOS is common, and you do not want
> your machine refusing to boot just because the BIOS does not recognize
> your TPM's firmware version anymore (as a simple example).
> 
> > I proposed the following as an alternative:
> > 
> > * Print a message to the klog (which log level would be appropriate?).
> > * Possibly sleep for few seconds. Is this a good idea?
> 
> I'd be okay with that, but ideally we'd have some kind of
> agreement/history of how to handle similar security issues in hardware
> components in general. Implementing a special case just for this TPM
> vulnerability does not seem like the right thing to do, especially
> when the kernel itself is not affected (and thus the whole machine
> might not be affected for the way that it is used). We do not want to
> confuse users or make them expect similar warnings in the future, when
> we might have no intention of providing them.
> 
> > While writing this email yet another alternative popped into my mind:
> > what if we allow only in-kernel use but disallow the use of /dev/tpm0?
> > You could still use trusted keys.
> > 
> > Here are all the ideas that I have and I am open for better
> > alternatives.
> > 
> > /Jarkko
> 
> Alexander

Thank you for elaborating this further!

/Jarkko

WARNING: multiple messages have this Message-ID (diff)
From: jarkko.sakkinen@linux.intel.com (Jarkko Sakkinen)
To: linux-security-module@vger.kernel.org
Subject: Fixing CVE-2017-15361
Date: Thu, 26 Oct 2017 19:00:37 +0200	[thread overview]
Message-ID: <20171026170037.cpj5ghlzruepucey@linux.intel.com> (raw)
In-Reply-To: <ffd461a6d2604a0eafca18638a8a17a9@infineon.com>

On Thu, Oct 26, 2017 at 03:42:27PM +0000, Alexander.Steffen at infineon.com wrote:
> As far as I know, the kernel itself is not using any of the affected
> functionalities, so there is no need for an immediate mitigation
> within the kernel. But I'd like to hear about how similar issues were
> handled in the past. I can think of multiple severe security issues,
> for example in BIOS implementations, but I cannot recall ever hearing
> about the kernel refusing to boot on such machines or even do so much
> as print a warning about that vulnerability.

Hmm.. trusted key with parent other than a primary key?

> > Alexander stated the following things about FW updates (Alexander,
> > please correct me if I state something incorrectly or if you have
> > something to add):
> > 
> > * FW update can be constructed either in a way that the keys in the
> >   NVRAM are not cleared or in a way that they are cleared.
> 
> Correct. But as far as I know, the updates that were already published
> for this issue do not delete any of the keys. And I do not think that
> this would be a good idea. After all, the applications still might
> need access to their key to decrypt their data and reencrypt it with a
> safe key after applying the update.

Right, obviously :-)

> > * FW update cannot be directly applied to the TPM but must come as
> >   part of the firmware update from the vendor.
> 
> Yes, starting the upgrade process is guarded by
> platformAuth/platformPolicy (in the case of TPM2), so the platform
> vendor needs to be involved. And you want them to be involved, since
> they need to make sure that their system still works with the updated
> TPM. I'm not sure whether platform vendors do that for TPMs, but for
> wireless cards whitelisting in the BIOS is common, and you do not want
> your machine refusing to boot just because the BIOS does not recognize
> your TPM's firmware version anymore (as a simple example).
> 
> > I proposed the following as an alternative:
> > 
> > * Print a message to the klog (which log level would be appropriate?).
> > * Possibly sleep for few seconds. Is this a good idea?
> 
> I'd be okay with that, but ideally we'd have some kind of
> agreement/history of how to handle similar security issues in hardware
> components in general. Implementing a special case just for this TPM
> vulnerability does not seem like the right thing to do, especially
> when the kernel itself is not affected (and thus the whole machine
> might not be affected for the way that it is used). We do not want to
> confuse users or make them expect similar warnings in the future, when
> we might have no intention of providing them.
> 
> > While writing this email yet another alternative popped into my mind:
> > what if we allow only in-kernel use but disallow the use of /dev/tpm0?
> > You could still use trusted keys.
> > 
> > Here are all the ideas that I have and I am open for better
> > alternatives.
> > 
> > /Jarkko
> 
> Alexander

Thank you for elaborating this further!

/Jarkko
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2017-10-26 17:00 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-25 13:44 Fixing CVE-2017-15361 Jarkko Sakkinen
2017-10-25 13:44 ` Jarkko Sakkinen
2017-10-25 14:17 ` Matthew Garrett
2017-10-25 14:17   ` Matthew Garrett
2017-10-25 18:53   ` Jarkko Sakkinen
2017-10-25 18:53     ` Jarkko Sakkinen
2017-10-25 20:22     ` Jerry Snitselaar
2017-10-25 20:22       ` Jerry Snitselaar
2017-10-26 11:01       ` Jarkko Sakkinen
2017-10-26 11:01         ` Jarkko Sakkinen
2017-10-25 22:26     ` Peter Huewe
2017-10-25 22:26       ` Peter Huewe
2017-10-26 11:16       ` Jarkko Sakkinen
2017-10-26 11:16         ` Jarkko Sakkinen
2017-10-26 11:27         ` Jarkko Sakkinen
2017-10-26 11:27           ` Jarkko Sakkinen
2017-10-26 12:59         ` Michal Suchánek
2017-10-26 12:59           ` Michal Suchánek
2017-10-26 14:06           ` Jarkko Sakkinen
2017-10-26 14:06             ` Jarkko Sakkinen
2017-10-26 14:06             ` Jarkko Sakkinen
2017-10-26 14:57             ` Michal Suchánek
2017-10-26 14:57               ` Michal Suchánek
2017-10-26 14:57               ` Michal Suchánek
2017-10-26 17:02               ` Jarkko Sakkinen
2017-10-26 17:02                 ` Jarkko Sakkinen
2017-10-26 17:02                 ` Jarkko Sakkinen
2017-10-26 17:03                 ` Jarkko Sakkinen
2017-10-26 17:03                   ` Jarkko Sakkinen
2017-10-26 17:03                   ` Jarkko Sakkinen
2017-10-26 15:46         ` Alexander.Steffen
2017-10-26 15:46           ` Alexander.Steffen at infineon.com
2017-10-26 17:08           ` Jarkko Sakkinen
2017-10-26 17:08             ` Jarkko Sakkinen
2017-10-26 15:42     ` Alexander.Steffen
2017-10-26 15:42       ` Alexander.Steffen at infineon.com
2017-10-26 17:00       ` Jarkko Sakkinen [this message]
2017-10-26 17:00         ` Jarkko Sakkinen
2017-10-26 15:51     ` Alexander.Steffen
2017-10-26 15:51       ` Alexander.Steffen at infineon.com
2017-10-26 19:07       ` Jarkko Sakkinen
2017-10-26 19:07         ` Jarkko Sakkinen

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=20171026170037.cpj5ghlzruepucey@linux.intel.com \
    --to=jarkko.sakkinen@linux.intel.com \
    --cc=Alexander.Steffen@infineon.com \
    --cc=kari@varaani.com \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=mjg59@google.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.