lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1515096535.29312.38.camel@amazon.co.uk>
Date:   Thu, 4 Jan 2018 20:08:55 +0000
From:   "Woodhouse, David" <dwmw@...zon.co.uk>
To:     Greg KH <gregkh@...uxfoundation.org>,
        Tim Chen <tim.c.chen@...ux.intel.com>
CC:     Thomas Gleixner <tglx@...utronix.de>,
        Andy Lutomirski <luto@...nel.org>,
        Linus Torvalds <torvalds@...ux-foundation.org>,
        Dave Hansen <dave.hansen@...el.com>,
        Andrea Arcangeli <aarcange@...hat.com>,
        Andi Kleen <ak@...ux.intel.com>,
        Arjan Van De Ven <arjan.van.de.ven@...el.com>,
        <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 5/7] x86: Use IBRS for firmware update path

On Thu, 2018-01-04 at 21:05 +0100, Greg KH wrote:
> On Thu, Jan 04, 2018 at 09:56:46AM -0800, Tim Chen wrote:
> > 
> > From: David Woodhouse <dwmw@...zon.co.uk>
> > 
> > We are impervious to the indirect branch prediction attack with
> > retpoline
> > but firmware won't be, so we still need to set IBRS to protect
> > firmware code execution when calling into firmware at runtime.
> Wait, what?
> 
> Maybe it's just the wine from dinner talking, but if the firmware has
> issues, we have bigger things to worry about here, right?  It already
> handed over the "chain of trust" to us, so we have already implicitly
> trusted that the firmware was correct here.  So why do we need to do
> anything about firmware calls in this manner?

In the ideal world, firmware exists to boot the kernel and then it gets
out of the way, never to be thought of again.

In the Intel world, firmware idiocy permeates everything and we
sometimes end up making calls to it at runtime.

If an attacker can poison the BTB for an indirect branch in EFI
firmware, then reliably do something which calls EFI runtime calls,
that might lead to an exploit. So if we're using retpoline for the
kernel, then we should be setting IBRS before any firmware calls.

Download attachment "smime.p7s" of type "application/x-pkcs7-signature" (5210 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