IP Library › Granted Patent US 11,151,268
Granted Patent B2
US 11,151,268 · App. 16/300,210 · Granted Oct 19, 2021

Software container access control

Inventors: Joshua Daniel (London, GB); Fadi El-Moussa (London, GB)
Assignee: British Telecommunications Public Limited Company
G06F21/6209G06F9/44505G06F9/468G06F9/5061G06F21/53
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,151,268
App. No.
16/300,210
Granted
Oct 19, 2021
Kind
B2
Abstract

An access control method for a restricted resource in a computer system having an operating system providing isolation between software processes executable in the operating system such that a first process executing in the operating system is prevented from accessing resources of a second process executing in the operating system, the method including receiving a software component for execution as an isolated process in the operating system; receiving a baseline profile for the software component defining characteristics of the software component at a runtime for identifying performance of the software component; generating a runtime profile of the software component in execution in the operating system defining characteristics of the component in execution; and permitting access by the software component to the restricted resource based on a comparison of the baseline profile and the runtime profile such that the software component exhibiting undesirable performance is precluded from accessing the restricted resource.

Claims (33)

1. An access control method for a restricted resource in a computer system having an operating system providing isolation between software processes executable in the operating system such that a first process executing in the operating system is prevented from accessing resources of a second process executing in the operating system, the method comprising:

receiving a software component for execution as an isolated process in the operating system;

receiving a baseline profile for the software component defining one or more desirable characteristics of the software component at a runtime for identifying performance of the software component;

generating a runtime profile of the software component in execution in the operating system, the runtime profile defining one or more actual characteristics of the software component in execution; and

permitting or denying access by the software component to the restricted resource based on a comparison of the baseline profile against the runtime profile such that the software component exhibiting undesirable performance is precluded from accessing the restricted resource, wherein the comparison of the baseline profile against the runtime profile includes at least one evaluation of the one or more actual characteristics to the one or more desirable characteristics.

2. The method of claim 1 , wherein the restricted resource is a cryptographic key for accessing restricted data.

3. The method of claim 2 , wherein the resources include one or more of: processing resources; storage resources; or input/output resources.

4. The method of claim 1 , wherein the resources include one or more of: thread; task; memory; data store; library; network protocol; network connection; network port; stack; heap; peripheral; or an input/output device.

5. The method of claim 1 , wherein the isolation includes namespace isolation.

6. The method of claim 1 , wherein the one or more desirable characteristics of the baseline profile define performance criteria for identifying undesirable performance of the software component.

7. The method of claim 6 , wherein the one or more desirable characteristics of the software component include one or more of: an extent or degree of storage consumption of the software component; an extent or degree of processor consumption of the software component; an extent or degree of communication between the software component and another computing component; or a duration of a runtime of the software component.

8. The method of claim 1 , wherein an undesirable performance of the software component includes one or more of: an extent or degree of storage consumption of the software component; an extent or degree of processor consumption of the software component; an extent or degree of communication between the software component and another computing component; or a duration of a runtime of the software component.

9. The method according to claim 1 , further comprising:

suspending or terminating execution of the flagged software component; and

transitioning execution of the flagged software component to an alternative computer system.

10. The method according to claim 1 , wherein the software component is a software container for execution in a container software environment.

11. The method of claim 10 , wherein the container software environment is a Docker environment.

12. The method of claim 1 , wherein the software component is modifiable by a user or software by one or more of: inclusion of one or more other software components; or configuration of the software component for execution in the computer system.

13. The method of claim 1 , wherein the baseline profile is generated based on profiling of one or more executions of the software component.

14. The method of claim 13 , wherein the baseline profile is learned by a machine learning algorithm from multiple executions of the software component.

15. The method of claim 1 , further comprising:

in response to the identification of undesirable performance of the software component, communicating the identification to one or more other computer systems suitable for executing the software component.

16. A computer system comprising:

a processor and memory storing computer program code to:

receive a software component for execution as an isolated process in the operating system;

receive a baseline profile for the software component defining one or more desirable characteristics of the software component at a runtime for identifying performance of the software component;

generate a runtime profile of the software component in execution in the operating system, the runtime profile defining one or more actual characteristics of the software component in execution; and

permit or deny access by the software component to the restricted resource based on a comparison of the baseline profile against the runtime profile such that the software component exhibiting undesirable performance is precluded from accessing the restricted resource, wherein the comparison of the baseline profile against the runtime profile includes at least one evaluation of the one or more actual characteristics to the one or more desirable characteristics.

17. A non-transitory computer-readable storage medium storing a computer program element comprising computer program code to, when loaded into a computer system and executed thereon, cause the computer to provide access control for a restricted resource in a computer system having an operating system providing isolation between software processes executable in the operating system such that a first process executing in the operating system is prevented from accessing resources of a second process executing in the operating system, by:

receiving a software component for execution as an isolated process in the operating system;

receiving a baseline profile for the software component defining one or more desirable characteristics of the software component at a runtime for identifying performance of the software component;

generating a runtime profile of the software component in execution in the operating system, the runtime profile defining one or more actual characteristics of the software component in execution; and

permitting or denying access by the software component to the restricted resource based on a comparison of the baseline profile against the runtime profile such that the software component exhibiting undesirable performance is precluded from accessing the restricted resource, wherein the comparison of the baseline profile against the runtime profile includes at least one evaluation of the one or more actual characteristics to the one or more desirable characteristics.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2018
From: DANIEL, JOSHUA; EL-MOUSSA, FADI
To: BRITISH TELECOMMUNICATIONS PUBLIC LIMITED COMPANY
Reel/Frame 047461/0340 →
Priority Claims (1)
EP 16169264 · May 11, 2016 · regional
Continuity (1)
Related Publication 20190156047A1 · May 23, 2019
Cited By (1)
US 12,563,058