public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Theodore Ts'o" <tytso@mit.edu>
To: Vojtech Pavlik <vojtech@suse.cz>
Cc: Matthew Garrett <mjg59@srcf.ucam.org>,
	Jiri Kosina <jkosina@suse.cz>,
	David Howells <dhowells@redhat.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	jwboyer@redhat.com, pjones@redhat.com, vgoyal@redhat.com,
	keescook@chromium.org, keyrings@linux-nfs.org,
	linux-kernel@vger.kernel.org,
	Greg KH <gregkh@linuxfoundation.org>,
	Florian Weimer <fw@deneb.enyo.de>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [GIT PULL] Load keys from signed PE binaries
Date: Fri, 1 Mar 2013 09:30:33 -0500	[thread overview]
Message-ID: <20130301143033.GC4452@thunk.org> (raw)
In-Reply-To: <20130301100052.GA20085@suse.cz>

On Fri, Mar 01, 2013 at 11:00:52AM +0100, Vojtech Pavlik wrote:
> 
> Mr. Blackhat then can load his i_own_your_ring0.ko module signed by his
> key on your system, having obtained root access previously.

The question will be what does Mr. Blackhat do with this
i_own_your_ring0.ko module.  The FUD that has been flung about is that
it would be possible for Mr. Blackhat to create a small, tight
partition containing a signed Linux kernel (from Red Hat or SuSE,
doesn't reallly matter), and enough of a initrd which would include
said i_own_your_ring0.ko module.  This would then be used in a bootkit
that would boot Linux and get ring0 access, and then use that to
create malware that would be used to infect Windows systems in a way
that wouldn't be detected by users.

It would essentially be the same as the bootsector virus, except it
would take 2 or 3 orders of magnitude more disk space, and probably
add one or two orders of magnitude more time to the boot time.
Whether this could be done in an undetectable fashion is an
interesting question, but the assertion is that it can be done, and so
we need to pour all sorts of unspeaking gunk into the kernel and
disable Systemtap to prevent this from happening.

> You call Microsoft, telling them what Mr. Blackhat has done.
> 
> They now can:
> 
> a) Do what you want: Disable Mr. Blackhat's account and revoke the hash
>    of his binary.
> 
> But also:
> 
> b) Say, "oh well, we're sorry this kills your security model, but it's
> enough for us that you already fully booted Linux to worry about Windows
> security, this affects only your distribution and we don't care".
> 
> c) Decide your security model is flawed, because you're abusing their
> signature process to mean something else from what they intended and
> revoke your shim hash instead.

Well, if this is being used to attack Windows machines (assuming that
it is possible to create a bootkit using a Linux kernel, and initrd,
and the signed i_pown_your_ring0.ko odule), it's unlikely that (b)
would be a likely outcome.

Both (a) and (c) would solve Microsoft's security problem.  They could
do (c), but that would result in the PR and Legal morass resulting
from the accusatoin that they are abusing their monopoly position.
I'm not an expert in how much backbone the European anti-trust folks
have, so I can't really comment on how likely they would pursue this,
or whether they would be successful in the end, but more importantly,
I suspect Microsoft wouldn't be sure either.

						- Ted

      reply	other threads:[~2013-03-01 14:30 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
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 15:11           ` David Howells
2013-02-26 16:50             ` Greg KH
2013-02-26 13:34         ` Jiri Kosina
2013-02-26 14:16           ` Raymond Jennings
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 [this message]

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=20130301143033.GC4452@thunk.org \
    --to=tytso@mit.edu \
    --cc=dhowells@redhat.com \
    --cc=fw@deneb.enyo.de \
    --cc=gregkh@linuxfoundation.org \
    --cc=jkosina@suse.cz \
    --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=pbonzini@redhat.com \
    --cc=pjones@redhat.com \
    --cc=torvalds@linux-foundation.org \
    --cc=vgoyal@redhat.com \
    --cc=vojtech@suse.cz \
    /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