IP Library Granted Patent US 12,081,580
Granted Patent B2
US 12,081,580 · App. 18/141,888 · Granted Sep 3, 2024

System and method for emulating a multi-stage attack on a node within a target network

Inventors: Rajesh Sharma (San Diego, CA); Jeremy Miller (San Diego, CA); Stephan Chenette (San Diego, CA); Albert Lopez (San Diego, CA); Shubhi Mittal (San Diego, CA); Andres Gazzoli (San Diego, CA)
Assignee: AttackIQ, Inc.
H04L63/1433
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,081,580
App. No.
18/141,888
Granted
Sep 3, 2024
Kind
B2
Abstract

A method includes: accessing an attack record defining actions representing a previous known attack on a second computer network; initializing an attack graph; for each action, defining a set of behaviors—analogous to the action and executable by an asset on a target network to emulate an effect of the action on the second computer network—and storing the set of behaviors in a node in the attack graph; connecting nodes in the attack graph according to an order of actions in the known attack; scheduling the asset to selectively execute analogous behaviors stored in the set of nodes in the attack graph; accessing alerts generated by a set of security tools deployed on the target network; and characterizing vulnerability of the target network based on alerts, in the set of alerts, indicating detection and prevention of behaviors executed by the asset according to the attack graph.

Claims (167)

1. A method comprising:

accessing an attack graph comprising a set of nodes linked according to a sequence of actions, executed on a machine in a second computer network, representing a known attack on the second computer network, each node in the set of nodes:

corresponding to an action in the sequence of actions;

storing a nominal behavior executable by a target asset to emulate the action; and

storing a set of alternative behaviors analogous to the nominal behavior and executable by the target asset to emulate a transition from a start condition, at the machine prior to start of the action, to an end condition at the machine following completion of the action;

scheduling the target asset, comprising an endpoint device connected to the target network, to automatically execute nominal behaviors and alternative behaviors stored in the set of nodes in the attack graph during a first time period;

accessing a set of alerts generated by a set of security tools, deployed on the target network, during the first time period; and

characterizing a vulnerability of the target network based on presence of alerts, in the set of alerts, indicating detection and prevention of nominal behaviors and alternative behaviors, stored in nodes in the attack graph, executed by the target asset during the first time period.

2. The method of claim 1 , further comprising:

accessing an attack record defining the sequence of actions executed on the machine;

for a first action in the sequence of actions:

based on the attack record, deriving a first start condition at the machine prior to start of the first action;

based on the attack record, deriving a first end condition at the machine following completion of the first action;

based on the attack record, defining a first nominal behavior:

representing the first action executed on the machine during the known attack; and

executable by a target asset to emulate the first action;

defining a first set of alternative behaviors:

analogous to the first nominal behavior; and

executable by the target asset to emulate a transition from the first start condition to the first end condition at the target asset;

storing the first nominal behavior and the first set of alternative behaviors in a first node in the set of nodes in the attack graph; and

linking the set of nodes in the attack graph according to the sequence of actions representing the known attack in the attack record.

3. The method of claim 2 :

wherein defining the first nominal behavior comprises defining the first nominal behavior prescribing a first nominal technique and a first nominal procedure of the first action that produced the first end condition;

further comprising generating a first nominal script executable by the target asset to emulate the first action according to the first nominal technique and the first nominal procedure prescribed by the first nominal behavior;

wherein defining the first set of alternative behaviors comprises defining a second alternative behavior prescribing the first nominal technique and a second procedure different from the first nominal procedure; and

further comprising generating a second alternative script executable by the target asset to emulate transition to the first end condition according to the first nominal technique and the second alternative procedure prescribed by the second alternative behavior.

4. The method of claim 2 :

further comprising:

defining a first reversing behavior executable by the target asset to transition from the first end condition to the first start condition; and

storing the first reversing behavior in the first node; and

wherein linking the set of nodes in the attack graph comprises:

linking a first subset of nodes in the attack graph, storing nominal behaviors and alternative behaviors, according to the sequence of actions; and

linking a second subset of nodes in the attack graph, storing reversing behaviors, according to an inverse of the sequence of actions.

5. The method of claim 2 :

wherein accessing the attack record comprises accessing the attack record defining:

the sequence of actions executed on the machine on the second computer network during the known attack on the second computer network: and

a second sequence of actions executed on a second machine on the second computer network during the known attack on the second computer network; and

further comprising:

