IP Library Granted Patent US 10,264,025
Granted Patent B2
US 10,264,025 · App. 15/201,351 · Granted Apr 16, 2019

Security policy generation for virtualization, bare-metal server, and cloud computing environments

Inventor: Marc Woolward (Santa Cruz, CA)
Assignee: vArmour Networks, Inc.
H04L63/20G06F9/45558H04L63/0263H04L63/1416G06F2009/45587G06F2009/45591
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,264,025
App. No.
15/201,351
Granted
Apr 16, 2019
Kind
B2
Abstract

Methods, systems, and media for security in virtualization, bare-metal server, and cloud computing environments are provided herein. Exemplary methods include: receiving network traffic associated with a primary workload; generating first metadata using the network traffic; determining a primary categorization associated with the primary workload, using the first metadata; confirming the primary categorization is reliable; determining a secondary categorization associated with at least one secondary workload, the at least one secondary workload being communicatively coupled to the primary workload; ascertaining the primary categorization and the secondary categorization are consistent with each other and are each stable; producing a model using the primary categorization and the secondary categorization; checking the model for sustained convergence; and generating a high-level declarative security policy associated with the primary workload using the model, the high-level declarative security policy indicating at least an application or service with which the primary workload can communicate.

Claims (80)

1. A computer-implemented method for security in virtualization, bare- metal server, and cloud computing environments comprising:

receiving network traffic associated with a primary workload, the primary workload including a behavior and a relationship of a particular workload with a secondary workload;

generating first metadata using the network traffic;

determining a primary categorization associated with the primary workload, using the first metadata;

confirming the primary categorization is reliable;

determining a secondary categorization associated with at least one secondary workload, the at least one secondary workload being communicatively coupled to the primary workload;

ascertaining the primary categorization and the secondary categorization are consistent with each other and are each stable;

producing a model using the primary categorization and the secondary categorization, the model including a behavior and a relationship associated with the primary workload;

checking the model for sustained convergence; and generating a high-level declarative security policy associated with the primary workload using the model, the high-level declarative security policy indicating at least an application or a service with which the primary workload can communicate.

2. The computer-implemented method of claim 1 , wherein the network traffic comprises data communications between the primary workload and the secondary workload.

3. The computer-implemented method of claim 2 , wherein:

the primary, secondary, and tertiary categorizations are each associated with a respective application or service; and

the application or service is at least one of: a database, email server, message queue, web server, Session Initiation Protocol (SIP) server, other media server, file server, service-oriented architecture (SOA) and/or microservices process, and object-based storage.

4. The computer-implemented method of claim 3 further comprising:

receiving tertiary metadata associated with the primary workload;

determining a tertiary categorization using the tertiary metadata; and

checking the primary categorization matches the tertiary categorization.

5. The computer-implemented method of claim 4 , wherein:

the primary workload is a container;

the tertiary metadata is received using an application programming interface (API) from an orchestration layer; and

the tertiary metadata includes at least one of: an image name, image type, service name, and user-configurable tag or label associated with the container.

6. The computer-implemented method of claim 5 , wherein the orchestration layer is at least one of: Kubernetes, Diego, Docker Swarm, and Mesos.

7. The computer-implemented method of claim 5 , wherein determining the tertiary categorization includes:

ascertaining an image type associated with the container using the tertiary metadata; and

identifying the tertiary categorization using the image type;

wherein the method further comprises:

confirming the primary, secondary, and tertiary categorizations are consistent; and

wherein the producing the model further uses the tertiary categorization.

8. The computer-implemented method of claim 3 , wherein:

the first metadata comprises at least two of: a source address and/or hostname, a source port, destination address and/or hostname, a destination port, protocol, application determination using APP-ID, and category;

the primary categorization is determined at least in part using the first metadata and a second model, the second model including at least one of: a service or application category, protocols associated with the category that the primary workload should use, ports associated with the category that that the primary workload should use, applications associated with the category that should communicate with the primary workload, and services associated with the category that should communicate with the primary workload; and

the secondary categorization is determined at least in part by assessing a relationship using communications between the primary and secondary workloads, and by confirming the communications between the primary and secondary workloads are consistent with at least an expected behavior of the primary categorization.

9. The computer-implemented method of claim 8 , wherein ascertaining the primary categorization and the secondary categorization are consistent includes using the second model to check that the secondary categorization corresponds to an allowed communications partner associated with the primary categorization.

10. The computer-implemented method of claim 3 , wherein: the confirming the primary categorization is reliable includes checking that a predetermined time has elapsed.

