IP Library › Granted Patent US 10,503,911
Granted Patent B2
US 10,503,911 · App. 16/041,394 · Granted Dec 10, 2019

Automatic generation of data-centric attack graphs

Inventors: Suresh N. Chari (Tarrytown, NY); Ashish Kundu (Elmsford, NY); Ian M. Molloy (Chappaqua, NY); Dimitrios Pendarakis (Westport, CT); Josyula R. Rao (Briarcliff Manor, NY)
Assignee: International Business Machines Corporation
G06F21/577H04L41/12H04L63/1433G06F2221/034
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,503,911
App. No.
16/041,394
Filed
Jul 20, 2018
Granted
Dec 10, 2019
Kind
B2
Art Unit
2431
USPC
726/25
Abstract

Generating an attack graph to protect sensitive data objects from attack is provided. The attack graph that includes nodes representing components in a set of components of a regulated service and edges between nodes representing relationships between related components in the set of components is generated based on vulnerability and risk metrics corresponding to each component. A risk score is calculated for each component represented by a node in the attack graph based on sensitivity rank and criticality rank corresponding to each respective component. Risk scores are aggregated for each component along each edge path connecting a node of a particular component to a node of a related component. In response to determining that an aggregated risk score of a component is greater than or equal to a risk threshold, an action is performed to mitigate a risk to sensitive data corresponding to the component posed by an attack.

Claims (56)

1. A computer-implemented method for generating an attack graph to protect sensitive data objects located on a network from attack, the computer-implemented method comprising:

generating, by a computer, the attack graph that includes nodes representing components in a set of components of a regulated service and edges between nodes representing relationships between related components in the set of components based on vulnerability and risk metrics corresponding to each component in the set of components;

calculating, by the computer, a risk score for each component represented by a node in the attack graph based on a sensitivity rank and a criticality rank corresponding to each respective component;

aggregating, by the computer, risk scores for each component along each edge path connecting a node of a particular component to a node of a related component to form an aggregated risk score for each component; and

responsive to the computer determining that the aggregated risk score of a component is greater than or equal to a risk threshold, performing, by the computer, an action to mitigate a risk to sensitive data corresponding to the component posed by an attack via the network.

2. The computer-implemented method of claim 1 further comprising:

calculating, by the computer, a level of compromisability of sensitive data for each component represented by a node in the attack graph based on the vulnerability and risk metrics corresponding to each respective component and edge paths between nodes of related components;

calculating, by the computer, the sensitivity rank, an integrity rank, and the criticality rank for each component represented by a node in the attack graph using a topology graph of the regulated service; and

calculating, by the computer, the risk score for each component represented by a node in the attack graph based on the level of compromisability, the sensitivity rank, the integrity rank, and the criticality rank corresponding to each respective component.

3. The computer-implemented method of claim 2 , wherein the computer calculates the level of compromisability of the sensitive data using a network flow algorithm, and wherein the network flow algorithm is a max-flow min-cut algorithm.

4. The computer-implemented method of claim 2 further comprising:

normalizing, by the computer, the aggregated risk score for each component in the set of components of the regulated service to form a normalized risk score for each component.

5. The computer-implemented method of claim 4 further comprising:

comparing, by the computer, the normalized risk score for each component with a risk threshold value; and

responsive to the computer determining that the normalized risk score of a component is greater than or equal to the risk threshold value, performing, by the computer, the action based on the normalized risk score being greater than the risk threshold value.

6. The computer-implemented method of claim 1 further comprising:

identifying, by the computer, a set of sensitive data corresponding to the regulated service;

scanning, by the computer, for the set of components corresponding to the regulated service that are authorized to perform activities associated with sensitive data;

identifying, by the computer, the vulnerability and risk metrics corresponding to each component in the set of components of the regulated service; and

generating, by the computer, a topology graph of the regulated service based on each identified component in the set of components and a configuration of each identified component.

7. The computer-implemented method of claim 6 further comprising:

identifying, by the computer, authorized activities associated with the set of sensitive data.

8. The computer-implemented method of claim 1 further comprising:

identifying, by the computer, two or more edges having a common destination node in the attack graph.

9. The computer-implemented method of claim 8 , wherein the attack graph is an AND/OR graph.

10. The computer-implemented method of claim 9 further comprising:

generating, by the computer, an AND edge for the two or more edges having the common destination node, if and only if, a sensitive data vulnerability of the common destination node can be exploited by an attacker and all of the two or more edges having the common destination node are exploited.

