IP Library › Granted Patent US 12,034,756
Granted Patent B2
US 12,034,756 · App. 17/411,344 · Granted Jul 9, 2024

Analytical attack graph differencing

Inventors: Nimrod Busany (Tel Aviv, IL); Dan Klein (Rosh Ha'ayin, IL); Benny Rochwerger (Tel Aviv, IL)
Assignee: Accenture Global Solutions Limited
H04L63/1433H04L63/1441
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 12,034,756
App. No.
17/411,344
Granted
Jul 9, 2024
Kind
B2
Abstract

Methods, systems, and computer-readable storage media for receiving data representative of two or more AAGs, providing an identifier for each element of each of the two or more AAGs, each identifier being unique within a respective AAG, at least one identifier being non-unique between the two or more AAGs, determining an attribute value for each element of each of the two or more AAGs, storing attribute value to element mappings in an attribute dictionary, providing a differenced AAG based on the attribute value to element mappings in the attribute dictionary, determining a set of remedial actions at least partially based on the differenced AAG, and executing one or more remedial actions in the set of remedial actions to reduce a cyber security risk to the enterprise network.

Claims (53)

1. A computer-implemented method for mitigating risk in an enterprise network based on analytical attack graphs (AAGs), each AAG representative of potential lateral movement within the enterprise network, the method being executed by one or more processors and comprising:

receiving data representative of two or more AAGs, each AAG comprising a first set of nodes, a second set of nodes, a third set of nodes, a first set of edges, and a second set of edges, the first set of nodes comprising configuration nodes, each configuration node representing a configuration of a component of the enterprise network, the second set of nodes comprising rule nodes, each rule node representing a method available to an attacker of the enterprise network to move between components of the enterprise network, the third set of nodes comprising impact nodes, each impact node representing a result of one or more attack methods, the first set of edges comprising edges between configuration nodes and rule nodes that represent logical AND, the second set of edges comprising edges between rule nodes and impact nodes that represent logical OR;

providing an identifier for each element of each of the two or more AAGs, each identifier being unique within a respective AAG, at least one identifier being non-unique between the two or more AAGs;

determining an attribute value for each element of each of the two or more AAGs;

storing attribute value to element mappings in an attribute dictionary;

providing a differenced AAG based on the attribute value to element mappings in the attribute dictionary;

determining a set of remedial actions at least partially based on the differenced AAG; and

executing one or more remedial actions in the set of remedial actions to reduce a cyber security risk to the enterprise network.

2. The computer-implemented method of claim 1 , wherein providing a differenced AAG comprises:

aligning the two or more AAGs by identifying equivalent nodes and identifying equivalent edges between the two or more AAGs; and

executing a set of functions to provide a set of changed nodes and a set of changed edges.

3. The computer-implemented method of claim 2 , wherein identifying nodes as equivalent nodes comprises determining that the nodes are associated with the same predicate and have the same arguments.

4. The computer-implemented method of claim 2 , wherein identifying edges as equivalent edges comprises determining that the nodes have the same source node and the same target node.

5. The computer-implemented method of claim 2 , wherein the set of functions comprises a node addition function, a node removal function, an edge addition function, and an edge removal function.

6. The computer-implemented method of claim 1 , wherein each node and each edge of the differenced AAG is assigned an attribute based on a respective attribute value, the attribute visually representing a difference between the two or more AAGs in a visualization of the differenced AAG.

7. The computer-implemented method of claim 1 , wherein the differenced AAG represents one or more differences between two AAGs.

8. The computer-implemented method of claim 1 , wherein the differenced AAG represents one or more differences between three or more AAGs.

9. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for mitigating risk in an enterprise network based on analytical attack graphs (AAGs), each AAG representative of potential lateral movement within the enterprise network, the operations comprising:

receiving data representative of two or more AAGs, each AAG comprising a first set of nodes, a second set of nodes, a third set of nodes, a first set of edges, and a second set of edges, the first set of nodes comprising configuration nodes, each configuration node representing a configuration of a component of the enterprise network, the second set of nodes comprising rule nodes, each rule node representing a method available to an attacker of the enterprise network to move between components of the enterprise network, the third set of nodes comprising impact nodes, each impact node representing a result of one or more attack methods, the first set of edges comprising edges between configuration nodes and rule nodes that represent logical AND, the second set of edges comprising edges between rule nodes and impact nodes that represent logical OR;

providing an identifier for each element of each of the two or more AAGs, each identifier being unique within a respective AAG, at least one identifier being non-unique between the two or more AAGs;

determining an attribute value for each element of each of the two or more AAGs;

storing attribute value to element mappings in an attribute dictionary;

providing a differenced AAG based on the attribute value to element mappings in the attribute dictionary;

determining a set of remedial actions at least partially based on the differenced AAG; and

executing one or more remedial actions in the set of remedial actions to reduce a cyber security risk to the enterprise network.

10. The non-transitory computer-readable storage medium of claim 9 , wherein providing a differenced AAG comprises:

aligning the two or more AAGs by identifying equivalent nodes and identifying equivalent edges between the two or more AAGs; and

executing a set of functions to provide a set of changed nodes and a set of changed edges.

11. The non-transitory computer-readable storage medium of claim 10 , wherein identifying nodes as equivalent nodes comprises determining that the nodes are associated with the same predicate and have the same arguments.

12. The non-transitory computer-readable storage medium of claim 10 , wherein identifying edges as equivalent edges comprises determining that the nodes have the same source node and the same target node.

13. The non-transitory computer-readable storage medium of claim 10 , wherein the set of functions comprises a node addition function, a node removal function, an edge addition function, and an edge removal function.

14. The non-transitory computer-readable storage medium of claim 9 , wherein each node and each edge of the differenced AAG is assigned an attribute based on a respective attribute value, the attribute visually representing a difference between the two or more AAGs in a visualization of the differenced AAG.

15. The non-transitory computer-readable storage medium of claim 9 , wherein the differenced AAG represents one or more differences between two AAGs.

16. The non-transitory computer-readable storage medium of claim 9 , wherein the differenced AAG represents one or more differences between three or more AAGs.

17. A system, comprising:

a computing device; and

a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for mitigating risk in an enterprise network based on analytical attack graphs (AAGs), each AAG representative of potential lateral movement within the enterprise network, the operations comprising:

receiving data representative of two or more AAGs, each AAG comprising a first set of nodes, a second set of nodes, a third set of nodes, a first set of edges, and a second set of edges, the first set of nodes comprising configuration nodes, each configuration node representing a configuration of a component of the enterprise network, the second set of nodes comprising rule nodes, each rule node representing a method available to an attacker of the enterprise network to move between components of the enterprise network, the third set of nodes comprising impact nodes, each impact node representing a result of one or more attack methods, the first set of edges comprising edges between configuration nodes and rule nodes that represent logical AND, the second set of edges comprising edges between rule nodes and impact nodes that represent logical OR;

providing an identifier for each element of each of the two or more AAGs, each identifier being unique within a respective AAG, at least one identifier being non-unique between the two or more AAGs;

determining an attribute value for each element of each of the two or more AAGs;

storing attribute value to element mappings in an attribute dictionary;

providing a differenced AAG based on the attribute value to element mappings in the attribute dictionary;

determining a set of remedial actions at least partially based on the differenced AAG; and

executing one or more remedial actions in the set of remedial actions to reduce a cyber security risk to the enterprise network.

18. The system of claim 17 , wherein providing a differenced AAG comprises:

aligning the two or more AAGs by identifying equivalent nodes and identifying equivalent edges between the two or more AAGs; and

executing a set of functions to provide a set of changed nodes and a set of changed edges.

19. The system of claim 18 , wherein identifying nodes as equivalent nodes comprises determining that the nodes are associated with the same predicate and have the same arguments.

20. The system of claim 18 , wherein identifying edges as equivalent edges comprises determining that the nodes have the same source node and the same target node.

21. The system of claim 18 , wherein the set of functions comprises a node addition function, a node removal function, an edge addition function, and an edge removal function.

22. The system of claim 18 , wherein each node and each edge of the differenced AAG is assigned an attribute based on a respective attribute value, the attribute visually representing a difference between the two or more AAGs in a visualization of the differenced AAG.

23. The system of claim 17 , wherein the differenced AAG represents one or more differences between two AAGs.

24. The system of claim 17 , wherein the differenced AAG represents one or more differences between three or more AAGs.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 25, 2021
From: BUSANY, NIMROD; KLEIN, DAN; ROCHWERGER, BENNY
To: ACCENTURE GLOBAL SOLUTIONS LIMITED
Reel/Frame 057291/0365 →
Continuity (2)
Provisional Application 63071498 · Aug 28, 2020
Related Publication 20220070202A1 · Mar 3, 2022
Cited By (1)
US 12,556,572