Abstract
We consider an extended version of sabotage games played over Attack Graphs. Such games are two-player zero-sum reachability games between an Attacker and a Defender. This latter player can erase particular subsets of edges of the Attack Graph. To reason about such games we introduce a variant of Sabotage Modal Logic (that we call Subset Sabotage Modal Logic) in which one modality quantifies over non-empty subset of edges. We show that we can characterize the existence of winning Attacker strategies by formulas of Subset Sabotage Modal Logic.
Introduction
Modern systems are inherently complex and security plays a crucial role. The main challenge in developing a secure system is to come up with tools able to detect vulnerabilities and unexpected behaviors at a very early stage of its life cycle. These methodologies should be able to measure the grade of resilience to external attacks. Crucially, the cost of repairing a system flaw during maintenance is at least two orders of magnitude higher, compared to fixing at an early design stage [9].
In the past fifty years, several solutions have been proposed to check system reliability and, in particular, system security. In this area a story of success is the use of formal methods techniques [9]. They allow checking whether a system is correct by formally checking whether a mathematical model of it meets a formal representation of its desired behavior. Recently, classic approaches such as model checking and automata-theoretic techniques, originally developed for monolithic systems [8, 20], have been meaningfully extended to handle open and multi-agent systems [1, 25]. These are systems that encapsulate the behavior of two or more rational agents interacting among them in a cooperative or adversarial way, aiming at a designed goal [18].
In system security checking, a malicious attack can be seen as an attempt of an Attacker to gain an unauthorized resource access or compromise the system’s integrity. In this setting, Attack Graph [22] is one of the most prominent attack models developed and receiving much attention in recent years. This encompasses a graph where each state represents an Attacker at a specified network location and edges represent state transitions, i.e., attack actions by the Attacker. Then, it is the system’s duty to prevent unauthorized access from the Attacker in each state of the graph. Said more precisely, the Attacker’s goal is to reach a certain state of the Attack Graph by traveling through its edges, while the Defender’s goal is to prevent him from doing so. To do this, the Defender can dynamically deploy countermeasures preventing the attack to succeeds. The attacks are represented by the edges of the Attack Graph. If the Defender deploys a countermeasure and such countermeasure is successful, the Attacker will no longer be able to use an attack. We can formalize such a scenario as a two-player turn based game between the Defender and the Attacker, where in turn the latter moves along adjacent states (w.r.t. the Attack Graph under exam) and the former inhibits some attacks by erasing some subset of edges of the Attack Graph itself. The goal of the Defender is to block the Attacker to reach some designated states, while not blocking the entire system functionality. The kind of scenario that we have just sketched is an example of
Our sabotage games differ from the one introduced by van Benthem because one of the players can erase an entire subset of edges of a given graph. To reason about such games, we introduce a variant of Sabotage Modal Logic that we call, for lack of wit, Subset Sabotage Modal Logic (SSML for short). The logic SSML is obtained by adding a modality ♦⊂ to the language of classical modal logic. The intended meaning of a formula ♦⊂ φ is “♦⊂ φ is true at a state s of a directed graph G iff φ is true at s in the graph G′ that is obtained from G by erasing a non-empty set of its edges”. We prove that the model-checking problem for SSML is decidable and that the existence of an Attacker winning strategy over an Attack Graph can be expressed by using an SSML formula.
Related Work
Several existing works have proposed different game-theoretic solutions for finding an optimal defense policy based on Attack Graphs. Most of these approaches do not use formal verification to analyze the game, but rather try to solve them using analytic and optimization techniques. The work in [11, 12] studies the problem of hardening the security of a network by deploying honeypots to the network to deceive the Attacker. They model the problem as a Stackelberg security game, in which the attack scenario is represented using Attack Graphs. The authors in [26] tackle the problem of allocating limited security countermeasures to harden security based on attack scenarios modeled by Bayesian Attack Graphs using partially observable stochastic games. They provide heuristic strategies for players and employ a simulation-based methodology to evaluate them. The work in [32] proposes an approach to select an optimal corrective security portfolio given a probabilistic Attack Graph. They define a Bayesian Stackelberg game that they solve by converting it into Mixed-Integer Conic Programming (MICP) optimization problem.
Since the games we introduce are a variant of sabotage games, our work is indebted to those dedicated to this type of games and to Sabotage Modal Logic [3, 31]. In particular, the authors of [23] shows the decidability of the model-checking problem for Sabotage Modal Logic. Such a result is important to our work because we use it to show the decidability of the model-checking problem for Subset Sabotage Modal Logic. In [3] the authors develop a complete proof system for Sabotage Modal Logic, they define and study the notion of bisimulation, and they present an extensive discussion of sabotage games and their characterization via the logic.
The present work is an extended version of the material already published in [7]
Sabotage Modal Logic
In this section, we briefly present Sabotage Modal Logic (SML, for short). Such logic was proposed in 2005 by Van Benthem [31] as a format for analyzing games that modify the graphs they are played on. SML was later investigated in a series of papers. Before entering into the matter of SML, let us fix some notation and terminology that will be used in the following.
Given a non-empty set
where
We now define the structures that will serve as interpretation of SML-formulas
If M = 〈S, s0, Σ, R, V is a Kripke structure and E ⊆ R, we write M \ E to denote the Kripke structure obtained by erasing the subset E from the relation R. If e = (s, a, s′) ∈ R we say that e is a labeled edge or simply an edge, and that a is the label of e. For any a ∈ Σ, we denote by R a the subset of labeled edges of R whose label is a, that is R a = sete ∈ R ∣ e ∈ S × seta × S.
The notion of satisfaction of a formula φ at a given state s of a Kripke structure M (written M, s ⊨ φ) is inductively defined as follows: M, s⊨ ⊥ never; M, s ⊨ p iff p ∈ V (s); M, s ⊨ ¬ φ iff not M, s ⊨ φ (notation M, snotmodelsφ); M, s ⊨ φ ∨ ψ iff M, s ⊨ φ or M, s ⊨ ψ; M, s ⊨ ◊aφ iff there is a s′ ∈ S such that (s, a, s′) ∈ R and M, s′ ⊨ φ; M, s ⊨ ♦aφ iff there is (s1, a, s2) ∈ R such that M \ set (s1, a, s2) , s ⊨ φ.
We say that a formula φ is true in a rooted Kripke structure M (written M ⊨ φ) iff φ is true at the initial state of M. As we can see from the above definition, the meaning of the boolean connectives of SML logic is the standard one. Equally, the meaning of the ◊a-connective is the standard meaning in modal logic: a formula ◊aφ is true at a given state s of a Kripke structure whenever s is adjacent (with respect to an edge labeled by a) to a vertex s′ for which the property expressed by φ is true. The meaning of the♦a-connective can be spelled out as follows: a formula ♦aφ is true at a given state s of a Kripke structure M whenever φ is true at s in the Kripke structure M′ that is obtained by erasing an edge (s′, a, s″) from R in M.
The proof of the following theorem can be found in [23].
Attack Graphs
The term Attack Graph has been first introduced by Phillips and Swiler [29]. Attack Graphs represent the possible sequence of attacks in a system as a graph. An Attack Graph may be generated by using the following pieces of information: a description of the system architecture (topology, configurations of components, etc.); the list of the known vulnerabilities of the system; the Attacker’s profile (his capabilities, password knowledge, privileges, etc.) and attack templates (Attacker’s atomic action, including preconditions and postconditions).
An attack path in the graph corresponds to a sequence of atomic attacks. Several works have developed this approach, see e.g., [16, 30], and [19] for a survey. Each of the previously cited works introduced its own Attack Graph model with its specificity, and thus there is no standard definition of an Attack Graph. However, all introduced models can be mapped into a canonical Attack Graph as introduced in [15]. It is a labeled, oriented graph where: each node represents both the state of the system (including existing vulnerabilities) and the state of the Attacker including constants (Attacker skills, financial resources, etc.) and variables (knowledge of the network topology, privilege level, obtained credentials, etc.); each edge represents an action of the Attacker (a scan of the network, the execution of an exploit based on a given vulnerability, access to a device, etc.) that changes the state of the network or the states of the Attacker; an edge is labelled with the name of the action (several edges of the Attack Graph may have the same label).
An Attack Graph is said complete whenever the following condition holds: for every state q and for every atomic attack att, if the preconditions of the atomic attack hold in q, then there is an out coming edge from q labeled with att.
By abstracting all the data of the above discussion, one can see an Attack Graph as a directed graph together with a labeling of its vertices and edges. The labeling of vertices is used to specify which properties (the kind of properties mentioned in 1) are true at a certain vertex, while the edge labeling specifies the name of the action of the Attacker. As we have seen in the example above, it is also useful to specify the set of Attacker’s target states. We thus define an Attack Graph as follows:
〈S, s0, Σ, R, V is a rooted Kripke structure where the set S of states is finite and for all a ∈ Σ if (s, a, s′) ∈ R then there is no b ∈ Σ such that (s, b, s′) ∈ R. T is a non-empty subset of S such that
The set T represent the set of target states of the Attacker.