11. The computer-implemented method of claim 9 further comprising:

generating, by the computer, an OR edge for the two or more edges having the common destination node if only one or more of the two or more edges having the common destination node can be exploited.

12. The computer-implemented method of claim 9 further comprising:

generating, by the computer, multi-step attack paths by connecting one sensitive data vulnerability to another sensitive data vulnerability such that a path containing two or more edges representing an attack requires an attacker to exploit each vulnerability of the two or more edges in sequential order.

13. The computer-implemented method of claim 1 further comprising:

propagating, by the computer, a local sensitive data risk backward along an edge path from a sensitive data sink node to a source sensitive data attack node in the attack graph.

14. The computer-implemented method of claim 13 further comprising:

calculating, by the computer, a cumulative sensitive data risk for each node in the attack graph based on a propagated sensitive data risk along all incoming edge paths of a node and the local sensitive data risk corresponding to that particular node.

15. The computer-implemented method of claim 14 further comprising:

calculating, by the computer, a total sensitive data risk corresponding to the regulated service represented by the attack graph based on aggregating cumulative sensitive data risk of all sensitive data sink nodes.

16. The computer-implemented method of claim 1 , wherein the computer identifies the vulnerability and risk metrics of a component based on at least one of Common Vulnerabilities and Exposures identifiers, application scanning, penetration testing, and vulnerability scanning.

17. A computer system for generating an attack graph to protect sensitive data objects located on a network from attack, the computer system comprising:

a bus system;

a storage device connected to the bus system, wherein the storage device stores program instructions; and

a processor connected to the bus system, wherein the processor executes the program instructions to:

generate the attack graph that includes nodes representing components in a set of components of a regulated service and edges between nodes representing relationships between related components in the set of components based on vulnerability and risk metrics corresponding to each component in the set of components;

calculate a risk score for each component represented by a node in the attack graph based on a sensitivity rank and a criticality rank corresponding to each respective component;

aggregate risk scores for each component along each edge path connecting a node of a particular component to a node of a related component to form an aggregated risk score for each component; and

perform an action to mitigate a risk to sensitive data corresponding to a component posed by an attack via the network in response to determining that the aggregated risk score of the component is greater than or equal to a risk threshold.

18. A computer program product for generating an attack graph to protect sensitive data objects located on a network from attack, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to perform a method comprising:

generating, by the computer, the attack graph that includes nodes representing components in a set of components of a regulated service and edges between nodes representing relationships between related components in the set of components based on vulnerability and risk metrics corresponding to each component in the set of components;

calculating, by the computer, a risk score for each component represented by a node in the attack graph based on a sensitivity rank and a criticality rank corresponding to each respective component;

aggregating, by the computer, risk scores for each component along each edge path connecting a node of a particular component to a node of a related component to form an aggregated risk score for each component; and

responsive to the computer determining that the aggregated risk score of a component is greater than or equal to a risk threshold, performing, by the computer, an action to mitigate a risk to sensitive data corresponding to the component posed by an attack via the network.

19. The computer program product of claim 18 further comprising:

calculating, by the computer, a level of compromisability of sensitive data for each component represented by a node in the attack graph based on the vulnerability and risk metrics corresponding to each respective component and edge paths between nodes of related components;

calculating, by the computer, the sensitivity rank, an integrity rank, and the criticality rank for each component represented by a node in the attack graph using a topology graph of the regulated service; and

calculating, by the computer, the risk score for each component represented by a node in the attack graph based on the level of compromisability, the sensitivity rank, the integrity rank, and the criticality rank corresponding to each respective component.

20. The computer program product of claim 19 , wherein the computer calculates the level of compromisability of the sensitive data using a network flow algorithm, and wherein the network flow algorithm is a max-flow min-cut algorithm.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY NAME PREVIOUSLY RECORDED AT REEL: 046417 FRAME: 0597. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 3, 2018
From: CHARI, SURESH N.; KUNDU, ASHISH; MOLLOY, IAN M.; PENDARAKIS, DIMITRIOS; RAO, JOSYULA R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 047713/0838 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2018
From: CHARI, SURESH N.; KUNDU, ASHISH; MOLLOY, IAN M.; PENDARAKIS, DIMITRIOS; RAO, JOSYULA R.
To: INTERNATIONAL BUSINESS MACHINE CORPORATION
Reel/Frame 046417/0597 →
Continuity (2)
Continuation 15087310 · Mar 31, 2016
Related Publication 20180330103A1 · Nov 15, 2018