IP Library Granted Patent US 11,232,192
Granted Patent B2
US 11,232,192 · App. 16/238,524 · Granted Jan 25, 2022

Automatic deployment of application security policy using application manifest and dynamic process analysis in a containerization environment

Inventors: Glen K. Kosaka (Mountain View, CA); Gang Duan (San Jose, CA); Fei Huang (Fremont, CA)
Assignee: NeuVector, Inc.
G06F21/53G06F9/451G06F9/455G06F9/45541G06F9/45558G06F2009/45562G06F2009/45587G06F2221/033
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,232,192
App. No.
16/238,524
Granted
Jan 25, 2022
Kind
B2
Abstract

A policy interpreter detects that an application container has been added in a container system, and opens a stored manifest for the application container. The policy interpreter retrieves running services information regarding the application container, and generates a security policy for the application container. The security policy defines a set of actions for which the application container can perform, and the set of actions are determined using the manifest and the running service information associated with the application container. The policy interpreter loads the security policy at a security container. The security container blocks an action performed by the application container in response to determining that the action performed by the application container does not match any action in the set of actions defined in the security policy. The policy interpreter transmits the security policy to a graphical user interface container for presentation to a user via a display device.

Claims (58)

1. A computer-implemented method in a container system, comprising:

detecting that an application container has been added in the container system, the application container having computer-readable instructions, the application container initiated via a container service and isolated using operating system-level virtualization;

opening a stored manifest for the application container, the stored manifest comprising configuration settings for the newly added application container, wherein the stored manifest for the application data further comprises information indicating an image file in which executable code for the application container is stored, incoming and outgoing ports for the application container, services to which the application container connects, and user credentials to access the services;

retrieving running services information regarding the application container, the running services information including information provided by the container service about the application container running on the container system;

generating a security policy for the application container, the security policy defining a set of actions for which the application container can perform, the set of actions determined using the manifest and the running service information associated with the application container;

loading the security policy at a security container, the security container configured to, upon loading the security policy, block an action performed by the application container in response to determining that the action performed by the application container does not match any action in the set of actions defined in the security policy for the application container; and

transmitting the security policy to a graphical user interface container for presentation to a user via a display device, the graphical user interface container presenting information about the generated security policy.

2. The method of claim 1 , wherein detecting that an application container has been added comprises periodically querying the container service for initiated application containers.

3. The method of claim 1 , wherein opening a stored manifest for the application container further comprises executing a command line interface instruction to cause the container service to output manifest data for the application container.

4. A computer container system comprising:

one or more application containers, each application container including computer-readable instructions and initiated via a container service and isolated using operating system-level virtualization;

a computing device comprising memory and a processor, the memory configured to store code instructions, the code instructions, when executed by the processor, cause the processor to:

detect that an application container of the one or more application containers has been added in the container system;

open a stored manifest for the application container, the stored manifest comprising configuration settings for the newly added application container, wherein the stored manifest for the application data further comprises information indicating an image file in which executable code for the application container is stored, incoming and outgoing ports for the application container, services to which the application container connects, and user credentials to access the services;

retrieve running services information regarding the application container, the running services information including information provided by the container service about the application container running on the container system; and

generate a security policy for the application container, the security policy defining a set of actions for which the application container can perform, the set of actions determined using the manifest and the running service information associated with the application container;

a security container operating to load the security policy, the security container configured to block an action performed by the application container in response to determining that the action performed by the application container does not match any action in the set of actions defined in the security policy for the application container; and

a graphical user interface container operating to present information about the generated security policy to a user via a display device.

5. The container system of claim 4 , wherein the computing device policy container further operates to periodically query the container service for initiated application containers.

6. The container system of claim 4 , wherein the computing device further operates to execute a command line interface instruction to cause the container service to output manifest data for the application container.

7. A non-transitory computer storage readable medium comprising stored instructions, the instructions when executed by a processor, causes the processor to:

detect that an application container has been added in the container system, the application container including computer-readable instructions, the application container able to be initiated via a container service and isolated using operating system-level virtualization;

open a stored manifest for the application container, the stored manifest comprising configuration settings for the newly added application container, wherein the stored manifest for the application data further comprises information indicating an image file in which executable code for the application container is stored, incoming and outgoing ports for the application container, services to which the application container connects, and user credentials to access the services;

retrieve running services information regarding the application container, the running services information including information provided by the container service about the application container running on the container system;

generate a security policy for the application container, the security policy defining a set of actions for which the application container can perform, the set of actions determined using the manifest and the running service information associated with the application container;

load the security policy at a security container, the security container configured to, upon loading the security policy, block an action performed by the application container in response to determining that the action performed by the application container does not match any action in the set of actions defined in the security policy for the application container; and

transmit the security policy to a graphical user interface container for presentation to a user via a display device, the graphical user interface container presenting information about the generated security policy.