An illustrating LAN architecture example.
Atomic attacks and countermeasures over the LAN of Figure 1.
Then we can construct an Attack Graph built from this set of atomic attacks and collecting possible attack paths as depicted in Figure 2 1 . The Attacker’s initial state is a node in the Attack Graph. Let us suppose that the Attacker is in state s1 and wants to reach state s4. To get to this target, she can perform the sequences of atomic attacks att2, att4 or att3, att2, att4.

Example of Attack Graph, the atomic proposition satisfied at a given state are listed below the state itself.
In the previous section, we saw that given a specific description of a system together with its vulnerabilities, we can generate a graph representing the dynamics of attacks that are possible over the system. Given a set of target states over such a graph, one can ask whether there is a path from an initial state to one of these target states, i.e., by reasoning over Attack Graphs, we can encode a security problem as a graph-reachability problem. Let us make one step more by adding a dynamic to such reachability problems. An Attack Graph represents a sequence of possible actions made by an Attacker to reach a specific goal. Let us add another character to this story, the Defender, whose objective is to counter the attack. Suppose that she has the power to dynamically deploy a predefined set of countermeasures: for instance by reconfiguring the firewall filtering rules, or patching some vulnerabilities, that is by removing one or several preconditions of an atomic attack. A given countermeasure c will prevent the Attacker from launching a given attack att: deploying c is equivalent to removing all the edges in the Attack Graph labeled with att. In real situations, due to budget limitations or technical constraints, the set of available countermeasures may not cover all atomic attacks. Now that we have specified what is the Defender’s power, we can consider a turn-based game between an Attacker and a Defender. Both players play on an Attack Graph 〈S, s0, Σ, R, V, T. The Attacker’s goal is to reach one of the states in T, while the Defender’s goal is to prevent him from doing so. The Defender starts the game by selecting a certain countermeasure. By choosing such a countermeasure, she deletes a subset of the edges of the Attack Graph. The Attacker takes his turn and moves from s0 to one of its successors along the edges that have not been erased (if any). The game evolves following this pattern. The Attacker won if he can reach one of the states in T in a finite number of moves, the Defender wins otherwise.
There is a natural way to look at the games described above: at each round, the Attacker can follow an edge from his current position in the given graph, but the Defender can choose a new graph (which is a subgraph of the current graph) missing a subset of edges. To precisely define such plays, we first need an auxiliary notion. We know that it is reasonable to assume that the Defender is unable to counter each of the Attacker’s possible attacks. At each step of the game, she can only deactivate a relation contained in a certain subset of the Attack Graph relation set. As mentioned above, we can consider that the Defender selects a sub-graph of the current Attack Graph whenever it is her turn to move. According to the limitation set out above, this sub-graph must be obtained by deleting some specific subset of the set of labeled edges. We define this notion as follows.
We have now all the ingredients to define a play in our game.
ρ
j
is an Attack Graph if j is even.
ρ
j
is a state of S if j is odd.
ρ
j
is Δ-reachable from ρj-2, if j is even. (ρj-2, a, ρ
j
) ∈ R is an edge in the Attack Graph AG′ = ρj-1 for some a ∈ Σ, if j is odd.
Let ρ be a finite Δ-play whose last element is state s. We say that the Attack Graph AG′ is legal for ρ iff
Remark that given any Δ-play ρ and any even natural number j < |ρ|, the sequence ρ≥j is a Δ-play over the Attack Graph obtained by setting the state ρj+1 as initial state of the Attack Graph ρ j . If ρ is Δ-play we denote by ρ A (resp. ρ S ) the subsequence of ρ in which only Attack Graphs (resp. states) appears.
Said plainly: the Attacker wins the game whenever he reaches one of his target states.

