IP Library › Granted Patent US 11,816,218
Granted Patent B2
US 11,816,218 · App. 16/938,986 · Granted Nov 14, 2023

Protecting operating system kernel objects using a hypervisor

Inventors: Prasad Sharad Dabak (Pune, IN); Leena Shuklendu Soman (Pune, IN)
Assignee: VMWARE, INC.
G06F21/566G06F9/45545G06F9/45558G06F21/54G06F21/554G06F2009/45583G06F2009/45587G06F2009/45591G06F2221/034
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 11,816,218
App. No.
16/938,986
Filed
Jul 26, 2020
Granted
Nov 14, 2023
Kind
B2
Art Unit
2432
USPC
726/23
Abstract

Example methods are provided to use a guest monitoring mode (GMM) module in a hypervisor to monitor for attempts to maliciously modify operating system (OS) kernel objects in a virtualized computing environment. A created OS kernel object is migrated to a memory space where the GMM module can detect an attempt to modify the OS kernel object. The GMM module uses reference information to determine whether the modification is authorized by trusted OS kernel code or is being attempted by malicious code.

Claims (71)

1. A method in a virtualized computing environment to protect operating system (OS) kernel objects against modification by malicious code, the method comprising:

allocating, by a guest agent in a guest virtualized computing instance supported by a host in the virtualized computing environment, a memory space to store the OS kernel objects;

detecting, by a guest monitoring mode (GMM) module at the host, creation of an OS kernel object by a guest OS of the virtualized computing instance;

in response to detecting the creation of the OS kernel object, migrating, by the GMM module, the created OS kernel object to one or more memory addresses of the allocated memory space;

monitoring, by the GMM module, for at least one attempt to modify the OS kernel object in the one or more memory addresses of the allocated memory space;

in response to the monitoring having detected a first attempt to modify the OS kernel object, checking, by the GMM module, reference information to determine whether the first attempt is authorized; and

in response to a determination that the first attempt is unauthorized, initiating, by the GMM module, a remedial action to respond to the first attempt.

2. The method of claim 1 , wherein the GMM module resides in a hypervisor of the host.

3. The method of claim 1 , wherein:

detecting the creation of the OS kernel object includes detecting, by the GMM module, a call by the guest OS to a first function to create the OS kernel object, and a return of the first function to indicate completion of the creation of the OS kernel object,

the OS kernel object is created by the first function in a first memory space in which attempts to modify the OS kernel object are untraceable by the GMM module,

the allocated memory space includes a second memory space in which attempts to modify the OS kernel object are traceable by the GMM module, and

migrating the created OS kernel object includes migrating, by the GMM module, the created OS kernel object from the first memory space to the second memory space.

4. The method of claim 3 , further comprising:

modifying, by the GMM module, state information of the guest OS to indicate to the guest OS that the OS kernel object was originally created in the second memory space; and

releasing, by the GMM module, at least one memory address in the first memory space that was occupied by the OS kernel object.

5. The method of claim 1 , wherein the one or more memory addresses of the allocated memory space includes a set of memory addresses in a pool of memory addresses of the allocated memory space, and wherein the method further comprises:

in response to the monitoring having detected a second attempt to destroy the OS kernel object in the allocated memory space:

awaiting, by the GMM module, a notification that the OS kernel object has been deleted from the set of memory addresses; and

returning, by the GMM module after deletion of the OS kernel object from the set of memory addresses, the set of memory addresses to the pool of memory addresses in the allocated memory space.

6. The method of claim 1 , further comprising in response to a determination that the first attempt is authorized, accepting, by the GMM module, modification of the OS kernel object.

7. The method of claim 1 , wherein the remedial action includes one or more of: shutting down the guest OS, shutting down the virtualized computing instance, or sending an alert to a management server to enable further investigation of the first attempt.

8. A non-transitory computer-readable medium having instructions stored thereon, which in response to execution by one or more processors in a virtualized computing environment, cause the one or more processors to perform or control performance of operations to protect operating system (OS) kernel objects against modification by malicious code, the operations comprising:

allocating, by a guest agent in a guest virtualized computing instance supported by a host in the virtualized computing environment, a memory space to store the OS kernel objects;

detecting, by a guest monitoring mode (GMM) module at the host, creation of an OS kernel object by a guest OS of the virtualized computing instance;

in response to detecting the creation of the OS kernel object, migrating, by the GMM module, the created OS kernel object to one or more memory addresses of the allocated memory space;

monitoring, by the GMM module, for at least one attempt to modify the OS kernel object in the one or more memory addresses of the allocated memory space;

in response to the monitoring having detected a first attempt to modify the OS kernel object, checking, by the GMM module, reference information to determine whether the first attempt is authorized; and

in response to a determination that the first attempt is unauthorized, initiating, by the GMM module, a remedial action to respond to the first attempt.

9. The non-transitory computer-readable medium of claim 8 , wherein the GMM module resides in a hypervisor of the host.

10. The non-transitory computer-readable medium of claim 8 , wherein:

