From: Maxim Kammerer <mk@dee.su>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] UEFI secure boot and Gentoo
Date: Sun, 17 Jun 2012 22:22:32 +0300 [thread overview]
Message-ID: <CAHsXYDB5JmZ9e0HeNsQbFZV1rAnjS+tQ8By-BrVvtgw6784MzA@mail.gmail.com> (raw)
In-Reply-To: <20120617170300.GC31617@kroah.com>
On Sun, Jun 17, 2012 at 8:03 PM, Greg KH <gregkh@gentoo.org> wrote:
> Huh? No, why would a user need to resign the UEFI drivers? Those
> "live" in the BIOS and are only used to get the machine up and running
> in UEFI space, before UEFI hands the control off to the bootloader it
> has verified is signed with a correct key.
Is that always the case? E.g., kernel's efifb module uses the EFI
console driver, similarly to legacy BIOS's VESA interface. It is
possible that in the future more OS-usable EFI drivers will become
commonplace, especially for non-performance-critical periphery
interaction (sensors, etc.). Architecture-independent EFI bytecode
drivers apparently don't have OS interface now, but this could change
as well.
>> If the user does not perform this procedure (due to its
>> complexity and/or lack of tools automating the process), is it
>> possible for an externally connected device to compromise the system
>> by supplying a Microsoft-signed blob directly to the UEFI firmware,
>> circumventing the (Linux) OS?
>
> Again, what? Please explain.
I am thinking about a possibility where a “rogue” device can upload
its driver directly to the UEFI firmware. I don't see something like
that in the UEFI spec, but perhaps the firmware can support such
behavior outside the spec. E.g., many 3G network tokens support
presenting themselves as network devices or as storage media on the
USB bus (sys-apps/usb_modeswitch deals with that). The reason they do
that is for the OS to install the network driver from the storage
media “representation”. Now, imagine that the OS defers handling of
unfamiliar network devices to the UEFI network driver (as it might do
with unfamiliar video cards and UEFI GOP). It makes sense that UEFI
firmware vendors would support a similar mechanism of loading
(possibly EBC) UEFI drivers from the network device. Why not — the
drivers will be signed, and UEFI can verify the signatures.
So it seems to me that UEFI, because of its complexity and multitude
of features, may provide an OS-circumventing attack vector, which can
only be dealt with by revoking (probably Microsoft) keys in UEFI
firmware, and re-signing only the necessary drivers with a custom key.
Compromising major player's certificates is a real possibility — e.g.,
see http://www.pcpro.co.uk/news/security/375169/could-us-cyberspies-have-moles-inside-microsoft.
> What API? The signing tool is public, and no, it doesn't add keys,
> that's up to the BIOS to do, not the userspace tool.
So the re-signing mentioned above must be done in a tedious manual
process? Or can some automatic tool be developed (not necessary
userspace, it can be an EFI app)?
--
Maxim Kammerer
Liberté Linux: http://dee.su/liberte
next prev parent reply other threads:[~2012-06-17 19:24 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-15 4:28 [gentoo-dev] UEFI secure boot and Gentoo Greg KH
2012-06-15 4:45 ` Arun Raghavan
2012-06-15 4:56 ` Greg KH
2012-06-15 5:24 ` Arun Raghavan
2012-06-15 21:28 ` Matthew Thode
2012-06-15 5:48 ` Eray Aslan
2012-06-15 7:26 ` Michał Górny
2012-06-15 7:49 ` Florian Philipp
2012-06-15 8:06 ` Richard Farina
2012-06-15 8:24 ` Florian Philipp
2012-06-15 23:59 ` Greg KH
2012-06-16 8:33 ` Florian Philipp
2012-06-16 0:03 ` gregkh
2012-06-15 5:00 ` [gentoo-dev] " Duncan
2012-06-15 5:03 ` [gentoo-dev] " Ben de Groot
2012-06-15 5:08 ` Matthew Finkel
2012-06-15 5:24 ` Arun Raghavan
2012-06-15 7:12 ` Ben de Groot
2012-06-15 7:58 ` Richard Farina
2012-06-15 8:37 ` Florian Philipp
2012-06-15 11:32 ` Walter Dnes
2012-06-15 12:01 ` Rich Freeman
2012-06-15 12:48 ` Florian Philipp
2012-06-16 9:22 ` Maxim Kammerer
2012-06-17 17:03 ` Greg KH
2012-06-17 19:22 ` Maxim Kammerer [this message]
2012-06-15 10:50 ` Ben de Groot
2012-06-16 0:02 ` Greg KH
2012-06-15 4:45 ` Greg KH
2012-06-15 5:48 ` Philip Webb
2012-06-16 0:01 ` Greg KH
2012-06-16 3:18 ` Philip Webb
2012-06-15 21:35 ` Matthew Thode
2012-06-16 0:00 ` Greg KH
2012-06-15 4:50 ` [gentoo-dev] " Duncan
2012-06-15 5:01 ` Matthew Finkel
2012-06-15 7:54 ` Florian Philipp
2012-06-15 12:28 ` Walter Dnes
2012-06-15 12:55 ` Florian Philipp
2012-06-16 23:37 ` Steev Klimaszewski
2012-06-17 16:58 ` Greg KH
2012-06-17 17:24 ` Dale
2012-06-16 17:51 ` Michał Górny
2012-06-17 9:20 ` Florian Philipp
2012-06-17 15:51 ` Michał Górny
2012-06-17 16:55 ` Greg KH
2012-06-17 17:06 ` Michał Górny
2012-06-17 17:17 ` Rich Freeman
2012-06-17 17:28 ` Florian Philipp
2012-06-17 17:56 ` Greg KH
2012-06-17 16:56 ` Matthew Finkel
2012-06-17 17:10 ` Michał Górny
2012-06-17 17:40 ` Florian Philipp
2012-06-17 17:34 ` Sascha Cunz
2012-06-17 17:55 ` Rich Freeman
2012-06-17 18:00 ` Florian Philipp
2012-06-17 18:56 ` Sascha Cunz
2012-06-17 19:20 ` Graham Murray
2012-06-17 20:30 ` Florian Philipp
2012-06-17 23:07 ` Rich Freeman
2012-06-22 6:42 ` George Prowse
2012-06-15 4:57 ` [gentoo-dev] " Chí-Thanh Christopher Nguyễn
2012-06-15 12:18 ` Luca Barbato
2012-06-15 12:33 ` Rich Freeman
2012-06-15 23:56 ` Greg KH
2012-06-16 6:30 ` Michał Górny
2012-06-15 10:14 ` Rich Freeman
2012-06-15 11:26 ` Florian Philipp
2012-06-15 12:22 ` Luca Barbato
2012-06-15 12:45 ` Rich Freeman
2012-06-15 15:46 ` G.Wolfe Woodbury
2012-06-15 23:55 ` Greg KH
2012-06-16 0:41 ` Rich Freeman
2012-06-16 3:49 ` Greg KH
2012-06-16 23:52 ` Matthew Summers
2012-06-17 0:23 ` [gentoo-dev] " Duncan
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=CAHsXYDB5JmZ9e0HeNsQbFZV1rAnjS+tQ8By-BrVvtgw6784MzA@mail.gmail.com \
--to=mk@dee.su \
--cc=gentoo-dev@lists.gentoo.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