initializing a second attack graph comprising a second set of nodes;

for each action in the second sequence of actions:

based on the attack record, deriving a start condition at the second machine prior to start of the action;

based on the attack record, deriving an end condition at the second machine following completion of the action;

based on the attack record, defining a nominal behavior:

representing the action executed by the second machine during the known attack; and

executable by a second asset to emulate the action;

defining a set of alternative behaviors:

analogous to the nominal behavior; and

executable by the second asset to emulate a transition from the start condition to the end condition at the second asset;

defining a second hierarchy for the nominal behavior and the set of alternative behaviors; and

storing the nominal behavior and the set of alternative behaviors according to the second hierarchy in a node in the second set of nodes in the second attack graph;

linking the second set of nodes in the second attack graph according to the second sequence of actions by the second machine during known attack; and

scheduling the second asset on the target network to selectively execute nominal behaviors and alternative behaviors, according to target hierarchies, stored in the second set of nodes in the second attack graph during the first time period.

6. The method of claim 1 :

further comprising, for a first action in the sequence of actions:

defining a first target hierarchy for:

a first nominal behavior executable by the target asset to emulate the first action; and

a first set of alternative behaviors analogous to the first nominal behavior and executable by the target asset to emulate, at the target asset, a transition from a first start condition, at the machine prior to start of the first action, to a first end condition at the machine following completion of the first action; and

storing the first nominal behavior and the first set of alternative behaviors according to the first target hierarchy in a first node in the set of nodes in the attack graph; and

wherein scheduling the target asset on the target network to selectively execute nominal behaviors and alternative behaviors comprises scheduling the target asset on the target network to selectively execute nominal behaviors and alternative behaviors, according to target hierarchies, stored in the set of nodes in the attack graph during a first time period.

7. The method of claim 6 :

wherein defining the first target hierarchy comprises defining the first target hierarchy specifying:

attempted execution, by the target asset, of a first nominal script executable by the target asset to emulate the first action according to a first nominal technique and a first nominal procedure of the first action that produced the first end condition;

attempted execution, by the target asset responsive to failed execution of the first nominal script, of a second alternative script executable by the target asset to emulate transition to the first end condition according to the first nominal technique and a second alternative procedure different from the first nominal procedure; and

attempted execution, by the target asset responsive to failed execution of the second alternative script, of a third alternative script executable by the target asset to emulate transition to the first end condition according to the first nominal technique and a third alternative procedure different from the first nominal procedure.

8. The method of claim 7 , further comprising, by the target asset during first time period:

selecting the first node, in the set of nodes, in the attack graph;

executing a first nominal script, corresponding to the first nominal behavior, at a first time in the first time period according to the first target hierarchy;

in response to detecting failed execution of the first nominal script, executing the second alternative script, corresponding to a second alternative behavior, at a second time succeeding the first time in the first time period according to the first target hierarchy; and

in response to detecting failed execution of the second alternative script, executing the third alternative script, corresponding to the third alternative behavior, at a third time succeeding the second time in the first time period according to the first target hierarchy.

9. The method of claim 6 :

further comprising:

for the first action in the sequence of actions:

defining a second hierarchy for the first nominal behavior and the first set of alternative behaviors; and

storing the first nominal behavior and the first set of alternative behaviors according to the second hierarchy in a node in a second set of nodes in a second attack graph; and

scheduling a second asset on the target network to selectively execute nominal behaviors and alternative behaviors, according to second hierarchies, stored in the second set of nodes in the second attack graph during the first time period; and

wherein characterizing the vulnerability of the target network during the first time period comprises characterizing the vulnerability of the target network based on:

presence of alerts, in the set of alerts, indicating detection and prevention of nominal behaviors and alternative behaviors, defined in nodes in the attack graph, executed by the target asset during the first time period; and

presence of alerts, in the set of alerts, indicating detection and prevention of nominal behaviors and alternative behaviors, defined in nodes in the second attack graph, executed by the second asset during the first time period.

10. The method of claim 1 , further comprising, by the target asset:

during the first time period, selectively executing nominal behaviors and alternative behaviors stored in a first subset of nodes in the attack graph; and

in response to completing emulation of the known attack according to the first subset of nodes, sequentially executing reversing behaviors stored in a second subset of nodes, storing reversing behaviors, in the attack graph.

11. The method of claim 1 :

wherein accessing the set of alerts comprises accessing prevention alerts published by the set of security tools and indicating prevention of behaviors, occurring on the target network, by the set of security tools; and