detecting the creation of the OS kernel object includes detecting, by the GMM module, a call by the guest OS to a first function to create the OS kernel object, and a return of the first function to indicate completion of the creation of the OS kernel object,

the OS kernel object is created by the first function in a first memory space in which attempts to modify the OS kernel object are untraceable by the GMM module,

the allocated memory space includes a second memory space in which attempts to modify the OS kernel object are traceable by the GMM module, and

migrating the created OS kernel object includes migrating, by the GMM module, the created OS kernel object from the first memory space to the second memory space.

11. The non-transitory computer-readable medium of claim 10 , wherein the operations further comprise:

modifying, by the GMM module, state information of the guest OS to indicate to the guest OS that the OS kernel object was originally created in the second memory space; and

releasing, by the GMM module, at least one memory address in the first memory space that was occupied by the OS kernel object.

12. The non-transitory computer-readable medium of claim 8 , wherein the one or more memory addresses of the allocated memory space includes a set of memory addresses in a pool of memory addresses of the allocated memory space, and wherein the operations further comprise:

in response to the monitoring having detected a second attempt to destroy the OS kernel object in the allocated memory space:

awaiting, by the GMM module, a notification that the OS kernel object has been deleted from the set of memory addresses; and

returning, by the GMM module after deletion of the OS kernel object from the set of memory addresses, the set of memory addresses to the pool of memory addresses in the allocated memory space.

13. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise:

in response to a determination that the first attempt is authorized, accepting, by the GMM module, modification of the OS kernel object.

14. The non-transitory computer-readable medium of claim 8 , wherein the remedial action includes one or more of: shutting down the guest OS, shutting down the virtualized computing instance, or sending an alert to a management server to enable further investigation of the first attempt.

15. A host in a virtualized computing environment, the host comprising:

a processor; and

a non-transitory computer-readable medium coupled to the processor and having stored instructions stored thereon, which in response to execution by the processor, provide a guest monitoring mode (GMM) module and a guest agent in a guest virtualized computing instance supported by the host,

wherein the instructions, further in response to execution by the processor, cause the processor to perform or control performance of operations to protect operating system (OS) kernel objects against modification by malicious code, and wherein the operations include:

allocate, by the guest agent, a memory space to store the OS kernel objects;

detect, by the GMM module, creation of an OS kernel object by a guest OS of the virtualized computing instance;

in response to detection of the creation of the OS kernel object, migrate, by the GMM module, the created OS kernel object to one or more memory addresses of the allocated memory space;

monitor, by the GMM module, for at least one attempt to modify the OS kernel object in the one or more memory addresses of the allocated memory space;

in response to having detected a first attempt to modify the OS kernel object, check, by the GMM module, reference information to determine whether the first attempt is authorized; and

in response to a determination that the first attempt is unauthorized, initiate, by the GMM module, a remedial action to respond to the first attempt.

16. The host of claim 15 , wherein the GMM module resides in a hypervisor of the host.

17. The host of claim 15 , wherein:

detection of the creation of the OS kernel object includes detection, by the GMM module, of a call by the guest OS to a first function to create the OS kernel object, and of a return of the first function to indicate completion of the creation of the OS kernel object,

the OS kernel object is created by the first function in a first memory space in which attempts to modify the OS kernel object are untraceable by the GMM module,

the allocated memory space includes a second memory space in which attempts to modify the OS kernel object are traceable by the GMM module, and

migration of the created OS kernel object includes migration, by the GMM module, of the created OS kernel object from the first memory space to the second memory space.

18. The host of claim 17 , wherein the operations further comprise:

modify, by the GMM module, state information of the guest OS to indicate to the guest OS that the OS kernel object was originally created in the second memory space; and

release, by the GMM module, at least one memory address in the first memory space that was occupied by the OS kernel object.

19. The host of claim 15 , wherein the one or more memory addresses of the allocated memory space includes a set of memory addresses in a pool of memory addresses of the allocated memory space, and wherein the operations further comprise:

in response to having detected a second attempt to destroy the OS kernel object in the allocated memory space:

awaiting, by the GMM module, a notification that the OS kernel object has been deleted from the set of memory addresses; and

return, by the GMM module after deletion of the OS kernel object from the set of memory addresses, the set of memory addresses to the pool of memory addresses in the allocated memory space.

20. The host of claim 15 , wherein the operations further comprise:

in response to a determination that the first attempt is authorized, accept, by the GMM module, modification of the OS kernel object.

21. The host of claim 15 , wherein the remedial action includes one or more of: shutting down the guest OS, shutting down the virtualized computing instance, or sending an alert to a management server to enable further investigation of the first attempt.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2020
From: DABAK, PRASAD SHARAD; SOMAN, LEENA SHUKLENDU
To: VMWARE, INC.
Reel/Frame 053312/0223 →
Priority Claims (1)
IN 202041022992 · Jun 1, 2020 · national
Continuity (1)
Related Publication 20210374242A1 · Dec 2, 2021