From: Darren Hart <dvhart@infradead.org>
To: Mario.Limonciello@dell.com
Cc: pali.rohar@gmail.com, linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org, quasisec@google.com
Subject: Re: [PATCH 00/12] Introduce support for Dell SMBIOS over WMI
Date: Wed, 27 Sep 2017 09:39:58 -0700 [thread overview]
Message-ID: <20170927163958.GC23572@fury> (raw)
In-Reply-To: <00af0747a69a42c7ad0e9beaf9c50dab@ausx13mpc120.AMER.DELL.COM>
On Mon, Sep 25, 2017 at 07:27:24PM +0000, Mario.Limonciello@dell.com wrote:
> > -----Original Message-----
> > From: Pali Rohár [mailto:pali.rohar@gmail.com]
> > Sent: Monday, September 25, 2017 12:49 PM
> > To: Limonciello, Mario <Mario_Limonciello@Dell.com>
> > Cc: dvhart@infradead.org; linux-kernel@vger.kernel.org; platform-driver-
> > x86@vger.kernel.org; quasisec@google.com
> > Subject: Re: [PATCH 00/12] Introduce support for Dell SMBIOS over WMI
> >
> > On Monday 25 September 2017 16:32:52 Mario.Limonciello@dell.com wrote:
> > > Hi Pali,
> > >
> > > > -----Original Message-----
> > > > From: Pali Rohár [mailto:pali.rohar@gmail.com]
> > > > Sent: Monday, September 25, 2017 12:14 PM
> > > > To: Limonciello, Mario <Mario_Limonciello@Dell.com>
> > > > Cc: dvhart@infradead.org; LKML <linux-kernel@vger.kernel.org>; platform-
> > driver-
> > > > x86@vger.kernel.org; quasisec@google.com
> > > > Subject: Re: [PATCH 00/12] Introduce support for Dell SMBIOS over WMI
> > > >
> > > > On Thursday 21 September 2017 08:57:05 Mario Limonciello wrote:
> > > > > The existing way that the dell-smbios helper module and associated
> > > > > other drivers (dell-laptop, dell-wmi) communicate with the platform
> > > > > really isn't secure. It requires creating a buffer in physical
> > > > > DMA32 memory space and passing that to the platform via SMM.
> > > > >
> > > > > Since the platform got a physical memory pointer, you've just got
> > > > > to trust that the platform has only modified (and accessed) memory
> > > > > within that buffer.
> > > >
> > > > And what is the problem? The whole memory management is done by kernel
> > > > itself, so you already need to trust it.
> > >
> > > There's a lot of ifs, but it's not that crazy of a scenario.
> > >
> > > The problem is that if a malicious payload was delivered to the platform
> > > and exercised a vulnerability in the platform code that payload could
> > > potentially modify memory that it wasn't intended to modify and the OS
> > > would not be aware as operating in SMM.
> > >
> > > >
> > > > > Dell Platform designers recognize this security risk and offer a
> > > > > safer way to communicate with the platform over ACPI. This is
> > > > > in turn exposed via a WMI interface to the OS.
> > > >
> > > > Hm... I cannot understand how some proprietary ACPI bytecode interpreted
> > > > by kernel can be safer as kernel code itself.
> > > >
> > >
> > > Inherently ACPI can only operate on operation regions and not physical memory.
> > > Data passed into ACPI needs to be copied to an operation region for any ACPI
> > > calls to use it.
> >
> > But operation regions access is implemented by ACPI interpreter, which
> > is again kernel code.
>
> So isn't that making my point?
> * Kernel can control operation region accessibility. SMM can't operate outside
> of this region.
> * Direct SMI gives platform access to everything < 4G, kernel can't control this.
I think there may be some confusion with the term "platform code" - it means
different things to different people. I believe Mario is talking about limiting
memory access to the SMI/SMM code through the use of the ACPI op region in place
of the physical memory pointer, which is not visible nor can it be audited.
--
Darren Hart
VMware Open Source Technology Center
prev parent reply other threads:[~2017-09-27 16:40 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-21 13:57 [PATCH 00/12] Introduce support for Dell SMBIOS over WMI Mario Limonciello
2017-09-21 13:57 ` [PATCH 01/12] platform/x86: dell-wmi: label driver as handling notifications Mario Limonciello
2017-09-25 16:04 ` Pali Rohár
2017-09-25 20:14 ` Mario.Limonciello
2017-09-25 20:14 ` Mario.Limonciello
2017-09-27 15:43 ` Darren Hart
2017-09-21 13:57 ` [PATCH 02/12] platform/x86: dell-wmi: Don't match on descriptor GUID modalias Mario Limonciello
2017-09-25 16:06 ` Pali Rohár
2017-09-21 13:57 ` [PATCH 03/12] platform/x86: dell-smbios: Add pr_fmt definition to driver Mario Limonciello
2017-09-21 16:22 ` Andy Shevchenko
2017-09-25 16:07 ` Pali Rohár
2017-09-21 13:57 ` [PATCH 04/12] platform/x86: dell-smbios: Switch to a WMI-ACPI interface Mario Limonciello
2017-09-25 16:18 ` Pali Rohár
2017-09-25 19:28 ` Mario.Limonciello
2017-09-25 19:28 ` Mario.Limonciello
2017-09-27 16:46 ` Darren Hart
2017-09-27 18:29 ` Mario.Limonciello
2017-09-27 18:29 ` Mario.Limonciello
2017-09-27 19:47 ` Andy Lutomirski
2017-09-27 21:15 ` Mario.Limonciello
2017-09-27 21:15 ` Mario.Limonciello
2017-09-21 13:57 ` [PATCH 05/12] platform/x86: dell-smbios: rename to dell-wmi-smbios Mario Limonciello
2017-09-21 13:57 ` [PATCH 06/12] platform/x86: dell-wmi-smbios: Add a sysfs interface for SMBIOS tokens Mario Limonciello
2017-09-25 16:23 ` Pali Rohár
2017-09-25 17:04 ` Andy Shevchenko
2017-09-25 17:31 ` Mario.Limonciello
2017-09-25 17:31 ` Mario.Limonciello
2017-09-27 16:50 ` Darren Hart
2017-09-27 18:27 ` Mario.Limonciello
2017-09-27 18:27 ` Mario.Limonciello
2017-09-27 18:31 ` Andy Shevchenko
2017-09-27 18:55 ` Darren Hart
2017-09-27 19:49 ` Andy Lutomirski
2017-09-27 19:50 ` Mario.Limonciello
2017-09-27 19:50 ` Mario.Limonciello
2017-09-21 13:57 ` [PATCH 07/12] platform/x86: dell-wmi-smbios: Use Dell WMI descriptor check Mario Limonciello
2017-09-21 16:44 ` Andy Shevchenko
2017-09-21 20:56 ` Mario.Limonciello
2017-09-21 20:56 ` Mario.Limonciello
2017-09-21 13:57 ` [PATCH 08/12] platform/x86: wmi: Cleanup exit routine in reverse order of init Mario Limonciello
2017-09-21 13:57 ` [PATCH 09/12] platform/x86: wmi: create character devices when requested by drivers Mario Limonciello
2017-09-21 16:46 ` Andy Shevchenko
2017-09-21 19:21 ` Mario.Limonciello
2017-09-21 19:21 ` Mario.Limonciello
2017-09-21 13:57 ` [PATCH 10/12] platform/x86: wmi: destroy on cleanup rather than unregister Mario Limonciello
2017-09-21 13:57 ` [PATCH 11/12] platform/x86: dell-wmi-smbios: introduce character device for userspace Mario Limonciello
2017-09-25 16:31 ` Pali Rohár
2017-09-25 16:58 ` Andy Shevchenko
2017-09-25 17:46 ` Mario.Limonciello
2017-09-25 17:46 ` Mario.Limonciello
2017-09-27 16:59 ` Darren Hart
2017-09-27 18:10 ` Mario.Limonciello
2017-09-27 18:10 ` Mario.Limonciello
2017-09-27 18:50 ` Darren Hart
2017-09-27 21:12 ` Mario.Limonciello
2017-09-27 21:12 ` Mario.Limonciello
2017-09-27 21:59 ` Darren Hart
2017-09-21 13:57 ` [PATCH 12/12] platform/x86: Kconfig: Change the default settings for dell-wmi-smbios Mario Limonciello
2017-09-25 16:13 ` [PATCH 00/12] Introduce support for Dell SMBIOS over WMI Pali Rohár
2017-09-25 16:32 ` Mario.Limonciello
2017-09-25 16:32 ` Mario.Limonciello
2017-09-25 16:49 ` Pali Rohár
2017-09-25 19:27 ` Mario.Limonciello
2017-09-25 19:27 ` Mario.Limonciello
2017-09-27 16:39 ` Darren Hart [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=20170927163958.GC23572@fury \
--to=dvhart@infradead.org \
--cc=Mario.Limonciello@dell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pali.rohar@gmail.com \
--cc=platform-driver-x86@vger.kernel.org \
--cc=quasisec@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.