IP Library › Granted Patent US 12,259,963
Granted Patent B2
US 12,259,963 · App. 17/676,890 · Granted Mar 25, 2025

Confidential computing with device memory isolation

Inventors: Boris Pismenny (Haifa, IL); Miriam Menes (Tel Aviv, IL); Ahmad Atamli (Oxford, GB); Ilan Pardo (Ramat-Hasharon, IL); Ariel Shahar (Jerusalem, IL); Uria Basher (Ganei Tal, IL)
Assignee: Mellanox Technologies, Ltd
G06F21/53G06F9/5016G06F9/5077G06F13/28G06F21/79
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,259,963
App. No.
17/676,890
Filed
Feb 22, 2022
Granted
Mar 25, 2025
Kind
B2
Examiner
VU, TAYLOR P
Art Unit
2437
USPC
726/26
Abstract

A confidential computing (CC) apparatus includes a CPU and a peripheral device. The CPU is to run a hypervisor that hosts one or more Trusted Virtual Machines (TVMs). The peripheral device is coupled to the CPU and to an external memory. The CPU includes a TVM-Monitor (TVMM), to perform management operations on the one or more TVMs, to track memory space that is allocated by the hypervisor to the peripheral device in the external memory, to monitor memory-access requests issued by the hypervisor to the memory space allocated to the peripheral device in the external memory, and to permit or deny the memory-access requests, according to a criterion.

Claims (29)

1. A confidential computing (CC) apparatus, comprising:

a CPU, to run a hypervisor that hosts one or more Trusted Virtual Machines (TVMs); and

a network device coupled to the CPU and to an external memory, for providing network communication to the CC apparatus,

wherein the CPU comprises a TVM-Monitor (TVMM) distinct from the hypervisor to:

perform management operations on the one or more TVMs;

track allocation messages of memory space that is allocated by the hypervisor in the external memory to the TVMs, to the network device and to the hypervisor;

monitor memory-access requests issued by the network device to the external memory;

check for each monitored memory-access request issued by the network device whether the monitored memory-access request is to a memory segment allocated to the network device issuing the request in the tracked allocation messages; and

deny: (i) memory-access requests issued by the TVMs to the memory space allocated to the network device or to the memory space allocated to the hypervisor, (ii) memory-access requests issued by the network device to the memory space allocated to the TVMS or to the memory space allocated to the hypervisor, and (iii) memory-access requests issued by the hypervisor to the memory space allocated to the TVMs or to the memory space allocated to the network device.

2. The CC apparatus according to claim 1 , wherein the memory-access requests comprise Direct Memory Access (DMA) accesses to the external memory.

3. The CC apparatus according to claim 1 , wherein the TVMM is to decide whether to permit or deny a memory-access request based on (i) an address in the external memory that is accessed by the memory-access request, and (ii) an identifier that is specified in the memory-access request and identifies a software that originated the memory-access request.

4. The CC apparatus according to claim 1 , wherein the TVMM additionally tracks deallocation messages.

5. The CC apparatus according to claim 1 , wherein the TVMM updates an allocation table responsive to the tracked allocation messages, and uses the allocation table to check whether requests are to a memory segment allocated to the TVMs issuing the requests.

6. The CC apparatus according to claim 1 , wherein the TVMM monitors memory-access requests on a system bus of the CC apparatus.

7. The CC apparatus according to claim 1 , wherein the TVMM checks whether the tracked allocations collide.

8. The CC apparatus according to claim 7 , wherein the TVMM notifies a Trusted Security Environment Security Manager (TSM) when tracked allocations to TVMs collide, and aborts the CPU when a collision between tracked allocations pertains to allocation of memory to the hypervisor.

9. The CC apparatus according to claim 1 , wherein the TVMM further monitors memory-access requests issued by the hypervisor and checks whether the requests issued by the hypervisor are to a memory segment allocated to the hypervisor.

