IP Library Granted Patent US 11,025,647
Granted Patent B2
US 11,025,647 · App. 15/400,101 · Granted Jun 1, 2021

Providing a virtual security appliance architecture to a virtual cloud infrastructure

Inventors: Geoffrey Howard Cooper (Palo Alto, CA); Manuel Nedbal (Santa Clara, CA); Hemang Satish Nadkarni (Cupertino, CA)
Assignee: McAfee, LLC
H04L63/1416G06F21/606H04L63/205G06F21/50G06F2009/45587G06F2009/45595H04L63/105
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,025,647
App. No.
15/400,101
Granted
Jun 1, 2021
Kind
B2
Abstract

A method in an embodiment includes detecting a change for a virtual machine in a virtual server of a virtual network infrastructure, determining whether a virtual security appliance is configured in the virtual server, and sending a request to create the virtual security appliance in the virtual server. The method further includes allowing the virtual machine to initiate when the virtual security appliance is created in the virtual machine. The virtual security appliance performs security inspections on network packets sent from the virtual machine. In more specific embodiments, the method further includes creating an intercept mechanism in the virtual server to intercept the network packets from the virtual machine. In further embodiments, one or more security policies identify one or more virtual security appliances to process the network packets from the virtual machine.

Claims (70)

1. At least one machine readable storage medium comprising instructions stored thereon, wherein the instructions, when executed by at least one processor, cause the at least one processor to:

detect a change for a guest virtual machine (VM) associated with a first virtual server of a virtual network infrastructure, wherein the guest VM is associated with a policy, the policy specifies a security control for the guest VM, and the policy is maintained by a distribution manager on the first virtual server;

determine whether a first virtual security appliance (VSA) for applying the security control to the guest VM is present in the first virtual server;

block the guest VM from running in the first virtual server, and send a request to create the first VSA in the first virtual server, wherein the blocking and the sending are based, at least in part, on a determination that the first VSA is not present in the first virtual server;

configure, based, at least in part, on a detection of the change, an intercept mechanism in the first virtual server to intercept network packets from the guest VM, wherein the configuring the intercept mechanism includes virtually wiring a virtual network interface card (vNIC) of another guest VM to a physical switch on a physical network interface card (pNIC) of the first virtual server via a first virtual function (VF) on the pNIC;

receive a signal indicating the first VSA is present in the first virtual server and the intercept mechanism is configured;

subsequent to receiving the signal, allow the guest VM to initiate in the first virtual server; and

configure the first VF as a two-way direct memory access (DMA) channel, wherein the physical switch routes a first network packet received from the guest VM via a second VF to flow through the pNIC to route the first network packet to the distribution manager via a third VF on the pNIC, the distribution manager routes the first network packet to the first VSA, and

the configuring the first VF causes a second network packet from the first VSA to flow through a virtual switch and the third VF to route the second network packet to the other guest VM.

2. The at least one machine readable storage medium of claim 1 , wherein the change is the guest VM being moved from a second virtual server in the virtual network infrastructure to the first virtual server in the virtual network infrastructure.

3. The at least one machine readable storage medium of claim 2 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

delete from the second virtual server an existing VSA for applying the security control; and

reconfigure logic of a virtual switch in the second virtual server to communicate via a virtual network interface card, wherein the existing VSA applied the security control to the guest VM at the second virtual server prior to the guest VM being moved to the first virtual server.

4. The at least one machine readable storage medium of claim 1 , wherein the change is updating the policy or adding the policy.

5. The at least one machine readable storage medium of claim 1 , wherein the change is adding the guest VM to the first virtual server, and the guest VM is new in the virtual network infrastructure.

6. The at least one machine readable storage medium of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

determine a second security control for the guest VM;

identify a second VSA present in the first virtual server, wherein the second VSA is for applying the second security control to the guest VM;

generate a route for network packets, the route including the first VSA and the second VSA; and

sending network packets to the first VSA and the second VSA according to the route.