11. A system for security in virtualization, bare-metal server, and cloud computing environments comprising:

a processor; and

a memory coupled to the processor, the memory storing instructions which are executable by the processor to perform a method comprising:

receiving network traffic associated with a primary workload;

generating first metadata using the network traffic;

determining a primary categorization associated with the primary workload, using the first metadata;

confirming the primary categorization is reliable;

determining a secondary categorization associated with at least one secondary workload, the at least one secondary workload being communicatively coupled to the primary workload;

ascertaining the primary categorization and the secondary categorization are consistent with each other and are each stable;

producing a model using the primary categorization and the secondary categorization, the model including a behavior and a relationship associated with the primary workload;

checking the model for sustained convergence; and

generating a high-level declarative security policy associated with the primary workload using the model, the high-level declarative security policy indicating at least an application or a service with which the primary workload can communicate.

12. The system of claim 11 , wherein the network traffic comprises data communications between the primary workload and the secondary workload.

13. The system of claim 12 , wherein:

the primary, secondary, and tertiary categorizations are each associated with a respective application or service; and

the application or service is at least one of: a database, email server, message queue, web server, Session Initiation Protocol (SIP) server, other media server, file server, service-oriented architecture (SOA) or microservices process, and object-based storage.

14. The system of claim 13 , wherein the method further comprises:

receiving tertiary metadata associated with the primary workload;

determining a tertiary categorization using the tertiary metadata; and

checking the primary categorization matches the tertiary categorization.

15. The system of claim 14 , wherein:

the primary workload is a container;

the tertiary metadata is received using an application programming interface (API) from an orchestration layer; and

the tertiary metadata includes at least one of: an image name, image type, service name, and user-configurable tag or label associated with the container.

16. The system of claim 15 , wherein the orchestration layer is at least one of: Kubernetes, Diego, Docker Swarm, and Mesos.

17. The system of claim 15 , wherein determining the tertiary categorization includes:

ascertaining an image type associated with the container using the tertiary metadata; and

identifying the tertiary categorization using the image type;

wherein the method further comprises:

confirming the primary, secondary, and tertiary categorizations are consistent; and

wherein the producing the model further uses the tertiary categorization.

18. The system of claim 13 , wherein:

the first metadata comprises at least two of: a source address and/or hostname, a source port, destination address and/or hostname, a destination port, protocol, application determination using APP-ID, and category;

the primary categorization is determined at least in part using the first metadata and a second model, the second model including at least one of: a service or application category, protocols associated with the category that the primary workload should use, ports associated with the category that that the primary workload should use, applications associated with the category that should communicate with the primary workload, and services associated with the category that should communicate with the primary workload; and

the secondary categorization is determined at least in part by assessing a relationship using communications between the primary and secondary workloads, and by confirming the communications between the primary and secondary workloads are consistent with at least an expected behavior of the primary categorization.

19. The system of claim 18 , wherein ascertaining the primary categorization and the secondary categorization are consistent includes using the second model to check that the secondary categorization corresponds to an allowed communications partner associated with the primary categorization.

20. A non-transitory computer-readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for security in a container-based virtualization, bare-metal server, and cloud computing environments, the method comprising:

receiving network traffic associated with a primary workload;

generating first metadata using the network traffic;

determining a primary categorization associated with the primary workload, using the first metadata;

confirming the primary categorization is reliable;

determining a secondary categorization associated with at least one secondary workload, the at least one secondary workload being communicatively coupled to the primary workload;

ascertaining the primary categorization and the secondary categorization are consistent with each other and are each stable;

producing a model using the primary categorization and the secondary categorization, the model including a behavior and a relationship associated with the primary workload;

checking the model for sustained convergence; and

generating a high-level declarative security policy associated with the primary workload using the model, the high-level declarative security policy indicating at least an application or a service with which the primary workload can communicate.

Assignments (4)
PATENT SECURITY AGREEMENT Recorded Jul 18, 2025
From: GRYPHO5, LLC
To: EVP CREDIT SPV I LP
Reel/Frame 072053/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2025
From: VARMOUR NETWORKS, INC.
To: GRYPHO5, LLC
Reel/Frame 070287/0007 →
SECURITY INTEREST Recorded Feb 22, 2024
From: VARMOUR NETWORKS, INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 066530/0399 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2016
From: WOOLWARD, MARC
To: VARMOUR NETWORKS, INC.
Reel/Frame 040117/0414 →
Continuity (2)
Continuation In Part 15192967 · Jun 24, 2016
Related Publication 20170374101A1 · Dec 28, 2017