From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from ws5-mx01.kavi.com (ws5-mx01.kavi.com [34.193.7.191]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2D064CE79AC for ; Wed, 20 Sep 2023 09:45:05 +0000 (UTC) Received: from lists.oasis-open.org (oasis.ws5.connectedcommunity.org [10.110.1.242]) by ws5-mx01.kavi.com (Postfix) with ESMTP id 5C7E542A79 for ; Wed, 20 Sep 2023 09:45:05 +0000 (UTC) Received: from lists.oasis-open.org (oasis-open.org [10.110.1.242]) by lists.oasis-open.org (Postfix) with ESMTP id 28D8E986671 for ; Wed, 20 Sep 2023 09:45:05 +0000 (UTC) Received: from host09.ws5.connectedcommunity.org (host09.ws5.connectedcommunity.org [10.110.1.97]) by lists.oasis-open.org (Postfix) with QMQP id 08BA9986669; Wed, 20 Sep 2023 09:45:05 +0000 (UTC) Mailing-List: contact virtio-dev-help@lists.oasis-open.org; run by ezmlm List-ID: Sender: Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Received: from lists.oasis-open.org (oasis-open.org [10.110.1.242]) by lists.oasis-open.org (Postfix) with ESMTP id E488F98666A for ; Wed, 20 Sep 2023 09:45:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at kavi.com X-IronPort-AV: E=McAfee;i="6600,9927,10838"; a="411119421" X-IronPort-AV: E=Sophos;i="6.02,161,1688454000"; d="scan'208,217";a="411119421" X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10838"; a="775925905" X-IronPort-AV: E=Sophos;i="6.02,161,1688454000"; d="scan'208,217";a="775925905" Content-Type: multipart/alternative; boundary="------------LMYCMxFBeFM6D7Vkp6qb4rhd" Message-ID: <84b2f6b0-c4fb-9b28-53ab-cc8c0b6763c2@intel.com> Date: Wed, 20 Sep 2023 17:44:40 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Firefox/102.0 Thunderbird/102.15.1 Content-Language: en-US To: Parav Pandit , "Michael S. Tsirkin" Cc: "virtio-dev@lists.oasis-open.org" , Jason Wang References: <09045654-d69c-845d-ee26-636fa08f68b4@intel.com> <67680965-b115-32c7-dfdf-c56ab37bdd81@intel.com> <213a0f94-cee2-d8c5-3c5d-d2d7fc920e75@intel.com> <5f01772f-eb27-bfe0-7f69-b83fbd90dda0@intel.com> <20230918144312-mutt-send-email-mst@kernel.org> From: "Zhu, Lingshan" In-Reply-To: Subject: Re: [virtio-dev] Re: [PATCH 0/5] virtio: introduce SUSPEND bit and vq state --------------LMYCMxFBeFM6D7Vkp6qb4rhd Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 9/20/2023 4:34 PM, Parav Pandit wrote: > > > There can be malicious SW on the host, and the host may be hacked > and compromised. > > For example: > > 1) SUSPEND the a running guest by admin vq > > 2) dumping guest memory through admin vq dirty page tracking. > > No. hypervisor is trusted entity who is hosting the VM. > The PF may not owned by the hypervisor and the host can be hacked and computerized. > > The device migration is initiated by the hypervisor. > > I am omitting the TDISP question for now as talked before. > > TDISP spec will evolve for hypercalls when we get there. > Confidential computing is out of the spec, as we discussed and agreed. This is to demonstrate why even using a bar cap as proxy for admin vq LM is still problematic. TDISP gives examples of the attacking models, and admin vq based LM conforms to the models. > > *From:* virtio-dev@lists.oasis-open.org > *On Behalf Of *Zhu, Lingshan > *Sent:* Wednesday, September 20, 2023 12:01 PM > *To:* Parav Pandit ; Michael S. Tsirkin > *Cc:* virtio-dev@lists.oasis-open.org; Jason Wang > *Subject:* Re: [virtio-dev] Re: [PATCH 0/5] virtio: introduce SUSPEND > bit and vq state > > On 9/20/2023 2:08 PM, Parav Pandit wrote: > > From: Zhu, Lingshan > > Sent: Wednesday, September 20, 2023 11:36 AM > > On 9/19/2023 2:49 AM, Michael S. Tsirkin wrote: > > On Mon, Sep 18, 2023 at 06:41:55PM +0000, Parav Pandit wrote: > > Please refer to the code for setting FEATURES_OK. > > It wont work when one needs to suspend the device. > > There is no point of doing such work over registers as fundamental > > framework is over the AQ. > > Well not really. It's over admin commands. When these were built the > > intent always was that it's possible to use admin commands through > > another interface, other than admin queue. Is there a problem > > implementing admin commands over a memory BAR? For example, I can see > > an "admin command" capability pointing at a BAR where commands are > > supplied, and using a new group type referring to device itself. > > I am not sure, if a bar cap would be implemented as a proxy for the admin vq > > based live migration. then the problems of admin vq LM that we have discussed > > still exist. the bar is only a proxy, doesn't fix anything. and even larger side > > channel attacking surface: vf-->pf-->vf > > AQ LM using PF has no side channel attack as hypervisor and owner device is trusted entity as already discussed. > > I believe we have discussed this for many times, and I even provide > you some examples. > > Let me repeat for the last time. > > There can be malicious SW on the host, and the host may be hacked and > compromised. > For example: > 1) SUSPEND the a running guest by admin vq > 2) dumping guest memory through admin vq dirty page tracking. > > These above can happen right? > > You made TDISP as an example, but have you really read the TDISP spec? > In the spec: > > Device Security Architecture - Administrative interfaces (e.g., a PF) > may be > used to influence the security properties of the TDI used by the TVM. > > TEE-I/O requires the device to organize its hardware/software > interfaces such that the PF cannot > be used to affect the security of a TDI when it is in use by a TVM > > Clear? > --------------LMYCMxFBeFM6D7Vkp6qb4rhd Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit

On 9/20/2023 4:34 PM, Parav Pandit wrote:

> There can be malicious SW on the host, and the host may be hacked and compromised.
> For example:
> 1) SUSPEND the a running guest by admin vq
> 2) dumping guest memory through admin vq dirty page tracking.

No. hypervisor is trusted entity who is hosting the VM.

The PF may not owned by the hypervisor and the host can be hacked and computerized.

The device migration is initiated by the hypervisor.

 

I am omitting the TDISP question for now as talked before.

TDISP spec will evolve for hypercalls when we get there.

Confidential computing is out of the spec, as we discussed and agreed.

This is to demonstrate why even using a bar cap as proxy for admin vq LM is still problematic. 
TDISP gives examples of the attacking models, and admin vq based LM
conforms to the models.

 

From: virtio-dev@lists.oasis-open.org <virtio-dev@lists.oasis-open.org> On Behalf Of Zhu, Lingshan
Sent: Wednesday, September 20, 2023 12:01 PM
To: Parav Pandit <parav@nvidia.com>; Michael S. Tsirkin <mst@redhat.com>
Cc: virtio-dev@lists.oasis-open.org; Jason Wang <jasowang@redhat.com>
Subject: Re: [virtio-dev] Re: [PATCH 0/5] virtio: introduce SUSPEND bit and vq state

 

 

On 9/20/2023 2:08 PM, Parav Pandit wrote:

 
From: Zhu, Lingshan <lingshan.zhu@intel.com>
Sent: Wednesday, September 20, 2023 11:36 AM
 
On 9/19/2023 2:49 AM, Michael S. Tsirkin wrote:
On Mon, Sep 18, 2023 at 06:41:55PM +0000, Parav Pandit wrote:
Please refer to the code for setting FEATURES_OK.
It wont work when one needs to suspend the device.
There is no point of doing such work over registers as fundamental
framework is over the AQ.
Well not really. It's over admin commands. When these were built the
intent always was that it's possible to use admin commands through
another interface, other than admin queue. Is there a problem
implementing admin commands over a memory BAR? For example, I can see
an "admin command" capability pointing at a BAR where commands are
supplied, and using a new group type referring to device itself.
I am not sure, if a bar cap would be implemented as a proxy for the admin vq
based live migration. then the problems of admin vq LM that we have discussed
still exist. the bar is only a proxy, doesn't fix anything. and even larger side
channel attacking surface: vf-->pf-->vf
 
AQ LM using PF has no side channel attack as hypervisor and owner device is trusted entity as already discussed.

I believe we have discussed this for many times, and I even provide you some examples.

Let me repeat for the last time.

There can be malicious SW on the host, and the host may be hacked and compromised.
For example:
1) SUSPEND the a running guest by admin vq
2) dumping guest memory through admin vq dirty page tracking.

These above can happen right?

You made TDISP as an example, but have you really read the TDISP spec?
In the spec:

Device Security Architecture - Administrative interfaces (e.g., a PF) may be
used to influence the security properties of the TDI used by the TVM.

TEE-I/O requires the device to organize its hardware/software interfaces such that the PF cannot
be used to affect the security of a TDI when it is in use by a TVM

Clear?

 

 


--------------LMYCMxFBeFM6D7Vkp6qb4rhd--