7. The at least one machine readable storage medium of claim 6 , wherein the route includes a sequential order for the first VSA and the second VSA to process network packets from the guest VM, and the sequential order is specified in at least one policy associated with the guest VM.

8. The at least one machine readable storage medium of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

cause network packets received by a virtual switch from the guest VM to flow through the pNIC by reconfiguring logic of the vNIC to prevent network packets from passing through the vNIC.

9. The at least one machine readable storage medium of claim 1 , wherein the change is detected through an application programming interface (API) of a cloud manager.

10. The at least one machine readable storage medium of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

query the first VSA on the first virtual server to determine a utilization rate of the first VSA;

receive a response to the query indicating the first VSA is over-utilized; and

send a request to create a second VSA in the first virtual server based on the response.

11. The at least one machine readable storage medium of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

query the first VSA on the first virtual server to determine a utilization rate of the first VSA;

receive a response to the query indicating the first VSA is under-utilized;

identify an existing VSA on the first virtual server for applying the security control to the guest VM; and

prevent a further network packet from being sent to the first VSA and delete the first VSA based on the response indicating the first VSA is under-utilized and the identification of the existing VSA.

12. The at least one machine readable storage medium of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

query the first VSA on the first virtual server to determine a utilization rate of the first VSA;

receive a response to the query indicating the first VSA is over-utilized; and

send a request to allocate more resources to the first VSA based on the response, wherein the resources comprise one or more of processor and memory resources.

13. The at least one machine readable storage medium of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

route a packet stream through the first VSA in the first virtual server.

14. The at least one machine readable storage medium of claim 1 , wherein the security control is an intrusion prevention system, a firewall, or data loss prevention.

15. The at least one machine readable storage medium of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

send information identifying a VSA for applying a security control to a second guest VM; and

configure, based, at least in part, on a detection of a change for the second guest VM, an intercept mechanism selected from a group of intercept mechanisms consisting of an OpenFlow switch in the first virtual server and an application programming interface (API) of a virtual switch in the first virtual server, wherein the change comprises one of updating a policy for the second guest VM, adding the policy for the second guest VM, moving the second guest VM to the first virtual server, or adding the second guest VM to the first virtual server.

16. The at least one machine readable storage medium of claim 1 , wherein the distribution manager routes the second network packet to the third virtual function.

17. An apparatus, comprising:

at least one processor; and

at least one memory element including instructions for execution by the at least one processor to

detect a change for a guest virtual machine (VM) associated with a first virtual server of a virtual network infrastructure, wherein the guest VM is associated with a policy, the policy specifies a security control for the guest VM, and the policy is maintained by a distribution manager on the first virtual server;

determine whether a first virtual security appliance (VSA) for applying the security control to the guest VM is present in the first virtual server;

block the guest VM from running in the first virtual server, and send a request to create the first VSA in the first virtual server, wherein the blocking and the sending are based, at least in part, on a determination that the first VSA is not present in the first virtual server;

configure, based, at least in part, on a detection of the change, an intercept mechanism in the first virtual server to intercept network packets from the guest VM, wherein configuring the intercept mechanism includes virtually wiring a virtual network interface card (vNIC) of another guest VM to a physical switch on a physical network interface card (pNIC) of the first virtual server via a first virtual function (VF) on the pNIC;

receive a signal indicating the first VSA is present in the first virtual server and the intercept mechanism is configured;

subsequent to receiving the signal, allow the guest VM to initiate in the first virtual server; and

configure the first VF as a two-way direct memory access (DMA) channel, wherein the physical switch routes a first network packet received from the guest VM via a second VF to flow through the pNIC to route the first network packet to the distribution manager via a third VF on the pNIC, the distribution manager routes the first network packet to the first VSA, and

the configuring the first VF causes a second network packet from the first VSA to flow through a virtual switch and the third VF to route the second network packet to the other guest VM.

18. The apparatus of claim 17 , wherein the instructions are for execution by the at least one processor to:

determine a second security control for the guest VM;

