Back in the fifties programmers already tried to create machines that showed some form of intelligence. About twenty years -- and many failures -- later, researchers moved away from the temptation to create truly intelligent machines and they started focusing on systems that reasoned with specialized rather than general knowledge, the so-called expert systems [VAN97, pp.6-26]. In order to solve a particular problem these systems use a computer representation of an expert's knowledge and try to simulate his reasoning. The expert in this case would be a security manager or security consultant and the problem a security incident.
As opposed to traditional programming languages expert systems explicitly keep program data separated from program logic:
``The knowledge of an expert system consists of facts and heuristics. The "facts" constitute the body of information that is widely shared, publicly available, and generally agreed upon by experts in the field. The "heuristics" are mostly private, little-discussed rules of good judgment (rules of plausible reasoning, rules of good guessing) that characterize expert-level decision making in the field.'' [HAR85]In our model, the facts are produced by a system that feeds data about the security environment to a database and the heuristics reflect security expert knowledge and are stored in a rule-base. The database and the rule-base together form the knowledge base. Heuristic reasoning is triggered by events observed by the monitor application.
We
can
further
distinguish
between
expert
logic
and
procedural
logic
(see
table
2.1):
the
expert
logic
reflects
the
heuristics
described
above,
the
procedural
logic
is
the
action
to
be
taken
by
the
system
as
a
result
of
its
reasoning.
Procedural
logic
in
our
model
is
mainly
executed
by
the
decision
enforcement
applications.
|
A security management service can exist of several security engines, each covering a particular aspect of an organization's security requirements. The engines are ``experts'' in fields like computer security, network security or physical access control and intrusion detection. Each of the engines has access to its own private rule- and database(s). Security engines may interact with each other through a set of standard APIs.
A security management service has a security domain for which it is responsible. According to ISO terminology, the security management service would be a security authority:
``A security authority is responsible for the implementation of a security policy. A security policy is a high-level set of rules that govern security-relevant activities of one or more sets of elements (where an element might, for example, be a network component or a computer). A security policy applies within a security domain, and may also cover interactions between domains. A security domain is a set of elements governed by a given security policy administered by a single security authority for some specific security-relevant activities.'' [ISO96a] & [MIT98, p.2-6]A security domain can be regarded as the scope of a single security policy. A security policy is also defined in ISO 7498-2 as ``the set of criteria for the provision of security services'' [MIT98, p.0-6]. A security domain is typically a set of processing and communication resources belonging to one organization [FOR94, p.14]. Not unlike security engines, security management services from different domains can interoperate and communicate through standardized interfaces. This is further discussed in paragraph 2.1.7 on page
The
security
management
service
provides
a
shell
around
the
engines
incorporating
the
APIs.
The
APIs
enable
the
peripheral
systems
to
communicate
with
the
security
management
service
and
vice
versa
(see
the
section
on
the
AS-API,
p. ).
Based
on
the
information
it
retrieves
about
the
functions
supported
by
the
peripheral
applications
and
devices
the
management
system
can
build
a
table
of
functions
and
corresponding
API
calls.
By
scanning
the
rule
base
it
can
build
a
table
of
functions
that
are
required
by
the
rule
base
to
provide
security.
By
comparing
the
two
tables
it
becomes
clear
if
functionality
lacks.
This
modular
approach
allows
for
easy
expansion
of
the
security
system.