linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paolo Bonzini <pbonzini@redhat.com>
To: Chris Friesen <chris.friesen@genband.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>, Peter Jones <pjones@redhat.com>,
	Dave Airlie <airlied@gmail.com>,
	Greg KH <gregkh@linuxfoundation.org>,
	Matthew Garrett <mjg59@srcf.ucam.org>,
	David Howells <dhowells@redhat.com>,
	Florian Weimer <fw@deneb.enyo.de>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Josh Boyer <jwboyer@redhat.com>, Vivek Goyal <vgoyal@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	keyrings@linux-nfs.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [GIT PULL] Load keys from signed PE binaries
Date: Wed, 27 Feb 2013 20:14:30 +0100	[thread overview]
Message-ID: <512E5B16.4050002@redhat.com> (raw)
In-Reply-To: <512E4409.2040907@genband.com>

Il 27/02/2013 18:36, Chris Friesen ha scritto:
> On 02/27/2013 09:24 AM, Theodore Ts'o wrote:
>> On Tue, Feb 26, 2013 at 11:54:51AM -0500, Peter Jones wrote:
>>> No, no, no.  Quit saying nobody knows.  We've got a pretty good idea -
>>> we've got a contract with them, and it says they provide the signing
>>> service, and under circumstances where the thing being signed is found
>>> to enable malware that circumvents Secure Boot
>>
>> The question is what does "malware that circuments Secure Boot" mean?
>> Does starting up a hacked KVM and running Windows 8 under KVM so that
>> malare can be injected count as circumenting Secure Boot?  If so, will
>> you have to disable KVM, too?
> 
> I could see an argument for KVM to require either a signed binary or
> else someone at the keyboard to explicitly okay loading the image.
> Anything else breaks the chain of trust.

Not just the executable; the firmware would also need to be signed.

In fact, I think requiring signed KVM binaries and signed VM firmwares
makes sense in the long term, but you have to stop somewhere.

And BTW you can always emulate the instruction set instead of using
hardware virtualization.  This way the kernel is not involved.  It's a
slippery slope and leads you straight to the app store model and
restrictions on interpreters like Apple's.

Certainly an attack using unsigned modules is trivial, unlike one that
virtualizes the victim OS, and also much harder to discover
(virtualization is easy to detect by timing certain operations in the
guest).  Just for this reason, putting unsigned modules on the "no" side
makes much more sense than putting virtualization on the "no" side.

Paolo

> It may be somewhat far-fetched, but I think it would be possible to take
> an existing secure-boot Win 8 install, turn it into a VM but with an
> infected kernel. Then install a signed Linux distro that runs the Win8
> VM as a guest.
> 
> At this point you've got a running infected Win8 install that is running
> on Secure Boot hardware but is actually running malware.
> 
> Admittedly this would be tricky to do reliably in a way that the user
> doesn't notice, so it may not actually be a real-world threat.
> 
> Chris


  parent reply	other threads:[~2013-02-27 19:14 UTC|newest]

