IP Library Granted Patent US 7,996,836
Granted Patent B1
US 7,996,836 · App. 11/618,224 · Granted Aug 9, 2011

Using a hypervisor to provide computer security

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 7,996,836
App. No.
11/618,224
Granted
Aug 9, 2011
Kind
B1
Abstract

A computer includes a virtual machine controlled by a hypervisor. The virtual machine runs a virtualized operating system with running processes. A security initialization module sets the state in the virtual machine to pass execution from the virtual machine to the hypervisor responsive to a process making a system call in the virtualized operating system. Responsive to execution being passed from the virtual machine to the hypervisor, a security module analyzes the process making the system call to determine whether it poses a security threat. If a security threat is found, the security module takes remedial action to address the threat.

Claims (32)

1. A system for providing security in a computer having a virtual machine controlled by a hypervisor, the virtual machine having an operating system with an operating system kernel and an operating system protection module that detects modifications to the operating system kernel, the system comprising:

a computer processor; and

a non-transitory computer-readable storage medium storing computer program modules configured to execute on the computer processor, the computer program modules comprising:

a security initialization module for modifying the operating system kernel of the virtual machine to pass execution from the virtual machine to the hypervisor responsive to a system call issued by a process executing within the virtual machine, wherein modifying the operating system kernel comprises:

setting a breakpoint in the operating system kernel to cause an interrupt upon the system call being issued by the process and

setting an exception bitmap in the virtual machine to pass execution from the virtual machine to the hypervisor responsive to the interrupt;

a disabling module for setting a state in the virtual machine to pass control to the hypervisor during execution of the operating system protection module and for altering functioning of the operating system protection module to prevent the operating system protection module from detecting the modification of the operating system kernel; and

a security module activated responsive to execution being passed to the hypervisor due to the modification by the security initialization module and for analyzing the process to determine whether the process poses a security threat.

2. The system of claim 1 , wherein the virtual machine includes a system service dispatch table (SSDT) that contains a reference to the system call and a processor register that provides the location of the SSDT, and wherein the security initialization module uses the processor register to locate the reference to the system call in the SSDT.

3. The system of claim 1 , wherein the security module is executed within the hypervisor.

4. The system of claim 1 , wherein the security module takes remedial action in response to detecting a security threat.

5. A computer program product having a non-transitory computer-readable medium having computer program instructions recorded thereon for providing security in a computer having a virtual machine controlled by a hypervisor, the virtual machine having an operating system with an operating system kernel and an operating system protection module that detects modifications to the operating system kernel, the computer program product comprising:

a security initialization module for modifying the operating system kernel of the virtual machine to pass execution from the virtual machine to the hypervisor responsive to a system call issued by a process executing within the virtual machine, wherein modifying the operating system kernel comprises:

setting a breakpoint in the operating system kernel to cause an interrupt upon the system call being issued by the process; and

setting an exception bitmap in the virtual machine to pass execution from the virtual machine to the hypervisor responsive to the interrupt;

a disabling module for setting a state in the virtual machine to pass control to the hypervisor during execution of the operating system protection module and for altering functioning of the operating system protection module to prevent the operating system protection module from detecting the modification of the operating system kernel; and

a security module activated responsive to execution being passed to the hypervisor due to the modification by the security initialization module and for analyzing the process to determine whether the process poses a security threat.

6. The computer program product of claim 5 , wherein the virtual machine includes a system service dispatch table (SSDT) that contains a reference to the system call and a processor register that provides the location of the SSDT, and wherein the security initialization module uses the processor register to locate the reference to the system call in the SSDT.

7. The computer program product of claim 5 , wherein the security module is executed within the hypervisor.

8. The computer program product of claim 5 , wherein the security module takes remedial action in response to detecting a security threat.

9. A computer-implemented method of providing security in a computer having a virtual machine controlled by a hypervisor, the virtual machine having an operating system with an operating system kernel and an operating system protection module that detects modifications to the operating system kernel, the method comprising:

modifying an operating system kernel of the virtual machine to pass execution from the virtual machine to the hypervisor responsive to a system call issued by a process executing within the virtual machine, wherein modifying the operating system kernel comprises:

setting a breakpoint in the operating system kernel to cause an interrupt upon the system call being issued by the process; and

setting an exception bitmap in the virtual machine to pass execution from the virtual machine to the hypervisor responsive to the interrupt;

setting a state in the virtual machine to pass control to the hypervisor during execution of the operating system protection module;

responsive to control being passed to the hypervisor due to the state set, altering function of the operating system protection module to prevent the operating system protection module from detecting the modification of the operating system kernel; and

responsive to execution being passed to the hypervisor due to the modification of the operating system kernel, analyzing the process to determine whether the process is a security threat.

10. The computer implemented method of claim 9 , wherein the virtual machine includes a system service dispatch table (SSDT) that contains a reference to the system call and a processor register that provides the location of the SSDT, further comprising:

using the processor register to locate the reference to the system call in the SSDT.

11. The computer implemented method of claim 9 , wherein analyzing the process to determine whether it is a security threat is executed within the hypervisor.

12. The computer implemented method of claim 9 , further comprising:

responsive to the process being determined to be a security threat, taking remedial action.

Assignments (4)
NOTICE OF SUCCESSION OF AGENCY (REEL 050926 / FRAME 0560) Recorded Sep 13, 2022
From: JPMORGAN CHASE BANK, N.A.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 061422/0371 →
SECURITY AGREEMENT Recorded Sep 13, 2022
From: NORTONLIFELOCK INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062220/0001 →
CHANGE OF NAME Recorded Jun 18, 2020
From: SYMANTEC CORPORATION
To: NORTONLIFELOCK INC.
Reel/Frame 053306/0878 →
SECURITY AGREEMENT Recorded Nov 4, 2019
From: SYMANTEC CORPORATION; BLUE COAT LLC; LIFELOCK, INC,; SYMANTEC OPERATING CORPORATION
To: JPMORGAN, N.A.
Reel/Frame 050926/0560 →