wherein characterizing the vulnerability of the target network during the first time period comprises:

scanning the set of alerts for a particular prevention alert corresponding to a behavior, stored in a node in the set of nodes in the attack graph, attempted by the target asset during the first time period; and

characterizing the target network as vulnerable in response to absence of the particular prevention alert in the set of alerts.

12. The method of claim 1 , wherein characterizing the vulnerability of the target network during the first time period comprises:

correlating a subset of alerts, in the set of alerts, with behaviors executed by the target asset according to the attack graph during the first time period; and

calculating the vulnerability of the target network based on:

a quantity of alerts in the subset of alerts; and

presence of a prevention alert, in the subset of alerts, indicating prevention of behaviors occurring on the target network by the set of security tools.

13. The method of claim 1 :

wherein accessing the attack graph comprises accessing the attack graph comprising the set of nodes comprising:

a first node corresponding to a first action in the sequence of actions; and

a second node corresponding to a second action in the sequence of actions; and

wherein characterizing the vulnerability of the target network comprises:

correlating a first alert, in the set of alerts, with a first behavior stored in the first node and attempted by the target asset during the first time period;

correlating a second alert, in the set of alerts, with a second behavior stored in the second node and attempted by the target asset during the first time period;

calculating a first vulnerability level of the target network in response to the first alert comprising a first prevention alert;

calculating a second vulnerability level of the target network, greater than the first vulnerability level, in response to:

the first alert excluding the first prevention alert; and

the second alert comprising a second prevention alert.

14. The method of claim 1 , further comprising, during the first time period:

by a coordination service:

transmitting a first trigger to selectively execute behaviors, in a first set of nominal behaviors and alternative behaviors stored in a first node, in the set of nodes, in the attack graph to the target asset; and

by the target asset:

in response to receiving the first trigger, sequentially attempting execution of behaviors, in the first set of nominal behaviors and alternative behaviors stored in the first node in the attack graph, according to a first target hierarchy stored in the first node; and

in response to completing a first behavior, in the first set of nominal behaviors and alternative behaviors, returning a first confirmation to the coordination service.

15. The method of claim 1 , further comprising, in response to characterizing the vulnerability of the target network greater than a threshold vulnerability:

scheduling a second asset on the target network to selectively execute nominal behaviors and alternative behaviors stored in the set of nodes in the attack graph during a second time period, the second asset distinct from the target asset;

accessing a second set of alerts generated by the set of security tools, deployed on the target network, during the second time period; and

characterizing a scope of the vulnerability of the target network based on presence of alerts, in the second set of alerts, indicating detection and prevention of nominal behaviors and alternative behaviors, stored in nodes in the attack graph, executed by the second asset during the second time period.

16. The method of claim 1 :

further comprising:

generating a set of data of a target data type and comprising mock values;

selecting a second machine; and

loading the set of data onto the target asset prior to the first time period; and

wherein characterizing the vulnerability of the target network comprises characterizing the target network as vulnerable to the known attack in response to receipt of the set of data by the second machine during the first time period.

17. The method of claim 1 , wherein characterizing the vulnerability of the target network comprises:

aggregating a first set of identifiers of behaviors successfully completed by the target asset;

aggregating a second set of identifiers of behaviors completed by the target asset and detected but not prevented by the security tools;

aggregating a third set of identifiers of behaviors attempted by the target asset but prevented by the security tools; and

generating a vulnerability report comprising the first set of identifiers, the second set of identifiers, and the third set of identifiers.

18. A method comprising:

accessing an attack graph comprising a set of nodes connected according to an order of actions in a sequence of actions, executed on a machine in a second computer network, representing a known attack on the second computer network, each node in the set of nodes:

corresponding to an action in the sequence of actions;

storing a nominal behavior executable by a target asset to emulate the action; and

storing a set of alternative behaviors analogous to the nominal behavior and executable by the target asset to emulate an effect of the action;

scheduling a first asset on a target network to selectively execute nominal behaviors and alternative behaviors stored in the set of nodes in the attack graph during a first time period;

accessing a set of alerts generated by a set of security tools, deployed on the target network, during the first time period, the set of alerts comprising prevention alerts published by the set of security tools and indicating prevention of behaviors, occurring on the target network, by the set of security tools; and