Thread overview: 124+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-21 15:47 [GIT PULL] Load keys from signed PE binaries David Howells
2013-02-21 16:39 ` Linus Torvalds
2013-02-21 16:42   ` Matthew Garrett
2013-02-21 16:58     ` Linus Torvalds
2013-02-21 17:49       ` Matthew Garrett
2013-02-21 18:03         ` Linus Torvalds
2013-02-21 18:11           ` Matthew Garrett
2013-02-22 14:05           ` Peter Jones
2013-02-25 14:46             ` Florian Weimer
2013-02-25 15:42               ` Matthew Garrett
2013-02-25 15:50                 ` Florian Weimer
2013-02-25 16:14                   ` Matthew Garrett
2013-02-25 16:20                     ` Chris Friesen
2013-02-26 21:40                       ` Florian Weimer
2013-02-26 22:19                         ` Chris Friesen
2013-02-21 18:17     ` David Howells
2013-02-21 18:25       ` Matthew Garrett
2013-02-25 14:33         ` Florian Weimer
2013-02-25 15:42           ` Matthew Garrett
2013-02-21 18:25       ` Linus Torvalds
2013-02-21 18:34         ` Peter Jones
2013-02-21 18:56           ` Linus Torvalds
2013-02-21 19:10             ` Peter Jones
2013-02-21 19:10             ` Matthew Garrett
2013-02-21 20:31             ` Vivek Goyal
2013-02-21 20:32               ` Matthew Garrett
2013-02-21 20:38                 ` Vivek Goyal
2013-03-18  2:12             ` Stephen Rothwell
2013-03-19 18:11             ` David Howells
2013-03-20 16:52             ` David Howells
2013-03-20 23:28               ` Stephen Rothwell
2013-02-21 20:08       ` Theodore Ts'o
2013-02-25 14:28     ` Florian Weimer
2013-02-25 15:45       ` Matthew Garrett
2013-02-26 21:08         ` Florian Weimer
2013-02-25 23:51     ` David Howells
2013-02-26  0:59       ` Greg KH
2013-02-26  2:33         ` Matthew Garrett
2013-02-26  3:02           ` Greg KH
2013-02-26  3:13             ` Matthew Garrett
2013-02-26  3:25               ` Theodore Ts'o
2013-02-26  3:28                 ` Matthew Garrett
2013-02-26  3:32                   ` Linus Torvalds
2013-02-26  3:42                     ` Matthew Garrett
2013-02-26  3:45                       ` Linus Torvalds
2013-02-26  3:48                         ` Matthew Garrett
2013-02-26  4:31                           ` Linus Torvalds
2013-02-26  4:57                             ` Matthew Garrett
2013-02-26 15:30                               ` Vivek Goyal
2013-02-26 15:38                                 ` Vivek Goyal
2013-02-27 17:23                                   ` Eric W. Biederman
2013-02-26 21:30                             ` Florian Weimer
2013-02-26 21:40                               ` Peter Jones
2013-02-26 22:35                                 ` Al Viro
2013-02-26  3:40                   ` Greg KH
2013-02-26  3:45                     ` Matthew Garrett
2013-02-26  3:49                   ` Theodore Ts'o
2013-02-26 19:30                   ` Florian Weimer
2013-02-26 19:41                     ` Matthew Garrett
2013-02-26  3:31               ` Greg KH
2013-02-26  3:38                 ` Matthew Garrett
2013-02-26  3:54                   ` Greg KH
2013-02-26  4:04                     ` Matthew Garrett
2013-02-26  4:13                       ` Greg KH
2013-02-26  4:23                         ` Matthew Garrett
2013-02-26  4:43                           ` Linus Torvalds
2013-02-26  4:59                             ` Matthew Garrett
2013-02-26 21:57                             ` Geert Uytterhoeven
2013-02-26 22:06                               ` Peter Jones
2013-02-27 12:32                                 ` Geert Uytterhoeven
2013-02-27 12:43                                   ` Matthew Garrett
2013-02-27 14:14                                   ` Peter Jones
2013-02-26  4:25                         ` Dave Airlie
2013-02-26  4:45                           ` Theodore Ts'o
2013-02-26  4:55                             ` Dave Airlie
2013-02-26  6:04                               ` Theodore Ts'o
2013-02-26  6:38                                 ` Theodore Ts'o
2013-02-26 10:07                                   ` Raymond Jennings
2013-02-26 10:21                                     ` Matthew Garrett
2013-02-26 16:45                                       ` Kent Yoder
2013-02-26 16:54                             ` Peter Jones
2013-02-27 15:24                               ` Theodore Ts'o
2013-02-27 17:36                                 ` Chris Friesen
2013-02-27 17:59                                   ` Theodore Ts'o
2013-02-27 19:21                                     ` Chris Friesen
2013-02-27 19:34                                       ` Theodore Ts'o
2013-02-27 19:14                                   ` Paolo Bonzini [this message]
2013-02-27 21:31                                 ` Dave Airlie
2013-02-28  6:27                                   ` Geert Uytterhoeven
2013-02-28  7:48                                     ` Paolo Bonzini
2013-02-26 19:40                             ` Florian Weimer
2013-02-26 19:46                               ` Matthew Garrett
2013-02-26  4:50                           ` Greg KH
2013-02-28  7:57                 ` Florian Weimer
2013-02-28 15:43                   ` Chris Friesen
2013-02-28 19:26                     ` Florian Weimer
2013-02-28 19:30                     ` Matthew Garrett
2013-02-28 19:41                       ` Florian Weimer
2013-02-28 19:53                         ` Matthew Garrett
2013-02-28 20:23                           ` Florian Weimer
2013-02-28 20:31                             ` Matthew Garrett
2013-02-26 13:34       ` Jiri Kosina
2013-02-26 14:16         ` Raymond Jennings
2013-02-26 15:11       ` David Howells
2013-02-26 16:50         ` Greg KH
2013-02-27  9:35       ` ownssh
2013-02-27 10:17         ` James Courtier-Dutton
2013-02-27 11:27           ` Alexander Holler
2013-02-27 11:49             ` James Courtier-Dutton
2013-02-27 14:56         ` Matthew Garrett
2013-02-27 20:35           ` ownssh
2013-03-01 18:21             ` Matthew Garrett
2013-03-01 18:39               ` Gene Heskett
2013-02-28 22:48 ` Jiri Kosina
2013-02-28 22:51   ` Matthew Garrett
2013-02-28 23:02     ` Jiri Kosina
2013-02-28 23:05       ` Matthew Garrett
2013-02-28 23:45         ` Jiri Kosina
2013-02-28 23:47           ` Matthew Garrett
2013-02-28 23:52             ` Jiri Kosina
2013-03-01  0:00               ` Matthew Garrett
2013-03-01  0:08                 ` Jiri Kosina
2013-03-01 10:00     ` Vojtech Pavlik
2013-03-01 14:30       ` Theodore Ts'o

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=512E5B16.4050002@redhat.com \
    --to=pbonzini@redhat.com \
    --cc=airlied@gmail.com \
    --cc=chris.friesen@genband.com \
    --cc=dhowells@redhat.com \
    --cc=fw@deneb.enyo.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=jwboyer@redhat.com \
    --cc=keescook@chromium.org \
    --cc=keyrings@linux-nfs.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=pjones@redhat.com \
    --cc=torvalds@linux-foundation.org \
    --cc=tytso@mit.edu \
    --cc=vgoyal@redhat.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 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).