From: Sean Christopherson <seanjc@google.com>
To: Dmytro Maluka <dmy@semihalf.com>
Cc: Elena Reshetova <elena.reshetova@intel.com>,
Carlos Bilbao <carlos.bilbao@amd.com>,
Jason CJ Chen <jason.cj.chen@intel.com>,
"corbet@lwn.net" <corbet@lwn.net>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"ardb@kernel.org" <ardb@kernel.org>,
"kraxel@redhat.com" <kraxel@redhat.com>,
"dovmurik@linux.ibm.com" <dovmurik@linux.ibm.com>,
"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
"Dhaval.Giani@amd.com" <Dhaval.Giani@amd.com>,
"michael.day@amd.com" <michael.day@amd.com>,
"pavankumar.paluri@amd.com" <pavankumar.paluri@amd.com>,
"David.Kaplan@amd.com" <David.Kaplan@amd.com>,
"Reshma.Lal@amd.com" <Reshma.Lal@amd.com>,
"Jeremy.Powell@amd.com" <Jeremy.Powell@amd.com>,
"sathyanarayanan.kuppuswamy@linux.intel.com"
<sathyanarayanan.kuppuswamy@linux.intel.com>,
"alexander.shishkin@linux.intel.com"
<alexander.shishkin@linux.intel.com>,
"thomas.lendacky@amd.com" <thomas.lendacky@amd.com>,
"tglx@linutronix.de" <tglx@linutronix.de>,
"dgilbert@redhat.com" <dgilbert@redhat.com>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"dinechin@redhat.com" <dinechin@redhat.com>,
"linux-coco@lists.linux.dev" <linux-coco@lists.linux.dev>,
"berrange@redhat.com" <berrange@redhat.com>,
"mst@redhat.com" <mst@redhat.com>,
"tytso@mit.edu" <tytso@mit.edu>,
"jikos@kernel.org" <jikos@kernel.org>,
"joro@8bytes.org" <joro@8bytes.org>,
"leon@kernel.org" <leon@kernel.org>,
"richard.weinberger@gmail.com" <richard.weinberger@gmail.com>,
"lukas@wunner.de" <lukas@wunner.de>,
"jejb@linux.ibm.com" <jejb@linux.ibm.com>,
"cdupontd@redhat.com" <cdupontd@redhat.com>,
"jasowang@redhat.com" <jasowang@redhat.com>,
"sameo@rivosinc.com" <sameo@rivosinc.com>,
"bp@alien8.de" <bp@alien8.de>,
"security@kernel.org" <security@kernel.org>,
Larry Dewey <larry.dewey@amd.com>,
android-kvm@google.com, Dmitry Torokhov <dtor@google.com>,
Allen Webb <allenwebb@google.com>,
Tomasz Nowicki <tn@semihalf.com>,
Grzegorz Jaszczyk <jaz@semihalf.com>,
Patryk Duda <pdk@semihalf.com>
Subject: Re: [PATCH v2] docs: security: Confidential computing intro and threat model for x86 virtualization
Date: Fri, 16 Jun 2023 06:56:17 -0700 [thread overview]
Message-ID: <ZIxqAXhy1tCVpzz7@google.com> (raw)
In-Reply-To: <001aa2ed-2f78-4361-451d-e31a4d4abaa0@semihalf.com>
On Fri, Jun 16, 2023, Dmytro Maluka wrote:
> On 6/14/23 16:15, Sean Christopherson wrote:
> > On Wed, Jun 14, 2023, Elena Reshetova wrote:
> >> Not having a network access requirement doesn’t implicitly invalidate the
> >> separation guarantees between the host and guest, it just makes it easier
> >> since you have one interface less between the host and guest.
> >
> > My point is that if the protected guest doesn't need any I/O beyond the hardware
> > device that it accesses, then the threat model is different because many of the
> > new/novel attack surfaces that come with the TDX/SNP threat model don't exist.
> > E.g. the hardening that people want to do for VirtIO drivers may not be at all
> > relevant to pKVM.
...
> But I think I get what you mean: there is no data transfer whereby the
> host is not an endpoint but an intermediary between the guest and some
> device. In simple words, things like virtio-net or virtio-blk are out of
> scope. Yes, I think that's correct for pKVM-on-x86 use cases (and I
> suppose it is correct for pKVM-on-ARM use cases as well). I guess it
> means that "guest data attacks" may not be relevant to pKVM, and perhaps
> this makes its threat model substantially different from cloud use
> cases.
Yes.
> >>>> +This new type of adversary may be viewed as a more powerful type
> >>>> +of external attacker, as it resides locally on the same physical machine
> >>>> +-in contrast to a remote network attacker- and has control over the guest
> >>>> +kernel communication with most of the HW::
> >>>
> >>> IIUC, this last statement doesn't hold true for the pKVM on x86 use case, which
> >>> specifically aims to give a "guest" exclusive access to hardware resources.
> >>
> >> Does it hold for *all* HW resources? If yes, indeed this would make pKVM on
> >> x86 considerably different.
> >
> > Heh, the original says "most", so it doesn't have to hold for all hardware resources,
> > just a simple majority.
>
> Again, pedantic mode on, I find it difficult to agree with the wording
> that the guest owns "most of" the HW resources it uses. It controls the
> data communication with its hardware device, but other resources (e.g.
> CPU time, interrupts, timers, PCI config space, ACPI) are owned by the
> host and virtualized by it for the guest.
I wasn't saying that the guest owns most resources, I was saying that the *untrusted*
host does *not* own most resources that are exposed to the guest. My understanding
is that everything in your list is owned by the trusted hypervisor in the pKVM model.
What I was pointing out is related to the above discussion about the guest needing
access to hardware that is effectively owned by the untrusted host, e.g. network
access.
next prev parent reply other threads:[~2023-06-16 13:57 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-12 16:47 [PATCH v2] docs: security: Confidential computing intro and threat model for x86 virtualization Carlos Bilbao
2023-06-12 22:43 ` Randy Dunlap
2023-06-14 13:55 ` Carlos Bilbao
2023-06-14 15:06 ` Randy Dunlap
2023-06-13 17:03 ` Sean Christopherson
2023-06-14 7:37 ` Reshetova, Elena
2023-06-14 14:15 ` Sean Christopherson
2023-06-16 12:36 ` Dmytro Maluka
2023-06-16 13:56 ` Sean Christopherson [this message]
2023-06-16 14:09 ` Allen Webb
2023-06-16 14:42 ` Sean Christopherson
2023-06-16 15:16 ` Allen Webb
2023-06-17 18:15 ` Dmytro Maluka
2023-06-16 15:31 ` Dmytro Maluka
2023-06-16 18:07 ` Sean Christopherson
2023-06-17 17:43 ` Dmytro Maluka
2023-06-19 11:23 ` Reshetova, Elena
2023-06-19 15:03 ` Dmytro Maluka
2023-06-16 12:24 ` Dmytro Maluka
2023-06-16 14:20 ` Sean Christopherson
2023-06-16 15:36 ` Dmytro Maluka
2023-06-22 14:32 ` Carlos Bilbao
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=ZIxqAXhy1tCVpzz7@google.com \
--to=seanjc@google.com \
--cc=David.Kaplan@amd.com \
--cc=Dhaval.Giani@amd.com \
--cc=Jeremy.Powell@amd.com \
--cc=Reshma.Lal@amd.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=allenwebb@google.com \
--cc=android-kvm@google.com \
--cc=ardb@kernel.org \
--cc=berrange@redhat.com \
--cc=bp@alien8.de \
--cc=carlos.bilbao@amd.com \
--cc=cdupontd@redhat.com \
--cc=corbet@lwn.net \
--cc=dave.hansen@linux.intel.com \
--cc=dgilbert@redhat.com \
--cc=dinechin@redhat.com \
--cc=dmy@semihalf.com \
--cc=dovmurik@linux.ibm.com \
--cc=dtor@google.com \
--cc=elena.reshetova@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=jason.cj.chen@intel.com \
--cc=jasowang@redhat.com \
--cc=jaz@semihalf.com \
--cc=jejb@linux.ibm.com \
--cc=jikos@kernel.org \
--cc=joro@8bytes.org \
--cc=kraxel@redhat.com \
--cc=larry.dewey@amd.com \
--cc=leon@kernel.org \
--cc=linux-coco@lists.linux.dev \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas@wunner.de \
--cc=michael.day@amd.com \
--cc=mst@redhat.com \
--cc=pavankumar.paluri@amd.com \
--cc=pdk@semihalf.com \
--cc=richard.weinberger@gmail.com \
--cc=sameo@rivosinc.com \
--cc=sathyanarayanan.kuppuswamy@linux.intel.com \
--cc=security@kernel.org \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=tn@semihalf.com \
--cc=tytso@mit.edu \
/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).