Context based firewall services for data message flows for multiple concurrent users on one machine

US11032246B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11032246-B2
Application numberUS-201715836888-A
CountryUS
Kind codeB2
Filing dateDec 10, 2017
Priority dateDec 22, 2016
Publication dateJun 8, 2021
Grant dateJun 8, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Some embodiments of the invention provide a novel architecture for capturing contextual attributes on host computers that execute one or more machines, and for consuming the captured contextual attributes to perform services on the host computers. The machines are virtual machines (VMs) in some embodiments, containers in other embodiments, or a mix of VMs and containers in still other embodiments. Some embodiments execute a guest-introspection (GI) agent on each machine from which contextual attributes need to be captured. In addition to executing one or more machines on each host computer, these embodiments also execute a context engine and one or more attribute-based service engines on each host computer. One of these service engines is a firewall engine. Through the GI agents of the machines on a host, the context engine of that host in some embodiments collects contextual attributes associated with network events and/or process events on the machines. The context engine then provides the contextual attributes to the firewall engine, which, in turn, use these contextual attributes to identify firewall rules to enforce.

First claim

Opening claim text (preview).

We claim: 1. A method for performing firewall operations on a host computer on which a plurality of virtual machines (VMs) execute, the method comprising: at a firewall executing on the host computer, concurrently receiving data messages that are a part of first and second data message flows sent by a first VM executing on the host computer for first and second users that are concurrently logged into the first VM; for each data message flow, providing an identifier of the data message flow to a context collector that executes on the host computer in a query to obtain a set of one or more contextual attributes including a user identifier that identifies the first user or the second user as the user associated with the data message flow, the context collector communicating with guest introspectors installed on the VMs to collect contextual attributes regarding flows starting on the plurality of VMs and to store the contextual attributes to subsequently provide to the firewall executing on the host computer, the collected contextual attributes comprising user identifiers; using the user identifiers obtained for the first and second data message flows to identify respectively a first firewall rule to enforce for the first data message flow associated with the first user and a second firewall rule to enforce for the second data message flow associated with the second user; performing a first firewall operation on the data messages of the first data message flow based on the identified first firewall rule; and performing a second firewall operation on the data messages of the second data message flow based on the identified second firewall rule. 2. The method of claim 1 , wherein the obtained contextual attribute set further comprises application identifiers (AppIDs) that specify the type of traffic contained in the first and second data message flows, and using the user identifiers comprises using the obtained user identifiers and AppIDs to identify the first and second firewall rules to enforce respectively for the first and second data message flows. 3. The method of claim 1 , wherein the obtained contextual attribute set further comprises threat indicators that specifies security threat levels associated with the first and second data message flows, and using the user identifiers comprises using the obtained user identifiers and threat indicators to identify the first and second firewall rules to enforce respectively for the first and second data message flows. 4. The method of claim 1 , wherein the obtained contextual attribute set further comprises identifiers indicating resource consumption associated with the first and second data message flows, and using the user identifiers comprises using the obtained user identifiers and resource consumption identifiers to identify the first and second firewall rules to enforce respectively for the first and second data message flows. 5. The method of claim 1 , wherein the user identifiers are group identifiers. 6. The method of claim 1 , wherein the obtained contextual attribute set further comprises identifiers identifying the application-version identifiers associated with the first and second data message flows, and using the user identifiers comprises using the obtained user identifiers and application-version identifiers to identify the first and second firewall rules to enforce respectively for the first and second data message flows. 7. The method of claim 1 , wherein at least one user identifier identifies an individual user. 8. The method of claim 1 , wherein the user identifiers comprise (i) a first user identifier that identifies the first user logged into the first VM, and (ii) a second user identifier that is an administrative identifier of a service process running on the first VM while the first user is concurrently logged into the first VM. 9. A non-transitory machine readable medium storing a program for performing firewall operations for a first machine executing on a host with a plurality of other machines, the program comprising: concurrently receiving data messages that are part of first and second data message flows sent by a first machine executing on the host computer for first and second user that are concurrently logged into the first machine; for each data message flow, providing an identifier of the data message flow to a context collector that executes on the host computer in a query to obtain a set of one or more contextual attributes including a user identifier that identifies the first user or the second user as the user associated with the data message flow, the context collector communicating with guest introspectors installed on the machines to collect contextual attributes regarding flows starting on the plurality of machines and to store the contextual attributes to subsequently provide to the firewall executing on the host computer, the collected contextual attributes comprising user identifiers; using the user identifiers obtained for the first and second data message flows to identify respectively a first firewall rule to enforce for the first data message flow associated with the first user and a second firewall rule to enforce for the second data message flow associated with the second user; performing a first firewall operation on the data messages of the first data message flow based on the identified first firewall rule; and performing a second firewall operation on the data messages of the second data message flow based on the identified second firewall rule. 10. The non-transitory machine readable medium of claim 9 , wherein the first machine operates as a terminal server. 11. The non-transitory machine readable medium of claim 10 , wherein the first data message flow is associated with the first user's operations on the terminal server and the second data message flow is associated with the second user's operations on the terminal server. 12. The non-transitory machine readable medium of claim 9 further comprising identifying a user identifier each time a new network connection starts. 13. The non-transitory machine readable medium of claim 9 , wherein the user identifiers are group identifiers. 14. The non-transitory machine readable medium of claim 13 , wherein the group identifiers are group identifiers in an active directory. 15. The non-transitory machine readable medium of claim 9 , wherein at least one user identifier identifies an individual user. 16. The non-transitory machine readable medium of claim 9 , wherein the first machine is a virtual machine (VM). 17. The non-transitory machine readable medium of claim 9 , wherein the first machine is a container. 18. The non-transitory machine readable medium of claim 9 , wherein the user identifiers comprise (i) a first user identifier that identifies the first user logged into the first machine, and (ii) a second user identifier that is an administrative identifier of a service process running on the first machine while the first user is concurrently logged into the first machine.

Assignees

Inventors

Classifications

  • Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems · CPC title

  • Grouping of entities · CPC title

  • Stateful filtering · CPC title

  • Rule management · CPC title

  • Network integration; Enabling network access in virtual machine instances · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11032246B2 cover?
Some embodiments of the invention provide a novel architecture for capturing contextual attributes on host computers that execute one or more machines, and for consuming the captured contextual attributes to perform services on the host computers. The machines are virtual machines (VMs) in some embodiments, containers in other embodiments, or a mix of VMs and containers in still other embodimen…
Who is the assignee on this patent?
Nicira Inc
What technology area does this patent fall under?
Primary CPC classification H04L63/0254. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 08 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).