IP Library Granted Patent US 10,216,927
Granted Patent B1
US 10,216,927 · App. 15/199,879 · Granted Feb 26, 2019

System and method for protecting memory pages associated with a process using a virtualization layer

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 10,216,927
App. No.
15/199,879
Granted
Feb 26, 2019
Kind
B1
Abstract

A computerized method is provided for protecting processes operating within a computing device. The method comprises an operation for identifying, by a virtualization layer operating in a host mode, when a guest process switch has occurred. The guest process switch corresponds to a change as to an operating state of a process within a virtual machine. Responsive to an identified guest process switch, an operation is conducted to determine, by the virtualization layer, whether hardware circuitry within the computing device is to access a different nested page table for use in memory address translations. The different nested page table alters page permissions for one or more memory pages associated with at least the process that are executable in the virtual machine.

Claims (32)

1. A computerized method for protecting processes operating within a computing device, comprising:

identifying, by a virtualization layer operating in a host mode and being executed by hardware circuitry, when a guest process switch has occurred, the guest process switch corresponds to a change as to an operating state of a process within a virtual machine that is detected by (i) a change in a data store associated with the hardware circuitry and (ii) the data store stores a value different from an address space associated with the guest agent process; and

responsive to the identified guest process switch, determining, by the virtualization layer, whether the hardware circuitry within the computing device is to access a different nested page table for use in memory address translations, wherein the different nested page table alters page permissions for one or more memory pages associated with one or more processes including the process that are executable in the virtual machine.

2. The computerized method of claim 1 , wherein the determining whether the hardware circuitry within the computing device is to access the different nested page table for use in memory address translations comprises assigning the different nested page table that restricts the page permissions for the one or more memory pages associated with the process when the process transitions from an active operating state to an inactive operating state.

3. The computerized method of claim 1 , wherein the identifying when the guest process switch has occurred comprises analyzing the change in content within the data store associated with the hardware circuitry that is executing the virtualization layer. The data store being a control register of a processor.

4. The computerized method of claim 1 , wherein the determining whether the hardware circuitry within the computing device is to access the different nested page table comprises determining that the guest process switch identifies that the process is now inactive and removal of one or more page permissions for one or more memory pages associated with the process are to be performed.

5. The computerized method of claim 4 , wherein one or more page permissions includes removal of a write permission for the one or more memory pages associated with the process.

6. The computerized method of claim 4 , wherein one or more page permissions includes removal of a write permission, a read permission and an execute permission for the one or more memory pages associated with the process so that the one or more memory pages are inaccessible inside the virtual machine.

7. The computerized method of claim 1 , wherein the determining whether the hardware circuitry within the computing device is to access the different nested page table comprises determining that the guest process switch identifies that the process is now inactive and altering one or more page permissions for one or more memory pages within a memory that handle a translation from a guest-physical address (GPA) to a host-physical address (HPA).

8. The computerized method of claim 1 , wherein the process monitors and stores information associated with analyzed content or events that may be associated with malicious activity during processing of an object within the virtual machine.

9. The computerized method of claim 1 , wherein the virtualization layer controls access by the hardware circuitry to the at least one different nested page table to restrict the page permissions for the one or more memory pages associated with the guest agent process when the content of the data store corresponding to an address space different than the address space associated with the guest agent process.

10. A computing device, comprising:

a hardware processor including a control register;

a memory coupled to the hardware processor, the memory includes virtualization software that includes a virtual machine to operate in a guest mode and a virtualization layer to operate in a host mode,

wherein in response to detecting a guest process switch corresponding to a change to an operating state of a guest agent process within a virtual machine as being set into an inactive operating state, the virtualization layer, being executed by the processor, assigns a page table for use in memory address translations different than a page table currently in use, the different page table alters page permissions for one or more memory pages associated with the guest agent process, and

wherein the virtualization layer detects the guest process switch by detecting a change in content with the control register of the processor that is executing the virtualization layer and the virtualization layer assigns the different page table to restrict the page permissions for the one or more memory pages associated with the guest agent process when the content of the control register corresponds to an address space different than an address space associated with the guest agent process.