10. The CC apparatus according to claim 9 , wherein the TVMM aborts the CPU when a memory-access request is to a memory segment not allocated to the TVM issuing the request, and aborts the CPU when a request issued by the hypervisor is not to a memory segment allocated to the hypervisor.

11. The CC apparatus according to claim 1 , wherein the TVMM tracks allocation messages by monitoring system calls of the hypervisor.

12. A confidential computing (CC) method, comprising:

running, in a CPU, a hypervisor that hosts one or more Trusted Virtual Machines (TVMs); and

using a TVM-Monitor (TVMM) distinct from the hypervisor, running in the CPU:

performing management operations on the one or more TVMs;

tracking allocation messages of memory space, which is allocated in an external memory, by the hypervisor, to the TVMs, to the hypervisor and to a network device;

monitoring memory-access requests issued by the network device to the external memory;

checking for each monitored memory-access request issued by the network device whether the monitored memory-access request is to a memory segment allocated to the network device issuing the request in the tracked allocation messages; and

denying: (i) memory-access requests issued by the TVMs to the memory space allocated to the network device or to the memory space allocated to the hypervisor, (ii) memory-access requests issued by the network device to the memory space allocated to the TVMS or to the memory space allocated to the hypervisor, and (iii) memory-access requests issued by the hypervisor to the memory space allocated to the TVMs or to the memory space allocated to the network device.

13. The method according to claim 12 , wherein the memory-access requests comprise Direct Memory Access (DMA) accesses to the external memory.

14. The method according to claim 12 , wherein denying the memory-access requests comprises deciding whether to permit or deny a memory-access request based on (i) an address in the external memory that is accessed by the memory-access request, and (ii) an identifier that is specified in the memory-access request and identifies a software that originated the memory-access request.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 23, 2022
From: PISMENNY, BORIS; MENES, MIRIAM; ATAMLI, AHMAD; PARDO, ILAN; SHAHAR, ARIEL; BASHER, URIA
To: MELLANOX TECHNOLOGIES, LTD.
Reel/Frame 059070/0988 →
Continuity (1)
Related Publication 20230267196A1 · Aug 24, 2023
References Cited (18)
US 20090113430A1 · Riley · 2009 [cited by examiner]
US 20110145916A1 · McKenzie · 2011 [cited by examiner]
US 20120047576A1 · Do · 2012 [cited by examiner]
US 20120054744A1 · Singh · 2012 [cited by examiner]
US 20120110181A1 · Tsirkin · 2012 [cited by examiner]
US 20170180325A1 · Palermo · 2017 [cited by examiner]
US 20180150232A1 · Tsirkin · 2018 [cited by examiner]
US 20190109714A1 · Clark · 2019 [cited by examiner]
US 20190243673A1 · Franciosi · 2019 [cited by examiner]
US 20200202038A1 · Zhang · 2020 [cited by examiner]
US 20200285594A1 · Busaba · 2020 [cited by examiner]
US 20210011984A1 · Renke · 2021 [cited by examiner]
US 20230070125A1 · Evans · 2023 [cited by examiner]
Intel Corporation, “Intel Trust Domain Extensions,” White Paper, pp. 1-9, Sep. 17, 2020. [cited by applicant]
Advanced Micro Devices Inc., “AMD SEV-SNP: Srengthening VM Isolation with Integrity Protection and More,” White Paper, pp. 1-20, Jan. 2020. [cited by applicant]
Advanced Micro Devices Inc, et al., “TEE Device Interface Security Protocol (TDSIP)”, Draft PCI-SIG Engineering Change Notice, pp. 1-57, Dec. 1, 2020. [cited by applicant]
Ahmad et al., “Chancel: Efficient Multi-Client Isolation Under Adversarial Programs,” Network and Distributed Systems Security (NDSS) Symposium, pp. 1-18, Feb. 21-25, 2021. [cited by applicant]
Hunt et al., “Confidential Computing for OpenPower,” Proceedings of the Sixteenth European Conference on Computer Systems, pp. 294-310, Apr. 26-28, 2021. [cited by applicant]