characterizing a vulnerability of the target network during the first time period based on presence of alerts, in the set of alerts, indicating detection and prevention of nominal behaviors and alternative behaviors executed by the first asset according to the attack graph by:

scanning the set of alerts for a particular prevention alert corresponding to a behavior, stored in a node in the set of nodes in the attack graph, attempted by the target asset during the first time period; and

characterizing the target network as vulnerable in response to absence of the particular prevention alert in the set of alerts.

19. A method comprising:

accessing an attack graph comprising a set of nodes connected according to an order of actions in a sequence of actions, executed on a machine in a second computer network, representing a known attack on the second computer network, each node in the set of nodes:

corresponding to an action in the sequence of actions; and

storing a set of behaviors analogous to the action and executable by a target asset to emulate an effect of the action on the machine in the second computer network;

scheduling a first asset on a target network to selectively execute analogous behaviors stored in the set of nodes in the attack graph during a first time period;

accessing a set of alerts generated by a set of security tools, deployed on the target network, during the first time period; and

characterizing a vulnerability of the target network during the first time period based on presence of alerts, in the set of alerts, indicating detection and prevention of analogous behaviors executed by the first asset according to the attack graph by:

correlating a subset of alerts, in the set of alerts, with behaviors executed by the target asset according to the attack graph during the first time period; and

calculating the vulnerability of the target network based on:

a quantity of alerts in the subset of alerts; and

presence of a prevention alert, in the subset of alerts, indicating prevention of behaviors occurring on the target network by the set of security tools.

20. A method comprising:

accessing an attack graph comprising a set of nodes linked according to a sequence of actions, executed on a machine in a second computer network, representing a known attack on the second computer network, each node in the set of nodes:

corresponding to an action in the sequence of actions;

storing a nominal behavior executable by a target asset to emulate the action; and

storing a set of alternative behaviors analogous to the nominal behavior and executable by the target asset to emulate a transition from a start condition, at the machine prior to start of the action, to an end condition at the machine following completion of the action;

scheduling the target asset on the target network, to selectively execute nominal behaviors and alternative behaviors stored in the set of nodes in the attack graph during a first time period;

by the target asset:

during the first time period, selectively executing nominal behaviors and alternative behaviors stored in a first subset of nodes in the attack graph; and

in response to completing emulation of the known attack according to the first subset of nodes, sequentially executing reversing behaviors stored in a second subset of nodes, storing reversing behaviors, in the attack graph;

accessing a set of alerts generated by a set of security tools, deployed on the target network, during the first time period; and

characterizing a vulnerability of the target network based on presence of alerts, in the set of alerts, indicating detection and prevention of nominal behaviors and alternative behaviors, stored in nodes in the attack graph, executed by the target asset during the first time period.

21. A method comprising:

accessing an attack graph comprising a set of nodes linked according to a sequence of actions, executed on a machine in a second computer network, representing a known attack on the second computer network, each node in the set of nodes:

corresponding to an action in the sequence of actions;

storing a nominal behavior executable by a target asset to emulate the action; and

storing a set of alternative behaviors analogous to the nominal behavior and executable by the target asset to emulate a transition from a start condition, at the machine prior to start of the action, to an end condition at the machine following completion of the action;

generating a set of data of a target data type and comprising mock values;

selecting a second machine; and

loading the set of data onto the target asset during a first time period;

scheduling the target asset on the target network, to selectively execute nominal behaviors and alternative behaviors stored in the set of nodes in the attack graph during a second time period succeeding the first time period;

accessing a set of alerts generated by a set of security tools, deployed on the target network, during the second time period;

characterizing a vulnerability of the target network based on presence of alerts, in the set of alerts, indicating detection and prevention of nominal behaviors and alternative behaviors, stored in nodes in the attack graph, executed by the target asset during the second time period; and

characterizing the target network as vulnerable to the known attack in response to receipt of the set of data by the second machine during the second time period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2023
From: SHARMA, RAJESH; MILLER, JEREMY; CHENETTE, STEPHAN; LOPEZ, ALBERT; MITTAL, SHUBHI; GAZZOLI, ANDRES
To: ATTACKIQ, INC.
Reel/Frame 063713/0919 →
Continuity (5)
Continuation 17832106 · Jun 3, 2022
Continuation In Part 17083275 · Oct 28, 2020
Provisional Application 63196320 · Jun 3, 2021
Provisional Application 63008451 · Apr 10, 2020
Related Publication 20230269266A1 · Aug 24, 2023