11. The computing device of claim 10 , wherein the virtualization layer assigns the different page table that restricts the page permissions for the one or more memory pages associated with the guest agent process when the guest agent process transitions from an active operating state to the inactive operating state.

12. The computing device of claim 11 , wherein the page permissions are restricted by removing a write permission for the one or more memory pages associated with the guest agent process.

13. The computing device of claim 11 , wherein the page permissions are restricted by removing an execute permission for the one or more memory pages associated with the guest agent process.

14. The computing device of claim 11 , wherein the page permissions are restricted by removing a write permission, a read permission and an execute permission for the one or more memory pages associated with the guest agent process so that the one or more memory pages are inaccessible inside the virtual machine.

15. The computing device of claim 10 , wherein the virtualization layer detects the guest process switch by detecting a change in content with the control register of the processor that is executing the virtualization layer.

16. The computing device of claim 10 , wherein the page permissions are restricted by a guest monitor component of the virtualization layer removing a write permission for the one or more memory pages associated with the guest agent process.

17. The computing device of claim 10 , wherein the page permissions are restricted by a guest monitor component of the virtualization layer removing an execute permission for the one or more memory pages associated with the guest agent process.

18. The computing device of claim 10 , wherein the page permissions are restricted by a guest monitor component of the virtualization layer removing a write permission, a read permission and an execute permission for the one or more memory pages associated with the guest agent process so that the one or more memory pages are inaccessible inside the virtual machine.

19. The computing device of claim 10 , wherein the page table includes a first set of nested page tables include one or more memory pages within the memory to handle a first translation from a guest-physical address to a host-physical address and the different page table includes a second set of nested page tables include one or more memory pages within the memory to handle a second translation from a guest-physical address (GPA) to a host-physical address, the second transition being different from the first transition.

20. An endpoint device, comprising:

a system interconnect;

a hardware processor coupled to the system interconnect, the hardware processor includes a control register;

a network interface coupled to the system interconnect, the network interface being configured to transmit or receive messages in accordance with a selected communication protocol; and

a memory coupled to the system interconnect, the memory includes virtualization software that includes a virtual machine to operate in a guest mode and a virtualization layer to operate in a host mode,

wherein in response to detecting a guest process switch corresponding to a change to an operating state of a guest agent process within a virtual machine as being set into an inactive state, the virtualization layer, being executed by the processor, assigns at least one nested page table for use in memory address translations different than nested page tables currently in use, the at least one different nested page table restricting page permissions for one or more memory pages associated with guest agent process while being set into the inactive state, and

wherein the virtualization layer assigns the at least one different nested page table to restrict the page permissions for the one or more memory pages associated with the guest agent process when content of the control register corresponds to an address space different than an address space associated with the guest agent process.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded Aug 16, 2024
From: STG PARTNERS, LLC
To: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
Reel/Frame 068671/0435 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068656/0098 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068657/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068657/0764 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY HOLDINGS LLC; SKYHIGH SECURITY LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 068657/0666 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
To: MAGENTA SECURITY HOLDINGS LLC
Reel/Frame 068656/0920 →
MERGER Recorded Aug 13, 2024
From: FIREEYE SECURITY HOLDINGS US LLC
To: MUSARUBRA US LLC
Reel/Frame 068581/0279 →
SECURITY INTEREST Recorded Aug 1, 2024
From: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
To: STG PARTNERS, LLC
Reel/Frame 068324/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2023
From: MANDIANT, INC.
To: FIREEYE SECURITY HOLDINGS US LLC
Reel/Frame 063272/0743 →
CHANGE OF NAME Recorded Mar 16, 2023
From: FIREEYE, INC.
To: MANDIANT, INC.
Reel/Frame 063113/0029 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 11, 2021
From: FIREEYE SECURITY HOLDINGS US LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057772/0791 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Oct 11, 2021
From: FIREEYE SECURITY HOLDINGS US LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057772/0681 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2016
From: STEINBERG, UDO
To: FIREEYE, INC.
Reel/Frame 039112/0383 →
Cited By (10)
US 12,189,966 US 12,200,013 US 12,248,563 US 12,278,834 US 12,348,561 US 12,363,145 US 12,388,865 US 12,445,458 US 12,445,481 US 12,449,789