vulnerabilities in isolation, i.e., they detect
vulnerabilities present per service per host. Normally,
an attacker will typically break into a network, by
exploiting a sequence of vulnerabilities and their
corresponding exploits, where the post-condition of
each exploit satisfies the precondition for subsequent
exploits and forms a causal relationship among them
(Sheynar, 2004).
The task of vulnerability detection is very
challenging for an administrator who needs to
consider the interactions of local isolated
vulnerabilities and find global security holes due to
such a correlation (Sheynar, 2004). Such a logical
sequence is known as attack path. Combination of all
possible attack paths over a given network forms an
attack graph. Attack graphs, which are largely used
by present day system administrators for network
monitoring, determine if designated goals can be
reached by the attacker starting from initial state
(Lippmann and Ingols, 2005). Moreover, the current
focus is towards an amalgamation of an automated
attack graph with the network’s intrusion detection
systems (IDS) to perform real-time analysis of the
attacks. The generated attack graph can be extended
to serve the purpose of network monitoring and
alarming. It has been seen that real life networks,
modeled as graphs, have millions of edges, which
makes the resultant graph incomprehensible for an
administrator.
Since the attack graphs generated on
organizational networks are very large and complex,
there arises a need to extract information to be
presented to the administrator. This process of
extracting of previously unknown information from a
large collection of data is known as Data Mining
(Han and Kamber, 2001). Data Mining can be
applied to increase the readability of the attack graph
as well as maintaining information. Clustering, a data
mining technique, concerns the grouping of similar
data points. The fuzzy clustering technique, FCM,
was first introduced by Dunn (Dunn, 1974) and later
extended by Bezdek (Bezdek, 1981). Fuzzy
clustering is advantageous over traditional clustering
techniques as in real applications there are no sharp
boundaries between clusters. The FCM technique can
be applied on attack graphs to increase a graph’s
readability. FCM can help in deciphering patterns in
the data latent in attack graphs.
In this paper, we have proposed an attack graph
generation algorithm. Our algorithm takes initial
network conditions to generate the attack graph. In
order to increase the readability of the attack graph,
FCM was applied on the output of the graph
generation algorithm. The rest of the paper is
organized as follows. Section 2 describes the related
work. This is followed by the proposed algorithm in
Section 3. Section 4 discusses the results obtained.
The conclusion and future work have been described
in Section 5.
2 RELATED WORK
An attack graph of a network is a representation of
all possible attack paths on the networks, given an
initial set of capabilities to an attacker. It can be used
as a tool for qualitative and quantitative analysis of
security attributes and vulnerabilities. One of the
earliest works of the attack graph was done by
Moskowithz and Kang (Moskowithz and Kang,
1997), in which the authors used a graph based
technique to identify the possible loop-holes, using
probability, in a network and represents insecurity
flow. The algorithm proposed by them runs in
exponential time. Phillips and Swiler (Phillips and
Swiler, 1998) provided a formal definition of attack
graphs. They designed a tool, founded on graph-
based approach to network vulnerability that
identifies the set of attack paths having high
probability of success for an attacker. Their
approach represents attack states and transitions
between them, and was based on attack graphs.
However, the attack graph of realistic size was not
generated by them. Swiler et al. (Swiler et al., 2001)
also described an attack graph generation tool for
assessment of security attributes and vulnerabilities
in computer networks. The input provided to the tool
includes pre- and post-conditions, network
information and attacker capabilities. The tool was
used to build shortest path (s) to the specified goals.
It also provided grouping of hosts representing
similar network conditions (e.g., grouping of hosts
on a LAN), and handling of unknown values (default
values, if some missing values exist).The tool has
some drawbacks such as poor scalability, and
manual input (Lippmann and Ingols, 2005).
Ou et al.
(Ou et al., 2006) presented a logical attack graph
algorithm using formal methods. The nodes in the
graph can be classified as fact nodes and derivation
nodes. The fact nodes can be further be divided into
primitive fact nodes and derived fact nodes. Each
fact node is labeled with a logical statement, which
represents a network configuration such as services
running, privileges, and connectivity. A derivation
node takes as input one or more fact nodes, which
together satisfy the pre-conditions of the rule
representing the derivation node. This node serves as
a medium between the set of conjunctive pre-
conditions and post-conditions which occur as a
result of exploiting the vulnerability corresponding
to that rule. The node corresponding to the post-
ATTACK GRAPH GENERATION WITH INFUSED FUZZY CLUSTERING
93