Another example of Attack Graph. The red state is the only state in T.
According to the above definition of play, the same state can appear many times in the same play. For instance, consider the Attack Graph AG shown in Figure 1. Let AG′ be the Attack Graph obtained by deleting from AG the edge labeled by c. Consider the following setc-play ρ over AG:
We can see that the vertex s0 appears three times in such a play. We define another class of plays in which this phenomenon cannot happen.
The definition above precludes the Attacker from choosing the same vertex of an Attack Graph in two different turns of the play. As an example, the setc-play presented above is not a setc stubborn play over AG because ρ1 = ρ3 = ρ5.
Every stubborn Δ-play is a Δ-play. If ρ is a stubborn Δ-play over an Attack Graph AG, then |ρ|≤2 (|S|-1), where S is the set of states of AG. This is because if s and s′ are two distinct states of AG and there is a path p0 ⋯ p k where all the states p i are distinct, then k ≤ |S|-1.
A strategy is usually defined as a function. A function that specifies, at each moment of the game, which move a player must play according to the moves previously played (the history of the game). A strategy is winning when the player who is following the strategy wins, whatever the history of the game is. We choose another equivalent definition of strategy. We informally describe how a strategy should operate and then formalize this notion. Imagine being engaged in a game
for all node v of strat: if v is an Attack Graph then v has a unique child; for all node v of strat: if v is a state of AG then v has as many children as there are Δ-reacheable Attack Graphs from the parent of v.
A strategy is stubborn iff every branch of the strategy is a stubborn play.
Remark that any winning Stubborn strategy is a winning strategy by definition.
Let α = AG0 ⋯ AG
n
be a finite non empty sequence of Attack Graphs. Suppose that AG0 = 〈S, s0, Σ, R, T and for all 1 ≤ i ≤ n, AG
i
= 〈S, s
e
, Σ, (R \ E1 ∪ ⋯ ∪ E
i
) , T where for each i, E
i
is an eventually empty subset of R. If E is a set of edges such that for all e ∈ Ee is of the form (s, a, s′) for some s, s′ ∈ S and a ∈ Σ, then we denote by α+E the sequence
Let strat be a winning Attacker Δ-strategy for some Attack graph AG. A
In this section, we explain why we cannot directly use SML to reason about the above introduced games. We then introduce the Subset Sabotage Modal Logic (SSML) precisely to rectify this problem and we study its properties. In particular, we prove that the model checking problem for SSML is decidable and that the existence of an Attacker Winning strategy is equivalent to the satisfiability of a certain SSML formula.
What is the problem with SML?
Plays, that we defined in the previous sections, are nothing more than runs in an insidious sabotage game. In a sabotage game, one of the two players can delete an edge of the graph when it is her turn to move. In our games, one of the two players can delete a subset of edges of the graph when it is her turn to move. In [3] the authors claims that, by using our terminology, the existence of an Attacker winning strategy for a Sabotage Game over a finite rooted Kripke structure M = 〈S, s0, Σ, R, V can be expressed by using a particular SML-formula. Such formula is defined by induction on n,
where ■φ ≐ ⋀ a∈Σ■aφ and ◊φ ≐ ⋁ a∈Σ◊aφ for a given SML formula φ, and ◊⊤ is used to check that the ■ is not satisfied because some relation is empty.
More precisely, if M = 〈S, s0, Σ, R, V is a Kripke structure such that

