− search for ways how an attacker can achieve a
specific purpose;
− determination of the countermeasures which
should be taken to ensure the security of the
system.
This paper examines the precedent approach to
building attack graphs. This approach is based on the
model-theoretic formalization of domain ontologies
(Palchunov, 2006; Palchunov, 2008). The formal
description of the structure of the knowledge base is
made with the Description Logic (Baader, et al.,
2007). Formalization of estimated (fuzzy) judgments
is made in the language of the Fuzzy Model Theory
(Pal'chunov and Yakhyaeva, 2015). Software
implementation of the knowledge base is made with
the Neo4j
1
graph DBMS.
2 RELATED WORK
At present there are more than a hundred software
systems for information risk management. All of
them can be divided into two groups (Alhomidi and
Reed, 2014):
• basic software systems for qualitative risk
analysis;
• full analysis software systems for quantitative
risk analysis.
Basic software systems are commonly used by
the companies of the 3rd CMM maturity level
(Carcary, 2013).
Software systems for full risk analysis include
systems with more advanced tools of risk analysis
and management. Such tools are in demand among
the organizations of the 4th and 5th CMM maturity
levels. The fourth-level organizations address the
measurement of parameters, characterizing the
information security policy. Technology of
information security management remains the same,
but the risk analysis phase includes quantitative
methods of estimation of the residual risk parameters
and effectiveness of various countermeasures in risk
management. Different kinds of optimization
problems in the field of information security are
solved on the fifth level. The most famous software
systems of this class are CRAMM
2
, RiskWatch
3
,
Digital Security
4
and OCTAVE
5
.
1
neo4j.com
2
www.cramm.com
3
www.riskwatch.com
4
www.dsec.ru
5
www.cert.org/octave
There is currently no commonly used definition
of the "attack graph" concept, and various research
groups often mean different things by this word
combination.
One of the approaches (Sheyner, et al., 2002) is
to define the attack model, which is a finite state
machine with multiple states and possible transitions
between them, where each element of the set of
states describes the state of the entire computer
network at the current stage of the computer attack.
The attack graph of the specified model is the set of
finite sequences of transitions from the initial state
of the system in such states that violate specified
security property. This approach has one major
drawback. With the growth of the number of nodes
in a computer network, the number of possible states
of the network increases exponentially, making the
creation of such attack graph practically useful only
for small networks with a small number of
vulnerabilities.
Another approach is based on building a logical
attack graph (Wayne and Boyer, 2006). In this
approach the graph node is a logical expression. It
describes not the state of the network as a whole, but
only one aspect of this state. Graph edges represent
causal connections between the network
configuration and the potential privileges that an
attacker can get.
This logical approach has two certain advantages
over the "attack scenario" approach. Firstly, logical
attack graph clearly defines the causal relationship
between the system configuration and potential
attacker's privileges. In the case of "scenario"
approach it would be necessary to take into account
the full description of the system state on one or
several of the preceding steps to determine the
causes of dangerous situation. While logical graph
represents that causal relationship with the edges of
the graph. It is possible to restore all possible attack
scenarios by performing a simple depth-first
traversal of the logical graph. Secondly, the size of
the logical graph always depends polynomially on
the size of the network, and the size of the scenario
graph in the worst case has an exponential
dependence on the size of the network.
This paper introduces one more semantics of the
"attack graph" concept. In the proposed approach a
graph node is a precedent of a computer attack with
several properties. The edges of the graph are based
on the values of two properties of an attack
precedent: necessary preconditions to commit this
attack, and the consequences that the attack has for
the system. The oriented edge from graph vertex A
to vertex B is built if the consequences of