IP Library › Granted Patent US 12,153,944
Granted Patent B2
US 12,153,944 · App. 16/916,051 · Granted Nov 26, 2024

Systems, methods, and media for trusted hypervisors

Inventors: Shih-Wei Li (New York, NY); Jason Nieh (New York, NY); John S. Koh (Ridgefield, NJ)
Assignee: The Trustees of Columbia University in the City of New York
G06F9/45558G06F9/4401G06F9/5077G06F21/44G06F2009/45587
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,153,944
App. No.
16/916,051
Granted
Nov 26, 2024
Kind
B2
Abstract

Systems comprising: a memory; and a hardware processor and configured to: execute a hypervisor having a first portion and a second portion, wherein the first portion of the hypervisor executes at a first exception level that allows the first portion to access data of a virtual machine in the hardware processor and the memory, and wherein the second portion of the hypervisor executes at a second exception level that prevents the second portion from accessing the data of the virtual machine in the hardware processor and the memory. Methods comprising: executing a first portion of a hypervisor at a first exception level that allows the first portion to access data of a virtual machine in a hardware processor and memory; and executing a second portion of a hypervisor at a second exception level that prevents the second portion from accessing the data in the hardware processor and the memory.

Claims (30)

1. A system comprising:

a memory; and

a hardware processor coupled to the memory and configured to:

execute a hypervisor having a first portion and a second portion, wherein the first portion of the hypervisor executes at a first exception level and is able to access data of a virtual machine in the hardware processor and the memory, and wherein the second portion of the hypervisor executes at a second exception level and accesses the data of the virtual machine in the hardware processor and the memory using a first page table that translates a host virtual address to a virtualized host physical address and a second page table that translates the virtualized host physical address to a host physical address, wherein the second page table is controlled by the first portion of the hypervisor; and

unmapping physical memory from the second page table by the first portion of the hypervisor to prevent the second portion of the hypervisor from accessing the physical memory.

2. The system of claim 1 , wherein the first portion uses a nested page table to enforce memory isolation between the first portion, the second portion, and the virtual machine.

3. The system of claim 1 , wherein the first portion authenticates an image of the virtual machine before booting the virtual machine.

4. The system of claim 1 , wherein the second portion calls a function of the first portion that causes the first portion to authenticate the image of the virtual machine.

5. The system of claim 1 , wherein the second portion installs and boots the first portion.

6. The system of claim 5 , wherein the first portion deprivileges the second portion after being booted.

7. The system of claim 1 , wherein the second portion schedules a virtual central processing unit (CPU) to a physical CPU and calls the first portion to run the virtual CPU.

8. A method comprising:

executing a first portion of a hypervisor at a first exception level, wherein the first portion is able to access data of a virtual machine in a hardware processor and a memory;

executing a second portion of a hypervisor at a second exception level, wherein the second portion accesses the data of the virtual machine in the hardware processor and the memory using a first page table that translates a host virtual address to a virtualized host physical address and a second page table that translates the virtualized host physical address to a host physical address, wherein the second page table is controlled by the first portion of the hypervisor; and

unmapping physical memory from the second page table by the first portion of the hypervisor to prevent the second portion of the hypervisor from accessing the physical memory.

9. The method of claim 8 , wherein the first portion uses a nested page table to enforce memory isolation between the first portion, the second portion, and the virtual machine.

10. The method of claim 8 , wherein the first portion authenticates an image of the virtual machine before booting the virtual machine.

11. The method of claim 8 , wherein the second portion calls a function of the first portion that causes the first portion to authenticate the image of the virtual machine.

12. The method of claim 8 , wherein the second portion installs and boots the first portion.

13. The method of claim 12 , wherein the first portion deprivileges the second portion after being booted.

14. The method of claim 8 , wherein the second portion schedules a virtual central processing unit (CPU) to a physical CPU and calls the first portion to run the virtual CPU.

15. A non-transitory computer-readable medium containing computer executable instructions that, when executed by a processor, cause the processor to perform a method, the method comprising: comprising:

executing a first portion of a hypervisor at a first exception level, wherein the first portion is able to access data of a virtual machine in a hardware processor and a memory; executing a second portion of a hypervisor at a second exception level, wherein the second portion accesses the data of the virtual machine in the hardware processor and the memory using a first page table that translates a host virtual address to a virtualized host physical address and a second page table that translates the virtualized host physical address to a host physical address, wherein the second page table is controlled by the first portion of the hypervisor; and

unmapping physical memory from the second page table by the first portion of the hypervisor to prevent the second portion of the hypervisor from accessing the physical memory.

16. The non-transitory computer-readable medium of claim 15 , wherein the first portion uses a nested page table to enforce memory isolation between the first portion, the second portion, and the virtual machine.

17. The non-transitory computer-readable medium of claim 15 , wherein the first portion authenticates an image of the virtual machine before booting the virtual machine.

18. The non-transitory computer-readable medium of claim 15 , wherein the second portion calls a function of the first portion that causes the first portion to authenticate the image of the virtual machine.

19. The non-transitory computer-readable medium of claim 15 , wherein the second portion installs and boots the first portion.

20. The non-transitory computer-readable medium of claim 19 , wherein the first portion deprivileges the second portion after being booted.

21. The non-transitory computer-readable medium of claim 15 , wherein the second portion schedules a virtual central processing unit (CPU) to a physical CPU and calls the first portion to run the virtual CPU.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2021
From: LI, SHIH-WEI; NIEH, JASON; KOH, JOHN S.
To: THE TRUSTEES OF COLUMBIA UNIVERSITY IN THE CITY OF NEW YORK
Reel/Frame 057050/0394 →
Continuity (2)
Provisional Application 62867808 · Jun 27, 2019
Related Publication 20200409740A1 · Dec 31, 2020