An additional example of Attack Graph. The red states are the only ones in T.
For instance, consider the Attack Graph depicted in Fig. 4. We can see that there is no seta-winning strategy over M. If the Defender erases any edge labeled with a, the Attacker would not be able to move from s0 to one of the winning states s1 or s2. On the contrary, the formula
To speak about our particular games, we introduce a variant of Sabotage Modal Logic. We call such variant of Sabotage Modal Logic, Subset Sabotage Modal Logic.
where M, s ⊨ removeaφ iff there is a non-empty subset E of R
a
such that M \ E, s ⊨ φ
where M \ E denotes the structure M from which we have erased the subset E of edges. If φ is an SSML formula we define ■ ⊂aφ ≐ ¬ removea ¬ φ.
We now define the model checking problem for SSML.
In what follows, we show that the model checking problem for SSML is EXPTIME decidable. To do so, we reduce the model-checking problem for SSML to the model-checking problem for SML.
The idea of the proof is the following: we are considering a finite Kripke structure. As a consequence, any of its non-empty subset of edges is finite. We give a name n e to each edge e of M obtaining a Kripke structure M′. We remark that M ⊨ removeaφ iff there is a finite, non-empty subset of edges sete1, … e n of R a such that M \ sete1, …, e n ⊨ φ. If φ is a SML formula then M′ ⊨ ♦n e 1 ⋯ ♦n e n φ, that is M′ \ setn e 1 , … n e n ⊨ φ, where each n e i is the name of edge e i . Thus, we need to give a translation from SSML-formulas to SML formulas. Such translation will be parametrized by Kripke structures because we need to consider their subsets of edges.
the set of states of M⊂ and its initial state are the same of M; the set of labels Σ⊂ is setn
e
∣ e ∈ R; (s, n
e
, s′) ∈ R⊂ iff for some a ∈ Σ f (s, a, s′) = n
e
; the evaluation function V⊂ is V.
By the definition above, if n e ∈ Σ⊂, there is exactly one edge e ∈ R n e = sete ∈ R Σ ∣ e ∈ S × setn e × S. Remark that the transformation is linear in the number of states of the structure.
If E = sete1, …, e n is a subset of edges of M and φ is a formula, we write ♦ n E φ as a short-cut for the formula ♦ n e 1 ⋯ ♦ n e n φ where each n e i is the label corresponding to e i in M⊂.
We define a function that maps an SSML formula φ to an SML formula
Remark that the above formula translation is exponential in the number of edges of the structure M taken as parameter.
M, s ⊨ ◊aψ iff there is s′ such that e = (s, a, s′) ∈ R and M, s′ ⊨ ψ. By induction hypothesis M⊂, s′ ⊨ (ψ) ★. By the definition of M⊂ we have that (s, n
e
, s′) ∈ R
n
e
thus s and s′ are adjacent, with respect to R
n
e
, in M⊂. It follows that M⊂, s ⊨ ◊n
e
(ψ) ★. But this means that M⊂, s ⊨ ⋁ e∈R
a
◊n
e
(ψ) ★ as we wanted. M⊂, s ⊨ (◊aψ) ★ iff M⊂, s ⊨ ⋁ e∈R
a
◊n
e
(ψ) ★. If this is the case, then there is at least an edge e = (s, a, s′) ∈ R
a
such that M⊂, s ⊨ ◊n
e
(ψ) ★ which implies that M⊂, s′ ⊨ (ψ) ★. By induction hypothesis M, s′ ⊨ ψ. Since, by definition of M⊂, (s, a, s′) ∈ R in M, we get the result.
If φ = removeaψ: M, s ⊨ removeaψ iff there is a non-empty subset E = sete1, … e
n
of R
a
such that M \ E, s ⊨ ψ. By induction hypothesis (M \ E) ⊂, s ⊨ (ψ) ★. As stated in Remark 6.2, (M \ E) ⊂ = M⊂ \ setn
e
1
, …, n
e
n
. Since M⊂ \ setn
e
1
, …, n
e
n
, s ⊨ (ψ) ★ we deduce that (⋯ (M⊂, \ setn
e
1
) \ ⋯) \ setn
e
n
, s ⊨ ψ★, thus M⊂, s ⊨ ♦n
E
ψ★. M⊂, s ⊨ (removeaψ) ★ iff M⊂, s ⊨ ⋁ E∈2R
a
\∅ (♦n
E
(ψ) ★). This means that there is a subset E of R
a
such that E = sete1, …, e
n
and M⊂, s ⊨ ♦n
E
(ψ) ★. By definition of satisfaction, this means that (⋯ (M⊂ \ setn
e
1
) \ ⋯) \ setn
e
n
⊨ (ψ) ★, thus M⊂ \ setn
e
1
, …, n
e
n
, s ⊨ (φ) ★. As stated in Remark 6.2, this implies that (M \ E) ⊂, s ⊨ (ψ) ★. By induction hypothesis, M \ E, s ⊨ ψ. By the fact that each e
i
∈ R
a
, we obtain that M, s ⊨ removeaψ as we wanted.
□
From the above lemma, the fact the our formula translation from SSML to SML is exponential in the number of edges of the Kripke structure taken as parameter, and the fact the model checking problem for SML is decidable, we immediately deduce the following theorem.
It should not be surprising that we can express the existence of Attacker winning strategies for our games by using SSML: we have designed such logic with precisely this goal in mind.
Let AG = 〈S, s0, Σ, R, V, T be an Attack Graph and Δ a non-empty subset of Σ. If φ is an SSML formula, we define the two SSML-formulas:
A strategy is a plan of action. As it is logical, the plan is winning when it leads me to victory, whatever my opponent’s plan of action. Thus, a winning strategy can be expressed as an alternance of universally quantified sentences and existentially quantified sentences “for all actions of my Opponent, there is an action that I can make that leads me to victory". Let us put ourselves in the villain’s shoes: suppose that we are the Attacker, and that, by playing, we have reached a certain state s of an Attack Graph AG. It is now Defender’s turn. If I have a winning strategy, I must be able to reach a successor state s′ of s in whatever subgraph AG′ of AG that is Δ-reachable from AG. Said differently, we must have that AG, s ⊨ ■ ⊂Δ ◊ φ = (■ ⊂a ◊ φ) ∧ ⋯ ∧ (■ ⊂b ◊ φ) for some formula φ that expresses the winning condition. Such formula is nothing but the SSML version of the one we have defined in 1.
We are now ready to prove the main result of our paper. Namely, that the existence of a winning Attacker Δ-strategy over an Attack Graph AG is equivalent to the truth of a winning formula over AG.
An Attack Graph has a non-empty set of states by definition. Thus, the base case is n = 1. AG, s0 ⊨ If n = 1 and there is a winning Attacker strategy strat over AG, then strat = setAG s0. Thus s0 ∈ T and this means that AG, s0 ⊨
□
There is not seta-winning strategy over the Attack Graph on the left. In fact, it does not satisfy the formula
Consider the Attack Graph on the right, call it AG
r
and let
We have presented a natural class of two-player games over Attack Graphs. Such games are played by an Attacker and a Defender. The Attacker tries to reach some vertex of the Attack Graph, while the Defender tries to prevent him from doing so. To do this, the Defender can eliminate subsets of arcs in the graph. We have seen how these games can be viewed as a generalized version of sabotage games, we have formally defined plays of such games and winning strategies. Finally, we have introduced a variant of Sabotage Modal Logic, showed that the model checking problem for such logic is decidable and that we can express the existence of a winning strategy for our subset sabotage games by formulas of the new logic.
The games we have defined are perfect information games; both players know, at every point in the game, the location of the other player. This assumption is unrealistic: during a cyberattack, a possible Defender may not know what state an Attacker is in, and conversely, an Attacker may not be aware of changes made by the Defender to counter his attack. We would therefore like to extend our play model in order to include this type of imperfect information. From the Defender’s point of view, this could be implemented as an equivalence class between Attack Graph states. From the Attacker’s point of view, on the other hand, we could think of a notion of weak bisimulation between Attack Graphs: the Attacker considers as equal two models that are bisimilar up to the identification of some subset of arcs. While the first notion of imperfect information would be fairly easy to develop, the second one is higly nontrivial. Indeed, we should consider equivalence classes between graphs that are generated with respect to both their topological structure and their labeling. For this reason, we prefer to leave this interesting development for future work.
We suspect that a bisimulation notion for SSML logic can be obtained by slightly modifying the one for SML and that, at the same, a complete proof system for SSML can be obtained in terms of tableaux. In conclusion, we suspect that the satisfiability problem for SSML logic is undecidable. Indeed, the same problem is undecidable for SML and since our logic is SML in which we quantify over subset of arcs of a graph, our intuition tells us that the satisfiability problem for SSML can only be more difficult than the one of SML.
Finally, we can consider to extend logics for the strategic reasoning such as ATL [1] and Strategy Logic [25] by capturing the features of the sabotage modalities ♦ and ♦⊂. In this way, we can gain expressive power and check whether the attacker has a strategy to win the game via strategic operators. Furthermore, in this context, we can see ♦⊂ as a graded modality of ♦ as done in logics for strategies [2, 13]. However, as we mentioned earlier the more realistic setting for games is with imperfect information, but unfortunately, the model checking problem with imperfect information for strategic logics is undecidable in general [10]. Given the relevance of this setting, even partial solutions to the problem can be useful, such as abstractions either on the information [4, 6] or on the strategies [5] or on the formulas [14]. In conclusion, we can embed the mentioned techniques to provide a more powerful framework.
Footnotes
This Attack Graph is not complete w.r.t. our previous description, since some possible sequences of atomic attacks are not listed: for instance att1, att2, att3, att5 are not taken into account.