identify a second VSA present in the first virtual server, wherein the second VSA is for applying the second security control to the guest VM;

generate a route for network packets, the route including the first VSA and the second VSA; and

send network packets to the first VSA and the second VSA according to the route.

19. The apparatus of claim 18 , wherein the route includes a sequential order for the first VSA and the second VSA to process network packets from the guest VM, and the sequential order is specified in at least one policy associated with the guest VM.

20. A method, comprising:

detecting a change for a guest virtual machine (VM) associated with a first virtual server of a virtual network infrastructure, wherein the guest VM is associated with a policy, the policy specifies a security control for the guest VM, and the policy is maintained by a distribution manager on the first virtual server;

determining whether a first virtual security appliance (VSA) for applying the security control to the guest VM is present in the first virtual server;

blocking the guest VM from running in the first virtual server, and sending a request to create the first VSA in the first virtual server, wherein the blocking and the sending are based, at least in part, on a determination that the first VSA is not present in the first virtual server;

configuring, based, at least in part, on the detecting the change, an intercept mechanism in the first virtual server to intercept network packets from the guest VM, wherein the configuring the intercept mechanism includes virtually wiring a virtual network interface card (vNIC) of another guest VM to a physical switch on a physical network interface card (pNIC) of the first virtual server via a first virtual function (VF) on the pNIC;

receiving a signal indicating the first VSA is present in the first virtual server and the intercept mechanism is configured;

subsequent to receiving the signal, allowing the guest VM to initiate in the first virtual server; and

configuring the first VF as a two-way direct memory access (DMA) channel, wherein the physical switch routes a first network packet received from the guest VM via a second VF to flow through the pNIC to route the first network packet to the distribution manager via a third VF on the pNIC, the distribution manager routes the first network packet to the first VSA, and

the configuring the first VF causes a second network packet from the first VSA to flow through a virtual switch and the third VF to route the second network packet to the other guest VM.

Assignments (20)
RELEASE OF SECURITY INTEREST Recorded Aug 16, 2024
From: STG PARTNERS, LLC
To: MUSARUBRA US LLC; SKYHIGH SECURITY LLC
Reel/Frame 068671/0435 →
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 →
INTELLECTUAL PROPERTY ASSIGNMENT AGREEMENT Recorded Aug 15, 2024
From: MUSARUBRA US LLC
To: MAGENTA SECURITY INTERMEDIATE HOLDINGS LLC
Reel/Frame 068656/0098 →
TERMINATION AND RELEASE OF SECOND LIEN SECURITY INTEREST IN CERTAIN PATENTS RECORDED AT REEL 056990, FRAME 0960 Recorded Aug 15, 2024
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: MUSARUBRA US LLC
Reel/Frame 068655/0430 →
TERMINATION AND RELEASE OF FIRST LIEN SECURITY INTEREST IN CERTAIN PATENTS RECORDED AT REEL 057453, FRAME 0053 Recorded Aug 15, 2024
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: MUSARUBRA US LLC
Reel/Frame 068655/0413 →
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 Jul 29, 2022
From: MCAFEE, LLC
To: MUSARUBRA US LLC
Reel/Frame 061007/0124 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 057315 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 11, 2022
From: MCAFEE, LLC
To: MUSARUBRA US LLC
Reel/Frame 060878/0126 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 27, 2021
From: MUSARUBRA US LLC; SKYHIGH NETWORKS, LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 057453/0053 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 27, 2021
From: MUSARUBRA US LLC; SKYHIGH NETWORKS, LLC
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 056990/0960 →
RELEASE OF SECURITY INTEREST Recorded Jul 26, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MCAFEE, LLC; SKYHIGH NETWORKS, LLC
Reel/Frame 057620/0102 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Sep 15, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043969/0057 →
Continuity (2)
Continuation 13656730 · Oct 21, 2012
Related Publication 20170264622A1 · Sep 14, 2017
Cited By (3)
US 12,267,366 US 12,301,629 US 12,632,277