• If φ is an unquantified first order QCL formula,
and {x
1
,..., x
n
} are the set of variables used in φ,
then ∀ x
1
,..., ∀ x
n
φ is a universally quantified first
order EQ CL formula.
Example 3. Assume that the network administrator
prefers alerts that are issued by Bro IDS to those is-
sued by Snort IDS. We use the universally quantified
EQ C L formula ψ to define this preference: ψ = ∀x,
∀y Alert-Bro(x)
~
×Alert-snort(y).
Universally quantified first order EQ C L language of-
fers flexibility for expressing knowledge and prefer-
ences. However, from reasoning point of view, it is
better to work on propositional level in order to ex-
ploit existing inference tools. Namely, it is important
to instantiate first order knowledge’s bases to propo-
sitional ones. The instantiation steps are:
1. Let K and T be two sets of universally quantified
first order EQ C L formulas, where K does not involve
the ordered disjunction symbol
~
×.
2. Let E(K, T ) be the set of constant symbols used in
K and T .
3. Let ψ = ∀ x
1
,..., ∀ x
n
φ be a universally quantified
first order EQ C L formula. Define D(ψ) as the do-
main associated with ψ. D(ψ) is a subset of E(K,T )
n
composed of feasible n-uplets of E(K,T )
n
. It is either
set by an expert, or initialized by default to E(K,T )
n
.
4. Define I nstantiation(ψ) as the set of all grounded
EQ C L formulas obtained by replacing (x
1
,..., x
n
) in
ψ respectively by an element (c
1
,..., c
n
) of D(ψ).
5. Define I nst(K) (resp. I nst(T )) as the result of in-
stantiating each formula of K (resp. of T ).
The inference relation for EQ C L formulas is given
by the following steps:
* Apply Definition 2 to transform universally quanti-
fied first order GCF formulas into universally quanti-
fied first order BCF formulas.
* Apply the instantiation steps for each formula as in-
dicated above for K and T .
* Apply Definition 1 (item 1) for all obtained BCF
formulas or (item 2) for propositional ones.
* Compute preferred models of { K ∪ T } using Defi-
nition 3.
3 APPLICATION OF EQ CL TO
ALERT CORRELATION
3.1 Description of Inputs
The inputs of our model are:
1. A Group of Alerts G Produced by IDSs: Each
alert is characterized by a set of attributes called
“basic attributes”. Examples of basic attributes
are: Signature Identifier (SID), messages associ-
ated with alerts, Protocol, TTL (Time To Live),
etc. Each attribute will be represented by a pred-
icate symbol. The sets of predicate facts contain-
ing values of alert attributes of G will be repre-
sented by K
1
.
Example 4. Assume that G contains one alert
identified by id1. Assume that the attributes con-
cerning this alert are: IDS identity is Snort,
the used protocol is TCP and the class of at-
tack is DoS. These facts will be represented
by K
1
= {IDS(id1,Snort), Protocol(id1,TCP),
Class(id1,DoS)}. Note that in general, some at-
tributes may not be informed (known) by an IDS.
Types of Facts: We distinguish two kinds of
facts:
(a) Alerts Facts: These facts are directly defined
on basic attributes of alerts. Protocol(A
1
,TCP)
is an example of alert fact which indicates that
the attribute protocol of alert A
1
is TCP.
(b) Other Facts: These facts concern attributes
that are not known by the IDS from which the
alerts are issued. Direction of alert is an exam-
ple of this kind of facts. It is based on source
and target IP addresses. These information al-
low to know the direction of concerned alerts
on the system (inbound, outbound, inside).
2. Knowledge of the Network Administrator: Ad-
ministrator network can provide some knowledge
or beliefs on networks, on system, etc. This
knowledge base is denoted by K
2
, it contains a
set of universally quantified propositional formu-
las (namely, formulas that do not involve
~
×).
3. Preferences of the Network Administrator:
The network administrator can express his prefer-
ences according to what he wants to first analyze
and what he would like to ignore. This will be
represented with a set of EQ C L formulas T .
3.2 Output of our Model
The output of our model is a subset G
0
⊆ G. More pre-
cisely, the subset of alerts in G to be first presented to
the network administrator. The objective of our alert
correlation, is to first present only alerts that satisfy
knowledge and preferences of the network adminis-
trator, namely, we only present preferred alerts. Then
if needed second preferred alerts will be presented,
etc. So, we need to preprocess available alerts and
encode them in our logical framework. Namely, we
need to:
- Extract the set of facts K
1
from the given alerts.
ALERT CORRELATION BASED ON A LOGICAL HANDLING OF ADMINISTRATOR PREFERENCES AND
KNOWLEDGE
53