Assessing and Managing ICT Risk with Partial Information

Assessing and Managing ICT Risk
with Partial Information
Fabrizio Baiardi∗ , Fabio Corò∗ , Federico Tonelli∗ , Alessandro Bertolini∗ , Roberto Bertolotti∗ , Daniela Pestonesi†
∗ Dipartimento
di Informatica, Università di Pisa, Italia
Ingegneria e Ricerca SpA, Pisa, Italy
Email: [baiardi,fcoro,tonelli]@di.unipi.it, [email protected]
† ENEL
Abstract—Haruspex is a suite of tools to assess and manage
in a probabilistic way the risk posed by an ICT system. The
tools apply a Monte Carlo method to a scenario where some
intelligent threat agents sequentially select and compose attacks
to reach their goals. Some tools build a description of a scenario
with the various agent, the target system, its vulnerabilities and
the attacks they enable. Starting from this description, another
tool applies a Monte Carlo method to simulate step by step the
attacks of each agent. This tool returns a database with samples
on the attacks the agents have implemented, the goal they have
reached and the required time. Further tools use this database to
produce statistics to assess the risk and to select countermeasures
to be deployed. Since several tools require information on both the
agents and the target system, we discuss how to conduct a robust
assessment even when only a partial information is available. To
exemplify the proposed approach, we describe the assessment of
an industrial control system with some SCADA components.
I.
I NTRODUCTION
We consider a quantitative approach to the probabilistic risk assessment and management of an ICT system where intelligent,
goal oriented threat agents compose the elementary attacks
enabled by system vulnerabilities into sequences of attacks or
complex attacks. A complex attack results in an agent privilege
escalation [1] that may involve distinct nodes and where the
agent exploits the privileges granted by an attack to execute the
following ones in the sequence till it collects all the privileges
in a goal.
To evaluate the resulting risk, we consider a scenario
based assessment where each scenario describes the target
system and some agents. By considering how agents select and
implement attacks in each scenario, this approach increases the
accuracy of the assessment but the complexity of estimating
the probability that agents reach their goals is usually unmanageable. As an example, the complex attacks each agent selects
and implements strongly depends not only on its goals but also
on the information on the system it can access and it considers.
If an agent has access to any information on the target system
and fully exploits it, then it will implement a plan, e.g. one of
the shortest complex attacks to reach a goal. Otherwise, some
of the attacks the agent implement may be useless to reach a
goal.
To overcome the previous problems, we adopt a Monte
Carlo method that runs, for each scenario, multiple simulations
of how the agents select and implement attacks in the same
time interval. Each simulation collects samples of the events
of interest to compute statistics to support the assessment.
To partially automate the assessment, we have developed the
Haruspex suite, an integrated set of tools that:
•
builds the description of the target system and of the
agents in a scenario,
•
estimates some parameters of the Monte Carlo method
such as the time interval to be simulated,
•
applies the Monte Carlo method to a description,
•
uses the method outputs to select countermeasures.
After presenting the suite, we discuss how to conduct a
robust assessment and select countermeasures in spite of partial
information on the target system or on the agents.
This paper is structured as follows. Sect. II briefly reviews
related works on vulnerabilities, attacks, agents and their
simulation. Sect. III presents the tools to support the Monte
Carlo method. Sect. IV discusses the handling of uncertainty
on the tool inputs. Sect. V introduces the suite tools that select
countermeasures to minimize the agent success probability.
Sect. VI applies this suite to assess an ICS that manages a
power generation plant. Lastly, we draw some conclusions and
outline future work.
Some tools of the suite have been described in [2], [3],
[4] that only consider the building of a description and the
application of the Monte Carlo method. These papers do not
describe the full suite, the tools to manage the risk and the
handling of partial information on some inputs.
II.
R ELATED W ORKS
We briefly review the main related works on complex
attacks, plans, their description, the evaluation and the management of the corresponding risk.
[5], [6], [7], [8], [9], [10] analyze the simulation of attacks
against ICT or critical infrastructures. In particular, [10] discusses the modeling of agents with partial information and [11]
introduces an alternative definition of look-ahead. Intelligent,
goal oriented agents have been analyzed with reference to
terrorism [12], [13]. [14] presents a formal model of plans
similar to the one we propose. [15] describes the prerequisites
and the effects of attacks and pairs each attack with the proper
countermeasures.
[16], [17] analyze the simulation of agent attacks in the
framework of game theory. With respect to this approach,
the Haruspex suite assumes an assessment aims to reduce the
probability that an agent reaches a goal rather than to divert it
Table I.
S
c
op
ag
res(ag)
g
at
v
v(at)
pre(at)
res(at)
post(at)
succ(at)
λ(ag)
sq(i)
hisu
L IST OF A BBREVIATIONS
A. Describing a scenario
the target of the assessment
a component of S
an operation of a component
a threat agent
the resources ag can access
a goal of an agent
an elementary attack
a vulnerability
the vulnerabilities enabling at
the rights to execute at
the resources to execute at
the rights granted if at succeeds
the success probability of at
the look-ahead of ag
the i-th attack ag executes
acceptable success probability
An Haruspex scenario describes S, the system to be
assessed, and some intelligent threat agents, or agents. The
description is modular as it does not require information on
the overall behavior of S or of the agents.
1) System Components: S is seen as a set of interconnected
components, e.g. hardware/software modules. Each component
is described in terms of the operations the other components
or the user of S can invoke, the component vulnerabilities and
the elementary attacks, or attacks, they enable. To describe
social engineering attacks such as spear phishing, users of S
are modeled as components as well [40]. The security policy
of S defines the rights of both users and components. Each
right enables the owner to invoke one operation.
to a distinct target [18], [19]. As a consequence, an assessment
may consider several scenarios to compute the probability that
some agents reach their goals in each of them.
2) Vulnerabilities: Each component is affected by some
vulnerabilities. A vulnerability is a defect in a component or
an erroneous or malicious behavior of some users [41], [42],
[43] that enable some elementary attacks that grant some rights
to the agent that successfully implement them. The Haruspex
suite supports both effective and potential vulnerabilities. The
former has already been discovered, while the latter is suspected only and it is paired with the probability distribution of
being discovered at a given time.
[20], [21] survey agent-based simulation, whereas [22],
[23] use agent based simulation to discover dependencies
among components of a critical infrastructure. [24] discusses
the evaluation of ICT risk, while [25] reviews the problems
posed by a Delphi approach. [26] describes alternative approaches to evaluate the risk due to software systems. [27],
[28], [29] review multi objective optimization that underlies
agent selection strategies.
3) Elementary Attacks: An elementary attack, or attack, at,
consists of some actions and it is paired with some attributes
[2]:
Besides [4], other works have already discussed agent plans
and complex attacks but most of them do not support their
automated discovery. As an example, the taxonomy in [30]
is focused on a series of use case events. [31] introduces a
classification of vulnerabilities that maps each vulnerability
into just one class. [32] analyzes attack plans involving distinct
nodes and it considers the compromised level of a node. The
resulting solution is rather efficient but it cannot discover all
the plans. [33] defines a language to model scenarios. [34]
introduces an algorithm to detect stepping stones. [35] specifies
M2D2, a formal data model to correlate IDS alerts. [30]
computes the success probability of a complex attack without
considering its relation with the agent selection strategy. With
reference to attack graphs, [36], [37], [38] discuss several
approaches to discover plans and select the vulnerabilities to
patch.
III.
•
v(at), the component vulnerabilites that enable at,
•
succ(at), the probability that at is successful,
•
pre(at), the rights to execute the actions of at,
•
res(at), the resources to execute the actions of at,
•
post(at), the rights acquired if at is successful,
•
time(at), the time to execute the actions of at.
Haruspex does not define the actions of at and introduces
succ(at) and time(at) to model their complexity.
An agent can implement at if it can access the resources
in res(at) and owns the rights in pre(at) that it may acquire through previous attacks. If any vulnerability in v(at)
is effective, at is enabled and succeeds with a probability
succ(at), otherwise at fails. In the following, we focus on offthe-shelf components. Their effective vulnerabilities and the
corresponding descriptions are deduced from a vulnerability
database such as the Common Vulnerability Enumeration [42].
[2] describes in more details attack attributes.
T HE H ARUSPEX SUITE
This section briefly describes the kernel of the suite,
namely the tools that, respectively, build the description of a
scenario and apply the Monte Carlo method to this description
and simulate the agent attacks. Other tools will be described
in the following. Here and in the following, for the sake
of brevity, assessment is a synonymous for probabilistic risk
assessment, right is a shorthand for access right and Haruspex
denotes the unifying framework underlying the suite. We adopt
a rather general definition of risk [39]:
4) Threat Agents: Haruspex assumes that a threat agent ag
is a user of S. No generality is lost by this assumption because
the security policy of S can entitle ag even to an empty set
of rights. The description of ag includes the resources it has
available for its attacks, its initial rights, e.g. the operations
ag can legally invoke, and the goals it aims to reach. Any
goal g is a set of rights that ag reaches after acquiring all the
corresponding rights. g is paired with an impact, i.e. a loss that
the owner of S pays per each unit of time ag owns the rights
in g. While the security policy forbids ag to acquire each right
in g, there is an impact only when, and if, ag reaches g.
"Risk is the result of a threat with adverse
effects to a vulnerable system. It can be quantified
in terms of the loss for the system owner and of the
probability that the loss occurs."
Table I defines the abbreviations used in the following.
2
example, the builder description cannot consider the vulnerabilities of a word processor if the scanning cannot discover
such a processor. Furthermore, the builder constrains an agent
privilege escalations by assuming that only an agent that fully
controls, e.g. is an administrator of, a node can launch an
attack from it. A further limitation concerns social engineering
attacks because while users of S can be modeled as further
components, the corresponding vulnerabilities and attacks have
to be manually inserted into a builder description.
5) Selection Strategies: To reach its goals, ag selects and
implements complex attacks according the rights it currently
owns and the known vulnerabilities in the components of S.
After any successful attack, ag applies its selection strategy to
discover the best complex attack to reach its goals and then
it implements the first attack of the one this strategy returns.
To minimize its effort to reach a goal, ag aims to implement
a plan, e.g. one of the shortest complex attacks reach a goal.
However, the complex attack, e.g. the sequence of elementary
attacks, ag implements is a plan only if the selection strategy
of ag can access complete information on S and properly
exploits it. Otherwise, ag may execute an attack that increases
its current rights but it is useless because ag does not exploit
the rights it grants to reach a goal.
C. Describing Threat Agents
By interacting with the descriptor, the user describes the
agents in the various scenarios. The user defines the initial
rights and the goal of any agent ag, the resources it has
available, its selection strategy and λ(ag).
The lookahead of ag, λ(ag) is the parameter that determines how the selection strategy of ag exploits the information
on S it has available. In fact, to select a complex attack, this
strategy ranks those with, at most, λ(ag) attacks and such that
ag owns the rights in the pre condition of their first attack.
If no such attack exists, ag is idle till the discovery of some
potential vulnerability. If any ranked attack grants the rights
in a goal, then it is returned. Instead, if, due to a low λ(ag),
the strategy cannot determine a complex attacks that leads to
a goal, then it selects the one to return according to some of
its attributes. In this case, ag may implement a useless attack.
As a counterpart, we show in the following that larger values
of λ(ag) may slow down the selection.
Currently, the suite supports the following strategies:
1)
2)
3)
4)
random: selects, with the same probability, each
elementary attack ag may execute. It may even select
an attack that is not enabled,
maxP rob: selects the complex attack with the highest success probability,
maxIncr: selects the complex attack granting the
largest set of rights,
maxEf f : selects the complex attack with the best
ratio between success probability and execution time.
If λ(ag) = 0 then only the random strategy can be
selected. Otherwise, any of the other strategy may be selected.
B. Describing the Target System
D. Simulation Engine
The builder maps the output of a vulnerability scanning
of S into the description for the tool that applies the Monte
Carlo method.
By applying the Monte Carlo method to a scenario description, the engine executes an experiment that consists of
several independent runs. Each run simulates, for the same
time interval, the agents attacks and the discovery of potential
vulnerabilities. To guarantee run independence, at the end of
a run, the engine re-initializes the state of S and of any agent
and starts a new run. An experiment returns a database with
the samples collected in the various runs.
Initially, the builder classifies the vulnerabilities discovered by scanning the nodes of S to determine the attributes
of each attack at they enable. In particular, the tool computes
pre(at) and post(at) and checks whether at may be remotely
exploited. [4] details how the builder computer the attributes
of each attack.
At each time step of a run, after determining whether some
potential vulnerabilities are discovered, the engine considers
each agents ag, selects a complex attack and executes its
first attack at. If at is enabled, ag will be busy for the next
time(at) steps plus the time of the selection. If at succeeds,
the engine checks if ag has reached a goal and updates the
impact due to ag. ag repeats a failed attack for, at most, nr(ag)
times before selecting another complex attack. nr(ag) is a
further parameter the user defines when describing ag.
To simplify the implementation of the selection strategy,
the builder considers how global attacks can compose elementary ones. To this purpose, it assumes that each complex
attack results in a global escalation, e.g. in a sequence of
privilege escalations each involving a distinct node of S. For
any agent ag, this sequence starts in node ni such that ag
owns some legal rights on the components in ni and it ends in
a node nf with some components ag aims to control, i.e. some
rights in a goal of ag are related to components running on
nf . ag attacks the intermediate nodes in the sequence because
ni cannot directly interact with, e.g. attack, nf due to some
constrains in the connection topology. The builder description
includes the privilege escalations for all nodes and how they
can be interleaved into a global one.
To model the time to discover information about S and
to select an attack, the engine assumes that ag runs a
vulnerability scanning of a node n, the first time its selection
strategy ranks a complex attack where an attack is enabled
by a vulnerability of a component c running on n. The time
of scanning depends upon n. This shows that larger values of
λ(ag) result both in a better visibility and in a slower selection
due to a larger number of scannings. To model insiders, ag may
be paired with the nodes its already knows.
It is worth noticing that, with respect to a description
the other tools can handle, the builder only considers the
information returned by a vulnerability scanning of the nodes
of S. This implies that the operations, the rights in the goals
and in attack pre and post conditions and the vulnerabilities
are those in the components this scanning can discover. As an
The engine inserts into the database samples with information on the attacks the agents have implemented in a run, the
3
favor of the agents in the scout run. If the bound the scout
returns is larger than the one of interest for an assessment, the
scout run may suffice to deduce that ag cannot reach a goal
in the time interval of interest.
goals they have reached and the time this has taken. Since each
run contributes with exactly one sample to the database, the
confidence level of a statistics computed through these samples
depends upon the number of runs in an experiment. The user
can specify either this number or the confidence level for some
predefined statistics. In the latter case, the engine starts a new
run until reaching the confidence level.
IV.
V.
M ANAGING THE R ISK
This section describes the planner and the manager, the
tools that drive the selection of countermeasure to minimize
the risk in a scenario. In the following, we assume that for
each attack there is a countermeasure to decrease its success
probability. As an example, the patching of a vulnerability
results in the failure of each elementary attack it enables, while
a longer password or a longer encryption key decrease the
probability the agent guess them.
I NCREASING THE ROBUSTNESS OF AN A SSESSMENTS
The consistency of the samples the engine returns may be
strongly reduced if partial information is available on some
agents, on the component vulnerabilities or on the attacks
they enable. In this case, the user can only supply a set of
values for a parameter of the agent or of the target system.
We discuss how to handle this critical issue to prevent that it
reduces the accuracy of the assessment. At first, we consider
partial information about agents and then about the target
system. Lastly, we introduce the scout, a tool that simplifies
the selection of the interval of time to be simulated.
Here and in the following, for the sake of simplicity,
we assume that a scenario includes one agent ag with one
goal g. Extensions to several agents and/or several goals are
straightforward.
Even if only a set of values is known for some parameters
of ag, an assessment can analyze the behavior of ag through
an experiment that considers several agents, the derived agents
of ag. There is a distinct derived agent for each element
in the Cartesian product of the sets for the partially defined
parameters of ag. Suppose, as an example, that the assessment
is in doubt about three selection strategies and two values of
λ(ag). To analyze ag, six derived agents are simulated, one for
each of the six combinations of a strategy and a value of λ(ag).
As an example, the assessment can deduce that ag cannot
achieve g only if no derived agents achieves g. Otherwise,
the assessment can evaluate the risk in a scenario in terms of
the number of derived agents that achieve g and of the time
they take.
A. Discovering Agent Plans
The planner analyzes the database returned by the engine
to discover the plans ag has executed to achieve g and
their success probabilities. In general, these plans are not
known before an engine experiment. Since the engine only
returns the complex attack, e.g. the sequence of attacks, ag
executes in a run, the planner removes from this sequence any
useless attack. By focusing the selection of countermeasures
on the plans rather than on the complex attacks, we avoid
the deployment of countermeasure for useless attacks. This
increases the cost effectiveness of the countermeasures that
are selected.
The planner maps a sequence sq with n attacks into the
plan p(sq, g) with the attacks of sq useful to achieve g. To
describe the computation of p(sq, g), let sq(i), i ∈ [1..n] be
the i-th attack of sq and tp(sq, g) a set that is initialized with
sq(n), the last attack of sq. usef ul(i) is the set with all and
only the rights ag should own before executing sq(i) to achieve
g at the end of s. As an example,
To minimize the computational overhead, we simulate all
the derived agents in a single experiment by exploiting the lack
of conflicts among these agents, i.e. an agent selection does
not constrain those of the other ones.
The handling of uncertainty about S is more computationally expensive because, when in doubt about some parameters,
the assessment runs an experiment for each value of the
parameters and it considers the worst case.
usef ul(n) = pre(sq(n)) ∪ (g − post(sq(n)))
e.g. before executing the last attack of sq ag should own the
rights in the pre condition of this attack and those in g that the
attack does not grant. The algorithm scans sq backward from
n − 1 to 1 and does not insert sq(j) into tp(sq, g) if
A last important parameter is the length t of the time
interval that each run simulates. The scout is a tool to estimate
a lower bound on t and it is inspired by those simulation
techniques, e.g. importance sampling, that favor the occurrence
of rare events [44]. The scout simulates the behavior of the
various agents in one run where it offers to each agent the
best opportunities to reach a goal because all the attacks are
successful and all the suspected vulnerability have been discovered. Furthermore, the scout selection strategy favors those
complex attacks that leave the largest number of opportunities
open, e.g. they result in the largest number of attacks that may
be selected in the next steps. Notice that, even in the scout
run, ag may select some useless attacks. However, ag may
select the same attacks in an engine run. The scout returns a
lower bound on the time it takes some agents to reach a goal.
From this bound, the assessment can deduce the value of t.
1)
2)
no right in post(sq(j)) belongs to usef ul(j),
ag owns the rights in the intersection between
post(sq(j)) and usef ul(j) even before executing
sq(j), i.e. these rights belong to the union of the
initial rights of ag and of the post conditions of
sq(1), ..., sq(j − 1).
If sq(j) is useful, we add it to tp(sq, g) and compute
usef ul(j − 1) by removing from usef ul(j) the rights in
post(sq(j)) and by adding those in pre(sq(j))
usef ul(j − 1) = (usef ul(j) − post(sq(j))) ∪ pre(sq(j))
Since we do not compute the statistics to assess S through
the output of the scout, we do not need to remove the bias in
If sq(j) is useless, usef ul(j − 1) = usef ul(j).
4
The manager selects plans of Epi to be inserted into
Cpi according to their success probability, starting from those
with the largest one. If several plans have the same success
probability, it selects at random those to insert. It is worth
noticing that in a correct solution Cpi only includes the plans
with a success probability larger than hisu. In fact, given a
set of plans where each plan has a success probability lower
than hisu but where the sum of these probabilities is larger
than hisu, the selection of the plans to be affected by countermeasures is rather arbitrarily because some success probability
may strongly increase after deploying some countermeasures.
An alternative solution considers all the plan subsets with an
overall success probability larger than hisu but this requires
more than one experiment in each iteration. As a compromise,
we bound the size of Cpi through a threshold defined as a
percentage of successful plans. This guarantees that the success
probability of ag decreases at each iteration and can handle
the case where ag implements a large number of plan, each
with a very low success probability.
At the end of the backward scanning, p(sq, g) = tp(sq, g).
p(sq, g) is the correct plan provided that ag never implements an attack that does not increase its current rights.
In some cases, the planner cannot discover the correct plan
because sq interleaves several alternative plans. In this case,
it shoulds map into a plan any permutation of sq that is a
complex attack, e.g. any permutation where each attack is
enabled by the rights granted by those executed before it.
After discovering the plans ag has executed, the planner
computes the success probability of each plan p as the ratio
between the number of runs where p has been implemented
and the number of runs in the experiment. This considers that
distinct complex attacks may corresponds to the same plan.
B. Selecting Plans to be Affected
Starting from the plans returned by the planner, the
manager determines the countermeasures to reduce the risk
posed by S. To this purpose, an input parameter, hisu, defines
the highest success probability of ag that the assessment
accepts.
C. Selecting Countermeasures for a Set of Plans
Since a countermeasure for at affects all the plans that
share at, the selection of countermeasures for plans in Sp is
focused on the attacks these plans share to reduce both the
number of countermeasures and their overall cost.
The manager has an iterative behavior. After selecting, as
described in the following, some countermeasures, it updates
the description of S to model their deployment and runs
another experiment with the new version of S to discover
how ag reacts to countermeasure. In other words, the new
experiment discovers whether, when attacking S, ag neglects
some plans it can successfully implement against the new
version of S because they have not been affected by the
deployed countermeasures. Any of these plans is denoted as
a dependent one because ag selects it only when other ones
are affected by countermeasures. Only a new experiment can
discover dependent plans because we cannot deduce them
from the output of an experiment where ag neglects them
in favor of some other plans. If the new experiment shows
that some dependent plans still have a success probability
larger than hisu, the manager selects and deploys further
countermeasures, runs another experiment and so on.
To formally define this focus, we pair any plan in Sp with
an index in 1..n where n is the size of Sp and any attack at
with both c(at), the cost of its countermeasure, and the set
Sp(at) = {i1 , ..., ik } of the indexes of the plans that share at.
A set of countermeasures stops all the plans in Sp if it is a
coverage [45] of {1, ..., n} through the elements of
S
Sa = (Sp(at))∀at ∈ Sp
Since we are interested in a coverage with the minimal cost, we
can safely neglect an attack at1 if all the plans that share at1
also share a distinct attack at2 with a cheaper countermeasure.
After removing any attack that can be neglected, the manager
considers any possible coverage and selects the cheapest one.
Given the number of plans and of the attacks they share,
the time to compute a coverage acceptable execution time even
if the problem is NP complete. As a matter of fact, if both the
previous numbers are very large, then there is a large number
of alternative plans that ag can select to attack S. This requires
a redesign of S rather than a few countermeasures.
Two features that strongly influence the computational
overhead and the effectiveness of the countermeasures the
manager returns are how it determines, at the i − th step,
the set Si with the plans to affected by the countermeasures
and the selection of the countermeasures for plans in Si .
In a global approach, Si depends upon the plans ag has
executed in any previous iteration. Then, the manager selects
some attacks from these plans and deploys the corresponding
countermeasures. Since the countermeasures the i − th step
selects depend upon Si only, they may completely differ from
those selected in a previous step. Instead, in the incremental
approach, the manager only considers the dependent plans
discovered in an iteration and it extends the previous set of
the countermeasures with those for these plans.
To optimize the execution time, the manager records the
current optimal cost and it aborts the building of a coverage
as soon its cost is larger than the current optimum.
By considering, at each iteration, all the plans to be
stopped, an iterative approach exploits at best the shared
attacks to minimize the number of countermeasures. Instead,
an incremental approach cannot fully exploit shared attacks
because it does not known the dependent plans selected in the
next iterations and the attacks they share with those actually
considered.
Currently, the manager adopts a global approach where Si
is the union of S1 , ..., Si−1 , the set of plans the manager has
considered in the previous iterations, and of Cpi . Given the set
Epi with all the plans ag executes in the i−th experiment, Cpi
is a subset of Epi such that the sum of the success probability
of the plans in Epi − Cpi is lower than hisu.
To examplify our solution, suppose that ag can implement
any of {at1 , ..., at7 } and Sp includes these plans:
p1 ≡ at1 ; at2 ; at3
5
p2 ≡ at2 ; at4 ; at5
p3 ≡ at5 ; at4 ; at6
p4 ≡ at1 ; at6 ; at7
Each attack is paired with a set of indexes as follows:
at1 → {1, 4}
at2 → {1, 2}
at3 → {1}
at4 → {2, 3}
at5 → {2, 3}
at6 → {3, 4}
at7 → {4}
If c(ati ) < c(at(i+1) ), ∀i ∈ 1..6, we can neglect a5 because
its countermeasure has a cost larger than the one of the
countermeasure for a4 . The following sets of attacks cover
all the plans:
{at1 , at4 }
{at2 , at6 }
{at1 , at2 , at6 }
{at2 , at4 , at7 }
{at3 , at4 , at7 }
Figure 1.
control a distinct device. The agents have no information on the
infrastructure and scan each node to discover its vulnerabilities.
To show the handling of partial information, we assume no
further information on the agents is available. Hence, for each
agent, we consider any selection strategy and, when appropriate, two lookahead values, 1 and 2. The latter value strongly
reduces the time it takes the agent to discover a sequence
of attacks to reach its goal. Hence, for each agent, seven
derived agents are simulated. One adopts the random selection
strategy, two the maxIncr, two the maxP rob and two the
maxEf f one. The confidence level of all the experiments is
95% on the components an agent attacks. This has required
from 150.000 to 500.000 runs in an experiment. For the sake
of brevity in the following, st/la agent is a shorthand for the
agent that adopts the st selection strategy with a lookahead
equal to la.
Given the previous cost assumptions, the manager selects one
of the first two sets.
D. Iterations and Plans
Given the iterative behavior of the manager, an assessment does not need to apply the planner. In this case,
the manager discovers in a following iteration that it has
deployed a countermeasure for a useless attack and it can
select another countermeasure. This saves the time to run the
planner at the expense of further manager iterations. The
optimal compromise depends upon both the architecture of S
and λ(ag).
VI.
Network architecture of the experimental IT infrastructure
The Haruspex tools for this assessment run on an highly
parallel IBM system with 96 cores in 16 clusters and have
been carefully optimized to exploit at best the available cores.
As an example, several threads of the builder classify distinct
vulnerabilities, the engine maps distinct runs of an experiments
onto distinct cores and the manager computes alternative
coverages of a set of plans through threads mapped onto
distinct cores. In the following, the execution times refer
to this version of the tools. Furthermore, to analyze how
an agent features influence the time to simulate its attacks,
each experiment simulates just one derived agent. Under these
conditions, the time of an experiment ranges from 30 seconds
to 10 minutes. The worst case is the simulation of the random
agent due to the very long complex attacks it implements.
C ASE S TUDY
We have applied the Haruspex suite to assess an ICT
infrastructure with SCADA components that manages a power
generation plant. It consists of 49 nodes segmented into six
subnetworks as in Fig. 1. The Central Network is used for
some business processes and it includes 24 nodes. The Power
Context is the one with the workstations of the plant operators
and it includes 7 nodes. The Process Network1 and Process
Network2 consist of, respectively, 9 and 7 nodes, the SCADA
servers to control and manage the plant. Each Control Network
includes a PLC device. Three nodes in the Central Network are
connected to the Power Context one. A pair of nodes connects
each Process Network to the Power one. To properly stress the
suite tools, we have manually inserted further vulnerabilities
in the database that the builder returns.
The vulnerability scanning of all the infrastructure nodes
has taken less than one day. The whole infrastructure is affected by 1253 vulnerabilities and the number of vulnerabilities
per host ranges from 2 to 57 with an average slightly larger
than 25. The builder produces the infrastructure description in
less than ten minutes. Most of this time is devoted to store the
description in the output database. We have used the descriptor
to model the various agents to be simulated.
A. Running the Assessment
The assessment considers four agents that initially own
some rights on the Central Network and aim to control the PLC
devices. In particular, one agent aims to control both devices,
one to control at least one device and the last two aim to
6
Even if the target infrastructure is not very complex, we
have applied the scout to estimate the time it takes an agent to
reach a goal. In a scout run an agent reaches a goal through a
complex attack that composes five elementary attacks and this
takes less than 12 hours. Then, a first set of 20 experiments
simulate the various agents with a timelimit of 72 hours for
each run. In this time interval, all the agents reach their goal.
The average time to reach a goal ranges from 11 hours of
the maxEf f /2 agent that aim to control any PLC to the 22
hours of the random agent that aims to control both PLCs.
The number of attacks in a complex one ranges from 15 of
the random agent to 5 for the maxEf f /2 agent. The longest
complex attack of the random agent includes 28 elementary
attacks. Most of these attacks are useless.
C. Selecting Countermeasures to Deploy
We consider now the manager output for two agents,
maxIncr/2 and maxP rob/2, aiming to control at least one
PLC. This case is rather complex because the ability of
selecting the PLC to control largely increases the number of
dependent plans. In this example, each countermeasure is a
patch that removes the corresponding vulnerability and results
in the failure of the corresponding attack.
The countermeasures to stop the maxP rob/2 agent are
determined in four manager iterations, i.e. in the fifth experiment the agent never reaches its goal. Initially, this agent
has 370 available plans to reach its goal. The countermeasures
selected at the first iteration patches 7 vulnerabilities in the
nodes that connect one of the PLC to the corresponding Power
network and in the one that connects the Process network
to the other Power network. The agent reacts by selecting
dependent plans that the manager stops in the next iteration.
In particular, the following iterations discover, respectively,
40, 129 and 40 dependent plans. In particular, in the third
iteration, the manager selects a set with the same number of
countermeasures as in the previous iteration but that concerns
distinct attacks. The final set applies 9 patches.
The following experiments have considered a timelimit of
24 hours. Now only the agents with a lookahead equal to 2 or
that aims to control any of the PLC always reach their goal.
The probability that a random agent controls any of the PLCs
is 0.85 while the one that it controls both PLCs is 0.71.
A similar behavior is observed with a timelimit of 18 hours.
In these experiments, as in most of the previous ones, the
random agent and the maxIncr/1 one always reach their
goal with the same probability. This is a strong indication that
only one of the agents may be simulated if an assessment is
interested in minimizing the computational overhead.
The manager determines the countermeasures for the
maxIncr/2 agent in two iterations that return, respectively, 5
and 9 countermeasures. The same countermeasures are selected
for the maxP rob/2 agent. A lower number of iterations
suffices because the behavior of the maxIncr/2 agent is less
deterministic. Hence, in an experiment, the agent implements
a larger number of plans than the maxP rob/2 agent. This
confirms that, in general, the number of manager iterations
is inversely related to the agent determinism, but the exact
relation depends upon the target system.
In the last experiments, where the timelimit is 12 hours,
the engine cannot reach the required confidence level for the
agents that want to control both PLCs due the large number
of components they can attack. Among other agents, only the
maxEf f /2 agent aiming to control at least one PLC always
reaches its goal. The success probability of other agents ranges
from 0.97 for the maxEf f /2 aiming to control one PLC to
0.1 for the randomagent aiming to control one PLC.
To stop both agents, less than 1% of the system vulnerabilities have to be patched. This is mostly due to the segmentation
of the target infrastructure.
In all these experiments, the best strategy is maxEf f , the
worst ones are maxP rob/1 and random. Lastly, maxIncr is
the most sensible strategy to the lookahead value that strongly
influences the time to reach a goal.
VII.
B. Complex Attacks and Plans
C ONCLUSION
We have discussed the Haruspex suite, a set of tools to
assess and manage in an automatic way the risk due to an
ICT system under attack by a set of agents that escalate
their privileges through sequences of attacks. Then, we have
introduced and discuss a methodology to overcome uncertainty
about some parameters of the target system and of the agents.
Lastly, we have presented the automatic assessment of an
infrastructure with 49 nodes that is attacked by four agent. An
interesting output of this assessment is the very low number
of vulnerabilities to be patched to stop all the agents. Future
developments concern the definition of metrics to evaluate the
robustness of a system with respect to a set of agents and to
compare alternative versions of a system.
The considered infrastructure is characterized by a large
number of plans the agents can select. This is due both to the
vulnerabilities we have manually inserted and to several sets
of equivalent nodes. We say that a node n is equivalent to
a distinct node m if any complex attack where an elementary
attack at(n) involves n can be mapped into a distinct complex
attack by replacing at(n) with at(m), an elementary attack that
involves m. An elementary attack involves n if n is the source
or the target of the attack. As an example, any complex attack
where at targets one of the nodes that connect the Central
and the Power networks, can be transformed into a distinct
complex attack by replacing at with at0 that targets another
node that connect the two networks. For the same reasons, the
two nodes that connect the Power network to each Control
network are equivalent too. Since, in general, an agent may
implement distinct plans in distinct runs, a large number of
runs is required to achieve a high confidence level. Consider,
as an example, that the ratio between the number of runs and
the one of distinct plans is less than 5 for some random agent,
while may be larger than 1000 for a maxEf f /2 agent.
R EFERENCES
[1]
C. Tankard, “Advanced persistent threats and how to monitor and deter
them,” Network Security, vol. 2011, no. 8, pp. 16 – 19, 2011.
[2] F. Baiardi and D. Sgandurra, “Assessing ict risk through a monte
carlo method,” Environment Systems and Decisions, pp. 1–14, 2013.
[Online]. Available: http://dx.doi.org/10.1007/s10669-013-9463-4
7
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
[20]
[21]
[22]
[23]
[24]
F. Baiardi, F. Corò, F. Tonelli, and L. Guidi, “Qsec: Supporting security
decisions on an it infrastructure,” in Eighth CRITIS Conference on Critical Information Infrastructures Security, Amsterdam, The Netherlands,
September 2013.
——, “Gvscan: Scanning networks for global vulnerabilities,” in First
International Workshop on Emerging Cyberthreats and Countermeasures, Regensburg, Germany, September 2013.
V. Gorodetski and I. Kotenko, “Attacks against Computer Network:
Formal Grammar-Based Framework and Simulation Tool,” in Recent
Advances in Intrusion Detection, ser. LCNS, vol. 2516. Springer,
2002, pp. 219–238.
I. Kotenko, “Active vulnerability assessment of computer networks
by simulation of complex remote attacks,” Int. Conf. on Computer
Networks and Mobile Computing, p. 40, 2003.
D. Helbing and S. Balietti, “How to do Agent Based Simulations in the
Future,” june 2011.
S. H. Conrad, R. J. LeClaire, G. P. O’Reilly, and H. Uzunalioglu,
“Critical national infrastructure reliability modeling and analysis,” Bell
Labs Technical Journal, vol. 11, no. 3, pp. 57–71, 2006.
T. Brown, W. Beyeler, and D. Barton, “Assessing infrastructure interdependencies: the challenge of risk analysis for complex adaptive
systems,” Int. Journal of Critical Infrastructures, vol. 1, no. 1, pp. 108–
117, 2004.
E. LeMay, W. Unkenholz, D. Parks, C. Muehrcke, K. Keefe, and
W. Sanders, “Adversary-driven state-based system security evaluation,”
in Proc. of the 6th Int. Workshop on Security Measurements and Metrics,
ser. MetriSec ’10. New York, NY, USA: ACM, 2010, pp. 5:1–5:9.
——, “Model-based Security Metrics using ADversary VIew Security
Evaluation (ADVISE),” in Proc. of the 8th Int. Conf. on Quantitative
Evaluation of SysTems (QEST 2011), 2011.
D. Rios Insua, J. Rios, and D. Banks, “Adversarial risk analysis,”
Journal of the American Statistical Association, vol. 104, no. 486, pp.
841–854, 2009.
D. M. Buede, S. Mahoney, B. Ezell, and J. Lathrop, “Using plural modeling for predicting decisions made by adaptive adversaries,” Reliability
Engineering and System Safety, vol. 108, no. 0, pp. 77 – 89, 2012.
S. Cheung, U. Lindqvist, and M. Fong, “Modeling multistep cyber
attacks for scenario recognition,” in DARPA Information Survivability
Conference and Exposition, 2003. Proceedings, vol. 1, april 2003, pp.
284 – 292 vol.1.
S. Barnum, “Common attack pattern enumeration and classification (capec) schema description,” Cigital Inc, http://capec.
mitre. org/documents/documentation/CAPEC_Schema_Descr iption_v1,
vol. 3, 2008.
V. M. Bier, S. Oliveros, and L. Samuelson, “Choosing what to protect:
Strategic defensive allocation against an unknown attacker,” Journal of
Public Economic Theory, vol. 9, pp. 563–587, 2007.
K. Hausken and V. M. Bier, “Defending against multiple different
attackers,” European Journal of Operational Research, vol. 211, pp.
370–384, 2011.
D. Florencio and C. Herley, “Sex, Lies and Cyber-crime Survey,” in
The Tenth Workshop on Economics of Information Security, 2011.
——, “Where Do All the Attacks Go?” in The Tenth Workshop on
Economics of Information Security, 2011.
C. M. Macal and M. North, “Tutorial on agent-based modelling and
simulation,” Journal of Simulation, vol. 4, no. 3, pp. 151–162, 2010.
A. Rob, “A Survey of Agent Based Modelling and Simulation Tools,”
Technical Report DL-TR-2010-07, Science and Technology Facilities
Council, 2010.
A. Ghorbani, E. Bagheri, Onut, R. Zafarani, H. Baghi, and G. Noye,
“Agent-based Interdependencies Modeling and Simulation (AIMS),”
Technical Rep. No. IAS-TR01-06, Intelligent and Adaptive Systems
Research Group, Faculty of Computer Science, UNB, Tech. Rep., Sep.
2006.
E. Casalicchio, E. Galli, and S. Tucci, “Federated Agent-based Modeling and Simulation Approach to Study Interdependencies in IT Critical
Infrastructures,” in Proc. of the 11th IEEE Int. Symp. on Distributed
Simulation and Real-Time Applications, ser. DS-RT ’07. Washington,
DC, USA: IEEE Computer Society, 2007, pp. 182–189.
[25]
[26]
[27]
[28]
[29]
[30]
[31]
[32]
[33]
[34]
[35]
[36]
[37]
[38]
[39]
[40]
[41]
[42]
[43]
[44]
[45]
8
A. Arora, D. Hall, C. Piato, D. Ramsey, and R. Telang, “Measuring the
risk-based value of it security solutions,” IT Professional, vol. 6, no. 6,
pp. 35 – 42, nov.-dec. 2004.
A. Herrmann, “The quantitative estimation of it-related risk probabilities,” Risk Analysis, pp. no–no, 2012.
C. Alberts, J. Allen, and R. Stoddard, “Risk-based measurement and
analysis: Application to software security,” Software Engineering Inst.,
CMU, Tech. Rep., 2012.
A. Konak, D. W. Coit, and A. E. Smith, “Multi-objective optimization using genetic algorithms: A tutorial,” Reliability Engineering and
System Safety, vol. 91, no. 9, pp. 992 – 1007, 2006.
K. Deb, “Multi-objective optimization,” in Search Methodologies,
E. Burke and G. Kendall, Eds. Springer US, 2005, pp. 273–316.
R. Marler and J. Arora, “Survey of multi-objective optimization methods for engineering,” Structural and Multidisciplinary Optimization,
vol. 26, pp. 369–395, 2004.
J. D. Howard, “An analysis of security incidents on the internet 1989 1995,” Ph.D Thesis, 1998.
S. Engle, S. Whalen, D. Howard, and M. Bishop, “Tree approach to
vulnerability classification,” May 2005.
P. Ammann, J. Pamula, R. Ritchey, and J. Street, “A host-based approach
to network attack chaining analysis,” Technical Report SERC-TR-165-P,
2005.
S. Cheung, U. Lindqvist, and M. Fong, “Modeling multistep cyber
attacks for scenario recognition,” in DARPA Inf. Survivability Conf. and
Exposition, 2003, vol. 1, april 2003, pp. 284 – 292 vol.1.
Y. Zhang and V. Paxson, “Detecting stepping stones,” 2000.
B. Morin, L. Mé, H. Debar, and M. Ducassé, “M2d2: A formal data
model for ids alert correlation.”
S. Noel, M. Elder, and S. Jajodia, “Advances in topological vulnerability
analysis,” Proceedings of the Cybersecurity Applications and Technology Conference for Homeland Security, pp. 139–154, 2009.
S. Jajodia and S. Noel, “Topological Vulnerability Analysis,” in Cyber
Situational Awareness, ser. Advances in Information Security, S. Jajodia,
P. Liu, V. Swarup, and C. Wang, Eds. Springer US, 2010, vol. 46, pp.
139–154.
L. Wang, M. Albanese, and S. Jajodia, Network Hardening - An
Automated Approach to Improving Network Security, ser. Springer
Briefs in Computer Science. Springer, 2014.
Y. Y. Haimes, “On the definition of vulnerabilities in measuring risks
to infrastructures,” Risk Analysis, vol. 26, no. 2, pp. 293–296, 2006.
T. N. Jagatic, N. A. Johnson, M. Jakobsson, and F. Menczer, “Social
phishing,” Commun. ACM, vol. 50, no. 10, pp. 94–100, Oct. 2007.
NIST, “National vulnerability database,” Tech. Rep. [Online]. Available:
http://nvd.nist.gov/
MITRE, “CWE - common weakness enumeration,” Tech. Rep.
[Online]. Available: http://cww.mitre.org/
K. Scarfone and P. Mell, “An analysis of cvss version 2 vulnerability
scoring,” in Empirical Software Eng. and Measurement, 2009, oct. 2009,
pp. 516 –525.
P. Heidelberger, “Fast simulation of rare events in queueing and
reliability models,” ACM Trans. Model. Comput. Simul., vol. 5, no. 1,
pp. 43–85, Jan. 1995.
R. Karp, “Reducibility among combinatorial problems,” in Complexity
of Computer Computations, ser. The IBM Research Symposia Series,
R. Miller, J. Thatcher, and J. Bohlinger, Eds. Springer US, 1972, pp.
85–103.