8. The non-transitory computer storage readable medium of claim 7 , storing further instructions, that when executed by the processor, causes the processor to periodically query the container service for initiated application containers.

9. The non-transitory computer storage readable medium of claim 7 , comprising further stored instructions, that when executed by the processor, causes the processor to execute a command line interface instruction to cause the container service to output manifest data for the application container.

10. A computer-implemented method in a container system, comprising:

detecting that an application container has been added in the container system, the application container having computer-readable instructions, the application container initiated via a container service and isolated using operating system-level virtualization;

opening a stored manifest for the application container, the stored manifest comprising configuration settings for the newly added application container;

retrieving running services information regarding the application container, the running services information including information provided by the container service about the application container running on the container system, wherein retrieving the running services information regarding the application container further comprises executing a command line interface instruction to cause the container service to request a list of service descriptors for a namespace comprising the application container;

generating a security policy for the application container, the security policy defining a set of actions for which the application container can perform, the set of actions determined using the manifest and the running service information associated with the application container;

loading the security policy at a security container, the security container configured to, upon loading the security policy, block an action performed by the application container in response to determining that the action performed by the application container does not match any action in the set of actions defined in the security policy for the application container; and

transmitting the security policy to a graphical user interface container for presentation to a user via a display device, the graphical user interface container presenting information about the generated security policy.

11. The method of claim 10 , wherein the running services information indicates a network connection between the application container and another application container within the namespace.

12. The method of claim 10 , wherein generating a security policy for the application container further comprises generating one or more network rules which allow the application container to make one or more network connections indicated in at least one of the manifest and the running service information associated with the application container.

13. A computer container system comprising:

one or more application containers, each application container including computer-readable instructions and initiated via a container service and isolated using operating system-level virtualization;

a computing device comprising memory and a processor, the memory configured to store code instructions, the code instructions, when executed by the processor, cause the processor to:

detect that an application container of the one or more application containers has been added in the container system;

open a stored manifest for the application container, the stored manifest comprising configuration settings for the newly added application container;

retrieve running services information regarding the application container, the running services information including information provided by the container service about the application container running on the container system, wherein the instruction to retrieve the running services information regarding the application container further comprises an instruction to execute a command line interface instruction to cause the container service to request a list of service descriptors for a namespace comprising the application container; and

generate a security policy for the application container, the security policy defining a set of actions for which the application container can perform, the set of actions determined using the manifest and the running service information associated with the application container;

a security container operating to load the security policy, the security container configured to block an action performed by the application container in response to determining that the action performed by the application container does not match any action in the set of actions defined in the security policy for the application container; and

a graphical user interface container operating to present information about the generated security policy to a user via a display device.

14. The container system of claim 13 , wherein the running services information indicates a network connection between the application container and another application container within the namespace.

15. The container system of claim 13 , wherein the instruction to generate the security policy for the application container further comprises an instruction generate one or more network rules which allow the application container to make one or more network connections indicated in at least one of the manifest and the running service information associated with the application container.

16. A non-transitory computer storage readable medium comprising stored instructions, the instructions when executed by a processor, causes the processor to:

detect that an application container has been added in the container system, the application container including computer-readable instructions, the application container able to be initiated via a container service and isolated using operating system-level virtualization;

open a stored manifest for the application container, the manifest comprising configuration settings for the newly added application container;

retrieve running services information regarding the application container, the running services information including information provided by the container service about the application container running on the container system, wherein the instruction to retrieve the running services information regarding the application container further comprises an instruction to execute a command line interface instruction to cause the container service to request a list of service descriptors for a namespace comprising the application container; and

generate a security policy for the application container, the security policy defining a set of actions for which the application container can perform, the set of actions determined using the manifest and the running service information associated with the application container;

load the security policy at a security container, the security container configured to, upon loading the security policy, block an action performed by the application container in response to determining that the action performed by the application container does not match any action in the set of actions defined in the security policy for the application container; and

transmit the security policy to a graphical user interface container for presentation to a user via a display device, the graphical user interface container presenting information about the generated security policy.

17. The non-transitory computer storage readable medium of claim 16 , wherein the running services information indicates a network connection between the application container and another application container within the namespace.

18. The non-transitory computer storage readable medium of claim 16 , wherein the instruction to generate the security policy for the application container further comprises an instruction generate one or more network rules which allow the application container to make one or more network connections indicated in at least one of the manifest and the running service information associated with the application container.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2023
From: NEUVECTOR, LLC
To: SUSE LLC
Reel/Frame 062408/0015 →
CHANGE OF NAME Recorded Jan 4, 2023
From: NEUVECTOR, INC.
To: NEUVECTOR, LLC
Reel/Frame 062277/0771 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2019
From: KOSAKA, GLEN; DUAN, GUANG; HUANG, FEI
To: NEUVECTOR, INC.
Reel/Frame 048847/0231 →
Continuity (1)
Related Publication 20200218798A1 · Jul 9, 2020