IP Library Granted Patent US 9,934,376
Granted Patent B1
US 9,934,376 · App. 14/962,497 · Granted Apr 3, 2018

Malware detection appliance architecture

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 9,934,376
App. No.
14/962,497
Granted
Apr 3, 2018
Kind
B1
Abstract

A threat-aware virtualization module may be deployed in a malware detection appliance architecture and execute on a malware detection system (MDS) appliance to provide exploit and malware detection within a network environment. The virtualization module may underlie an operating system kernel of the MDS appliance and execute in kernel space of the architecture to control access to kernel resources of the appliance for any operating system process. A type 0 virtual machine monitor may be disposed over the virtualization module and execute in user space of the architecture as a pass-through module configured to expose the kernel resources of the appliance to the operating system kernel. One or more hypervisors, e.g., type 1 VMM, may be further disposed over the virtualization module and execute in user space of the architecture under control of the virtualization module to support execution of one or more guest operating systems inside one or more full virtual machines.

Claims (38)

1. A method comprising:

deploying a virtualization module in a malware detection appliance architecture of an appliance coupled to a network, the virtualization module directly disposed on native hardware of the appliance and having a main protection domain including one or more execution contexts and capabilities defining permissions for a process to access kernel resources of the appliance;

disposing a hypervisor over the virtualization module, the hypervisor operating under control of the virtualization module to spawn a virtual machine configured to contain a guest operating system and instrumentation logic, the virtual machine bound to a clone of the main protection domain representative of the guest operating system;

performing dynamic analysis of the process when executing an object to detect first behaviors of the object via one or more capability violations as the process executes in the virtual machine, the one or more capability violations generated by the virtualization module at the clone of the main protection domain, wherein the first behaviors are captured as dynamic analysis results;

correlating the dynamic analysis results against correlation rules to generate correlation information pertaining to a level of risk used to arrive at a decision of maliciousness; and

rendering, by the appliance, a decision of whether the object is malicious by classifying the correlation information of the object relative to known malware and benign content.

2. The method of claim 1 further comprising creating the clone of the main protection domain by copying the execution contexts and capabilities of the main protection domain, wherein the capabilities of the clone of the main protection domain are more restricted than the capabilities of the main protection domain with respect to access to the kernel resources.

3. The method of claim 1 further comprising configuring the virtual machine with a software profile that replicates a run-time environment that the object expects.

4. The method of claim 3 wherein the object is a web page and wherein configuring the virtual machine comprises configuring the virtual machine with a browser application.

5. The method of claim 1 further comprising:

collecting second behaviors detected during dynamic analysis of the object, wherein the second behaviors are detected without capability violations; and

examining the first and second behaviors to determine whether the behaviors represent one of malicious and benign events indicative of a presence of malware.

6. The method of claim 1 further comprising performing static analysis of the object to determine whether the object is suspicious, wherein performing the static analysis includes running one or more heuristics using weighting to determine whether the object is suspicious.

7. The method of claim 6 further comprising performing the static analysis followed by the dynamic analysis in accordance with a sequential two-phase approach, wherein the object is subjected to dynamic analysis if the object is determined suspicious by the static analysis.

8. A system comprising:

a memory of a malware detection system (MDS) appliance coupled to a network, the memory configured to store an operating system process, a hypervisor and a virtualization module, the hypervisor disposed over the virtualization module and operating under control of the virtualization module in a malware detection appliance architecture of the MDS appliance, the virtualization module directly disposed on native hardware of the appliance and having a main protection domain including one or more execution contexts and capabilities defining permissions for the operating system process to access kernel resources of the appliance; and

a processing unit coupled to the memory and adapted to execute the operating system process, the hypervisor, and the virtualization module, wherein the hypervisor and the virtualization module are configured to:

create a virtual machine containing a guest operating system and instrumentation logic, the virtual machine bound to a clone of the main protection domain representative of the guest operating system;

perform dynamic analysis of the operating system process when executing an object to observe behaviors of the object via one or more capability violations as the operating system process executes in the virtual machine, the one or more capability violations generated by the virtualization module at the clone of the main protection domain, wherein the behaviors are captured as dynamic analysis results;

correlate the dynamic analysis results against correlation rules to generate correlation information pertaining to a level of risk used to arrive at a decision of maliciousness; and

render a decision of whether the object is malicious by classifying the correlation information of the object relative to known malware and benign content.

9. The system of claim 8 wherein the virtualization module is further configured to create the clone of the main protection domain by copying the execution contexts and capabilities of the main protection domain, wherein the capabilities of the clone of the main protection domain are more restricted than the capabilities of the main protection domain with respect to access to the kernel resources.

10. The system of claim 8 wherein the hypervisor is further configured to configure the virtual machine with a software profile that replicates a run-time environment that the object expects.

11. The system of claim 10 wherein the object is a web page and wherein the hypervisor is further configured to configure the virtual machine with a browser application.

12. The system of claim 8 wherein the hypervisor is further configured to configure the instrumentation logic to monitor different types of objects including payloads of network or email packets.

13. The system of claim 8 wherein the memory is further configured to store user mode processes executable by the processing unit, the user mode processes configured to perform static analysis of the object to determine whether the object is suspicious, wherein performing the static analysis includes running one or more heuristics using weighting to determine whether the object is suspicious.

14. The system of claim 13 wherein the user mode processes are further configured to perform the static analysis followed by the dynamic analysis in accordance with a sequential two-phase approach, wherein the object is subjected to dynamic analysis if the object is determined suspicious by the static analysis.

15. The system of claim 14 wherein the user mode processes are further configured to perform scheduling of the dynamic analysis of the object in accordance with a priority based on a static analysis score for the object.

16. The system of claim 8 further comprising a network interface coupling the memory to the network, the network interface operating as a network tap to receive incoming data traffic from the network and provide one of at least some of the data traffic and a duplicated copy of the traffic for malware detection.

17. The system of claim 16 wherein the MDS appliance is deployed in-line with one or more endpoints to subject the incoming data traffic to static analysis and block the traffic that is classified as malware from reaching the endpoints.

18. A non-transitory computer readable medium including program instructions for execution on one or more processors of a malware detection system (MDS) appliance, the program instructions configured to:

create a virtual machine containing a guest operating system and instrumentation logic, the virtual machine bound to a clone of a main protection domain of a virtualization module stored in a memory of the MDS appliance, the main protection domain representative of the guest operating system;

perform dynamic analysis of an operating system process when executing an object to observe behaviors of the object via one or more capability violations as the operating system process executes in the virtual machine, the one or more capability violations generated by the virtualization module at the clone of the main protection domain, wherein the behaviors are captured as dynamic analysis results;

correlate the dynamic analysis results against correlation rules to generate correlation information pertaining to a level of risk used to arrive at a decision of maliciousness; and

render a decision of whether the object is malicious by classifying the correlation information of the object relative to known malware and benign content.

19. The method of claim 1 , wherein the virtualization module includes a subset functionality of the hypervisor.

20. The system of claim 8 , wherein the virtualization module includes a subset functionality of the hypervisor.

21. The computer readable medium of claim 18 , wherein the virtualization module includes a subset functionality of a hypervisor.

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 063287/0707 →
CHANGE OF NAME Recorded Mar 16, 2023
From: FIREEYE, INC.
To: MANDIANT, INC.
Reel/Frame 063287/0702 →
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 Dec 8, 2015
From: ISMAEL, OSMAN ABDOUL
To: FIREEYE, INC.
Reel/Frame 037239/0099 →