Chapter 6. - OS Database Security) OL - Edited2
Chapter 6. - OS Database Security) OL - Edited2
1
Operating System Security
2
INTRODUCTION
What is an Operating System?
In simple words, OS is a computer program that manages all
3
INTRODUCTION
What is Multiprogramming?
The concurrent execution of multiple programs by a single
processing unit.
Concurrent execution of several different programs by sharing
the same central processing unit (CPU).
A form of processing in which a computer holds more than
one program in memory and works on them in round-robin
fashion that is, by sharing out the processor's time so that each
program receives some attention some of the time. This way
of working is in contrast to using the processor to run one
program at a time.
4
SECURITY METHODS OF
OPERATING SYSTEMS
The basis of protection is separation – keeping one
user’s objects separate from other users.
According to Rushby and Randell (1983) separation
in OS can occur in several ways:
Physical separation – processes use different physical
objects such as separate printers for output requiring
different level of security.
Temporal separation – processes having different security
requirements are executed at different times.
5
SECURITY METHODS OF
OPERATING SYSTEMS
According to Rushby and Randell (1983) separation
in OS can occur in several ways:
Logical separation – users operate under the illusion that
no other processes exist as when an OS constraints a
program accesses so that it cannot access objects outside its
permited domain.
Cryptographic separation – processes conceal their data
and computations in such a way that they are unintelligible
outside processes.
7
SECURITY METHODS OF
OPERATING SYSTEMS
Besides separation, OS may offer protection at any of several levels:
Share via access limitation – the OS checks the allowability of
but the use made of that object after it has been accessed. For
example : a user may have the right to view a sensitive document
but not allow to print a copy of it.
8
Protecting Access to General Objects
10
Protecting Access to General Objects
Directory
Each user has a file directory which lists all
11
Protecting Access to General Objects
Access Control List
This differs from the directory list because there is
significant advantages.
For example if subjects A and S both have access to
12
Access Control List - ACL
X Y Z
An access list which specifies for
each object, the list of valid A: r A: w A: r
subjects which can access it. B: r A: x
E.g. For objects X, Y and Z with B: x B: r
subjects A, B and C C: r
C: x
X : A (read), B (read, execute)
Y : A (write) Each column is stored with the
Z : A (read, execute), B (read), C object corresponding to that
(read, execute) column
13
Protecting Access to General Objects
Access Control Matrix
It is a table in which each row represents a subject,
rights to an object.
One way to make an unforgeable ticket is not to give
15
..Capabilities
16
PROTECTING MEMORY &
ADDRESSING
The most obvious problem of multiprogramming is
preventing one program from affecting the memory
of other programs.
There are several ways to protect memory and
addressing :
Fence
Relocation
Base and Bound Registers
Tagged Architecture
Segmentation
Paging
17
PROTECTING MEMORY &
ADDRESSING
Fence
Is a method to confine users to one side of the boundary.
amount of space was reserved for the OS – and if less than that
amount of space was required, the excess space was wasted
and the OS could not grow beyond the fence boundary.
Another alternative is to implement the fence register.
18
PROTECTING MEMORY &
ADDRESSING
Fence Register
Contained the address of the end of the OS.
19
PROTECTING MEMORY &
ADDRESSING
Relocation
Is the process of taking a program written as if it
20
PROTECTING MEMORY &
ADDRESSING
Base and Bound Registers
The concept is similar to fence register but have
address limit.
In this way, a program’s addresses are neatly
21
PROTECTING MEMORY &
ADDRESSING
Tagged Architecture
Error in coding is bound to happen and this
separate pieces.
Each segment has a unique name.
24
Designing Trusted Operating System
25
Designing Trusted Operating System
Secure versus Trusted
Secure Trusted
Either-or concept Graded – there are degree of
“trustedness”
Property of presenter Property of receiver
characteristics analysis
Absolute: not qualified as to Relative: viewed in context of
28
Military Security Policies
(MSP)
MSP is based on protecting classified information
Five Levels-
1-unclassified
2-restricted
3-confidential
4-secret
5-top secret
29
Classified information may be associated with one
or more projects called compartment
The combination of rank and compartment is
called the class or classification of a piece of
information
Clearance - a person is trusted to access certain
information up to a level of sensitivity called
dominance
30
A subject can read an object only if
31
Military Security Policy
3 Levels of Abstraction:-
i) Objects- lowest levels are elementary objects example:-files
each file contains information concerning only one group
company
ii) Company group- all object concerning each company are
grouped together
iii) Conflict classes- at the highest level, all groups of objective
for competing companies are clustered.
Each object thus belonging to a unique company group,and
each company group contained in a unique conflict class
33
A conflict class may contain one or more
company group
34
Conflict class
MAS Vochele
35
Security Features of Trusted
Operating Systems
The features of trusted operating systems include:
User identification: Trusted OS requires identification of
individuals and each individual must be uniquely identified.
Mandatory access control: access control policy decisions
are made beyond the control of the individual owner of an
object – a central authority determines what information is
to be accessible by whom and the user cannot change the
access rights.
Discretionary access control: the owner can determine who
should have access rights to an object and what those rights
should be.
36
Security Features of Trusted
Operating Systems
The features of trusted operating systems
include:
Object reuse protection: to prevent object reuse
leakage, OS clear (overwrite) all space to be
reassigned.
Complete mediation: all accesses are checked.
Trusted path: for critical operations such as setting
a password or changing access permission – users
would required communication through a trusted
path.
37
Security Features of Trusted
Operating Systems
The features of trusted operating systems
include:
Accountability and audit: maintaining a log of
security-relevant events that have occurred, listing
each event and the person responsible.
Intrusion detection system: software builds usage
patterns of the normal system and triggers an
alarm anytime the usage is abnormal.
38
Hardening Your OS
Operating System Hardening
Hardening of operating systems is the first step towards safeguarding
systems from intrusion. Workstations and servers typically arrive from the
vendor, installed with a multitude of development tools and utilities,
which, although beneficial to the new user, also provide potential back-
door access to an organisation's systems.
39
Database Security
40
Introduction
Database is a collection of data and set of rules that
organize the data by specifying certain relationships
among data.
Through these rules, the user describes a logical
format for the data.
The user interacts with the data base through a
program called a database manager or database
management system (DBMS) informally known as a
front end.
41
Introduction
Advantages of Using Databases
Shared Access – so that many users can use one common,
43
Security Requirements
Element integrity – so that the data contained
in each element is accurate.
Auditability – to be able to track who has
accessed (or modified) the elements in the
database.
Access control – so that a user is allowed to
access only authorized data and so that
different users can be restricted to different
modes of access (such as read or write).
44
Security Requirements
User authentication – to ensure that every user
is positively identifed, both for the audit trail
and for permission to access certain data.
Availability – meaning that users can access
the database in general and all the data for
which they are authorized.
45
Sensitive Data
Sensitive data is data that should not made
public.
Determining which data items are sensitive
depends on the individual database and the
underlying meaning of the data.
Example: Library Public Catalog (no sensitive
data) Military and Defense Databases (all
sensitive data), a university Databases (some
but not all sensitive).
46
Types of Disclosure
Exact Data – the most serious disclosure is the exact
value of the sensitive data itself.
Bounds – indicating that a sensitive value (y) is
between values L and H.
Negative result – Sometimes one can word a query to
determine a negative results (z is not the value of y).
Existence – the existence of data itself a sensitive
piece of data regardless of the actual value.
Probable value – it may be possible to determine the
probability that a certain element has a certain value.
47
Proposals for Secure Multilevel
Databases
Partitioning
The database is divided into separate
48
Proposals for Secure Multilevel
Databases
Encryption
If sensitive data is encrypted, a user who
49