|
A security model is a mathematical,
or logical, expression of a set of security policies.
It is a diagrammatic, schematic, or tabular construct
of the rules derived from security policies that
deals with security levels (of information, of
people, and of processes), and the interplay between
the various types of security levels. The interplay
takes place in accordance with well defined rules,
which determine whether information should be
allowed to flow, or be restricted, whenever a
person or a process tries to access the information.
A security model takes security policies as input,
and develops mathematical formulae and relationships
between the objects. These formulae and relationships
are built into data structures and mapped according
to the policy requirements. After the security
policies have been written, and the security models
are ready as part of the Enterprise Security Architecture
(ESA), the process of writing program code or
procuring vendor solutions, can begin.
A system can be secure only if its security model
is based on logically sound premises as the security
features are built into operating systems, database
systems, applications, etc, on the basis of their
security models. Further, the user has to ensure
that the system is appropriately configured to
get the full benefit of its security model, since
default settings usually constitute a 'low security'
version of the model.
There are several well-known security models,
such as the Bell-LaPadula model and the Biba model.
These models represent certain standard concepts
for controlling accessibility, integrity, etc,
of information systems.
The Bell-LaPadula model is meant for information
systems, where secrecy is of prime importance.
On the other hand, the Biba model is suitable
where integrity is more important. For example,
if a timetable for passenger trains is to be made
available online, then thousands of people should
be able to access the database, often simultaneously.
There would be no need for confidentiality, but
there would be the highest possible need for integrity
in the system.
In the above example, the data should never get
corrupted (intentionally or accidentally), either
at its primary storage location, or at the terminals
where it is displayed, or even during intermediate
stages of processing or transit through networks.
Stringent requirements of integrity have to be
met, despite the huge volumes of public network
access at high speeds and in various processed
formats. Evidently, an integrity model, rather
than an access control model, will be used for
building and operating this railway timetable.
An ESA usually has different security models co-operating
within the system. For example, an enterprise
may have several databases, built on different
security models.
Security models have many benefits. Principally,
they establish benchmarks, and ensure optimum
utilisation of resources, by incorporating the
right kinds of security for different bodies of
information. This happens at the machine level,
network level, and enterprise level.
Since there is never a single model that can meet
all kinds of security requirements, 'best fit'
solutions have to be designed, based on organisational
requirements.
The Concept
All information security models use the terminologies
of 'subject' and 'object.'
A 'subject' is an entity, such as a person, process,
or device, which accesses or uses information
from the system. An 'object' is the information,
or a piece of a larger body of information, which
is accessed by a 'subject.' An 'object' may be
a 'subject' in another situation or context, and
vice versa.
Types of Security Models
The important types of information security models
are Access control models, Integrity models, State
machine models, Information flow models and Non-interference
models.
Different types of information security models
use different philosophies for looking at subjects
and objects, and also for grouping and classifying
them, and for controlling their interactions.
A specific model, which may be a well-known model
or a model designed for a particular organisational
environment, usually has features from different
types of information models. For example, the
Bell-LaPadula model is largely an access control
model, but it is also based on the state machine
model.
Access control models
Access control models use sets of rules, which
permit or deny access for a subject to an object.
This ensures that information does not fall into
wrong hands. The process involves a subject requesting
for an object. The permission or denial of access
to the object depends upon the 'right' that the
subject possesses.
Access control models can be broadly classified
into Mandatory access control (MAC) and Discretionary
access control (DAC).
Mandatory access control models use the concept
of 'labels,' which describe the confidentiality
level (or security clearance) of a subject or
an object. Access is then controlled as per the
labels (or confidentiality levels/security clearances).
Discretionary access control models enable the
owners of system resources to specify the subjects,
and the rights of the subjects to objects. 'Discretionary
access control' enables rights to be assigned
as per the discretion (or choice) of the owner
of the resource. It provides the owner with a
degree of flexibility in exercising access control.
For example, Windows 2000 provides discretionary
access control though Active Directory (AD) and
Access Control Lists (ACLs). Similarly, Linux
also provides discretionary access control.
The important access control models are Access
matrix model, Take-Grant model and Bell-LaPadula
model.
Integrity models
Integrity models focus on reliability, consistency,
and correctness of data. This is achieved by protecting
data from modification by unauthorised users,
protecting data from unauthorised modification
by authorised users, and maintaining consistency
of data.
Integrity models ensure that data remains in the
same state. In other words, the desired state
of data should not undergo any change; either
with malicious intent, or by mistake or due to
events beyond the control of a user.
Integrity models classify data into integrity
levels, and provide appropriate integrity protection
between and within the different levels.
The important integrity models are Biba integrity
model and Clark-Wilson integrity model
State machine model
The state machine model captures the current state
of a system, and compares it with the state at
a later time, to determine if there has been a
security violation in the interregnum. It looks
at users, states, state commands, and outputs.
It depicts a transition from one state to another,
as a state variable.
A state machine model considers a system to be
in a secure state, when there is not a single
instance of security breach at the time of state
transition. In other words, a state transition
should occur only by intent, otherwise it is a
security breach.
Information flow models
Information flow models deal with controlling
the flow of information, so as to ensure that
there are no leakages during the movement of data.
Leakages need to be prevented, whether information
is flowing within a security level, or between
different levels. Usually this is done by permitting
flows only in specified directions, since a leakage
is nothing but a flow in an unwanted direction.
The components of information flow models are
objects (class, value), state transitions (modifications
from current state), lattice (flow policy)
An example of an information flow model is the
Sutherland model.
Non-interference model
Developed by Goguen and Meseguer in 1982, the
non-interference model keeps activities at different
security levels separated from each other, instead
of permitting restricted flows between them. This
model minimises leakages that may occur through
covert channels, by maintaining complete separation
(non-interference) between security levels.
A user at a higher security level cannot interfere,
in any way, with the activities at a lower level.
As a result, the lower level cannot possibly get
any information from the higher level.
One of the major limitations of the non-interference
model is the premise that a lower-level input
cannot, by itself, generate a higher-level output.
This assumption is often incorrect. For example,
a cryptographic process can transform a low-security
data into high-security data.
|