IP Library Granted Patent US 10,936,721
Granted Patent B1
US 10,936,721 · App. 16/287,922 · Granted Mar 2, 2021

System, method, and computer program for splitting and distributing a privileged software component into dependent components in order to deliver better security

Inventors: Ofer Hermoni (Tenafly, NJ); Daniel Sela (Petah Tikva, IL)
Assignee: AMDOCS DEVELOPMENT LIMITED
G06F21/57G06F21/45G06F2221/034G06F2221/2101H04L2209/38
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,936,721
App. No.
16/287,922
Granted
Mar 2, 2021
Kind
B1
Abstract

As described herein, a system, method, and computer program are provided for splitting and distributing a privileged software system into dependent components in order to deliver better security. In use, a privilege system is separated into n components of at least three components, wherein each of the n components runs on a separate machine, and a number up to t components may be controlled in an adversarial manner without compromising the privilege system, t components being at least two components and less than the n components. A power of a privilege is distributed among the n components. Additionally, one or more actions are performed within the privileged system.

Claims (41)

1. A computer program product comprising computer executable instructions stored on a non-transitory computer readable medium that when executed by a processor instruct the processor to:

separate a privilege system into n components, wherein each of the n components is a different system resource that runs on a separate machine and wherein the n components include at least:

a policies repository component storing a plurality of policy rules,

generator logic component to determine when the plurality of policy rules are triggered, and

a policy executor component that executes the policy rules to perform the one or more actions on a target asset;

distribute a power of a privilege among the n components by delegating authority to perform functions across the n components such that up to n−1 components of the n components may be controlled by an attacker without compromising the privilege system; and

perform one or more actions within the privileged system using the n components.

2. The computer program product of claim 1 , wherein the n components further include a blockchain ledger which is used by any other component of the n components to store and audit the policy rules, to provide further security against tampering of the policy rules, or to provide further security via fault-tolerance.

3. The computer program product of claim 2 , wherein the blockchain ledger is used to encrypt the policy rules as well as any data associated with the policy rules, and the blockchain ledger is used by a credential vault to verify that policies repository component, the generator logic component, and the policy executor component are confirmed.

4. The computer program product of claim 1 , wherein the n components further include a credential vault which provides the policy executor component with credentials.

5. The computer program product of claim 1 , wherein the one or more actions are performed on a target asset, the one or more actions including at least one of spawning a new instance, removing an instance, or restarting a service.

6. The computer program product of claim 1 , wherein the policy repository component stores the plurality of policy rules in a blockchain ledger, wherein the generator logic component verifies an integrity of the plurality of policy rules using the blockchain ledger.

7. A method, comprising:

separating a privilege system into n components, wherein the n components is a different system resource that runs on a separate machine and wherein the n components include at least:

a policies repository component storing a plurality of policy rules,

generator logic component to determine when the plurality of policy rules are triggered, and

a policy executor component that executes the policy rules to perform the one or more actions on a target asset;

distributing a power of a privilege among the n components by delegating authority to perform functions across the n components such that up to n−1 components of the n components may be controlled by an attacker without compromising the privilege system; and

performing one or more actions within the privileged system using the n components.

8. A device, comprising:

a non-transitory memory storing instructions; and

one or more processors in communication with the non-transitory memory, wherein the one or more processors execute the instructions to:

separate a privilege system into n components, wherein each of the n components is a different system resource that runs on a separate machine and wherein the n components include at least:

a policies repository component storing a plurality of policy rules,

generator logic component to determine when the plurality of policy rules are triggered, and

a policy executor component that executes the policy rules to perform the one or more actions on a target asset;

distribute a power of a privilege among the n components by delegating authority to perform functions across the n components such that up to n−1 components of the n components may be controlled by an attacker without compromising the privilege system; and

perform one or more actions within the privileged system using the n components.

9. The computer program product of claim 1 , wherein performing the one or more actions within the privileged system using the n components is based on the distributed power of the privilege among the n components and includes:

collecting, by the generator logic component, data;

accessing, by the generator logic component, the policy repository component;

determining, by the generator logic component, that a policy rule of the plurality of policy rules stored in the policy repository component is triggered, based on the collected data;

in response to the determining, generating, by the generator logic component, a command to perform an action of the one or more actions, the command including the policy rule of the plurality of policy rules;

sending, by the generator logic component, the command to the policy executor component; and

executing, by the policy executor component, the action on a target asset, in response to receipt of the command.

10. The computer program product of claim 9 , wherein the policy executor component executes the action by:

accessing, by the policy executor component, a decryption key stored by the policy repository component;

decrypting, by the policy executor component, encrypted privileged credentials stored by the policy executor component, using the decryption key to validate the policy rule included in the command; and

responsive to validating the policy rule, executing, by the policy executor component, the action on the target asset according to the policy rule.

11. The computer program product of claim 10 , wherein the action to perform according to the policy rule is accessed from the policy repository component along with the decryption key.

12. The computer program product of claim 11 , wherein the policy executor component receives from the generator logic component the policy rule and the collected data in association with the command, and wherein the policy executor component verifies that the policy rule is triggered by the collected data before executing the action on the target asset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 25, 2019
From: HERMONI, OFER; SELA, DANIEL
To: AMDOCS DEVELOPMENT LIMITED
Reel/Frame 048994/0684 →
Continuity (1)
Provisional Application 62637337 · Mar 1, 2018