CSCI262 Trustedcomputing 1+2
CSCI262 Trustedcomputing 1+2
Multilevel Security
1. Data classification
2. Security clearance
3. Flow of information
4. Categories
5. Partial ordering
6. Military model
7. Bell – La padula
BLP- Data classification model
Each object or subject is assigned to a security
class
Security classes form a strict hierarchy- called
security levels
Example1: the US military classification
scheme
Top secret > Secret > Confidential >
Restricted > Unclassified
Example2: corporate environment
Strategic > Sensitive> Confidential> Public
Security clearance- Security
classification
Clearance (subject) Classification (object)
1. After a background 1. Data is assigned a
investigation classification level
2. A subject is assigned 2. This indicates its level of
a security clearance- sensitivity
3. This indicate how
trustworthy he /she is
Both
relations
are not
true
"VT ", " NY " "VT ", " NY ", " ME"
Both relations are true
"VT ", " ME" "VT ", " NY ", " ME"
Partial ordering
We want to order
(classify) information
according to: label c,d
1. the sensitivity level of
the information c ClearanceLevels
2. The need to know
A security label is used d Categories
1. Security label = (c,d)
2. c is a clearance level
3. d is subset of
information categories
Partial order of the security labels
d1 , c1 d 2 , c2 if : d1 d 2 and c1 c2
Multi-Level Security-
1. No read up: A subject can only read an
object of less or equal security level.
This is referred to in the literature as the
simple security property (ss-
property).
f c Si
level of Si
Current security Classification level of subject
Si
BLP Formal Description
based on current state of system (b, M, f,
H):
(current access set b, access matrix M, level function f,
hierarchy H)
three BLP properties:
ss-property: (Si, Oj, read) has fc(Si) ≥
fo(Oj).
*-property: (Si, Oj, append) has fc(Si) ≤ fo(Oj)
and
(Si, Oj, write) has fc(Si) = fo(Oj)
ds-property: (Si, Oj, Ax) implies Ax M[Si,
Oj]
A BLP secure system
properties
A secure system is characterized by:
1. The current state of the system (b, M, f , H) is secure iff
every element of satisfies the three BLP properties
2. The security state of the system is changed by any operation
that causes a change in any of the four components of the
system (b, M, f , H)
3. A secure system remains secure as long as any state changde
does not violate the 3 prpoerties
BLP give formal theorems
theoretically possible to prove system is secure
in practice usually not possible
BLP Rules
1. get access
2. release access
3. change object level
4. change current level
5. give access permission
6. rescind access permission
7. create an object
8. delete a group of objects
BLP Example
We assume a role-based access control system.
Carla and Dirk are users of the system.
Carla is a student (s) in course c1.
Dirk is a teacher (t) in course c1, but may also
access the system as a student;
Roles:
Carla: (c1-s); one role
and Dirk: (c1-t), (c1-s). Two roles.
Dirk creates F1 as C1-t and Carla creates
F2 as C1-s
F1 c1-t F2c1-s
R A R A
Carla
Dirk (c1-
Dirk creates F1 as C1-t and Carla creates
F2 as C1-s
F1 c1-t F2c1-s
R W R W
Carla n y y y
Dirk (c1- y y y n
Dirk reads f2 and wants to create a new file f3
with comments to carla as feedback- can he
do that in his teacher role?
F1 (cl-t) F2 (cl –s) F3 (cl s)
R W R W R W
Carla (cl n y y y
s)
Dirk reads f2 and wants to create a new file f3
with comments to carla as feedback- can he
do that in his teacher role?
F1 (cl-t) F2 (cl –s) F3 (cl s)
R W R W R W
Carla (cl n y y y
s)
He can do it if
he logs in as a
student.
That is, Biba does not allow reading from lower levels
and writing to upper levels. NO read Down, NO
Write UP
If we let I(u) denote the integrity level of a user u and
I(x) denote the integrity level for an object, x, THEN:
A user u can read an object x only if
I(u) < I(x).
A user u can write (create, edit or append to) an
object x only if
I(x) < I(u).
Biba rules : information can only flow down,
going from higher integrity levels to lower
integrity levels.
Bibal model
Access modes:
a. Modify: to write or update information in an object
b. Observe: to read information in an object
c. Execute: to execute an object
d. Invoke: communication from one object to another
Integrity Rules:
a. Simple integrity: A subject S can modify an object O only if the integrity level
of the subject dominates the integrity level of the object: I(S) ≥ I(O).
b. Integrity confinement: A subject S can read on object O only if the integrity
level of the subject is dominated by the integrity level of the object: I(S) ≤ I(O).
c. Invocation property: A subject S can invoke another subject O only if the
integrity level of the 1st subject dominates the integrity level of the 2nd subject:
I(S1) ≥ I(S2).
Biba Integrity Model
various models dealing with integrity
strict integrity policy:
a. simple integrity: I(S) ≥ I(O)
b. integrity confinement: I(S) ≤ I(O)
c. invocation property: I(S1) ≥ I(S2)
What may happen without
the of integrity confinement
rule?
A low-integrity process is not
allowed to write into and
contaminate a high-integrity file;
but through some error, the high-
integrity process may receive low-
integrity data and may
Integrity write that
confinement
data into the high-integrity file.
Simple integrity
Invoke rule
Subject S1 can invoke subject S1 only if
I(S1) ≥ I(S2)
Subjects are only allowed to invoke
tools at a lower level
Why?
Otherwise, a dirty subject can use a
clean tool to access a clean tool to
access and contaminate a clean
object.
The Low-Watermark Model
or the dynamic integrity
50
levels of Biba
The low-watermark model is an extension
to the Biba model that relaxes the “no read
down” restriction, but is otherwise similar to
the Biba model.
a. In other words, users with higher
integrity levels can read objects with
lower integrity levels.
b. After such a reading, the user
performing the reading is demoted such
that his integrity level matches that of
the read object.
Low watermark property
1. Subject low watermark property
Subject S can read (observe) an object O at any integrity
level
The new integrity level of the subject is Inf (I(S), I(O))
where I(S), and I(O) are the integrity levels of S
and O before the operation.
2. Object low watermark property
Subject S can modify (alter) an object O at any integrity
level
The new integrity level of the object is Inf (I(S), I(O))
where I(S), and I(O) are the integrity levels of S
and O before the operation.
Low watermark property
1. Examples of policies with dynamically
changing access rights
2. They carry the risk that all subjects and
objects will eventually end up at the
lowest integrity level.
3. Why ?
Clark-Wilson Model
54
Overview of Clark-Wislon
1. Subjects have to be identified and
authenticated
2. Objects can be manipulated only by a
restricted set of programs
3. A proper audit log has to be maintained
4. The system has to be certified to work
properly.
The Clark-Wilson Model-key components
1. Integrity constraints:
Express relationships among objects that must be satisfied for
the system state to be valid.
A classic example of an integrity constraint:
the final balance of a bank account after a withdrawal transaction must
be equal to the initial balance minus the amount withdrawn.
2. Certification methods
Verify that transactions meet given integrity constraints.
Once the program for a transaction is certified, the integrity
constraints do not need to be verified at each execution of the
transaction.
3. Separation of duty rules
Prevent a user that executes transaction from certifying it.
In general, each transaction is assigned disjoint sets of users that can
certify and execute it, respectively. 56
Clark-Wilson Integrity Model
Integrity defined by a set of constraints
Data is in a consistent or valid state when it
satisfies these
Example: Bank
D today’s deposits, W withdrawals, YB yesterday’s
balance, TB today’s balance
Integrity constraint: TB=D + YB –W
Well-formed transactions move system from
one consistent state to another
Issue: who examines, certifies transactions
done correctly?
Two basic concepts
it.
1. Someone must have requested service and
determined the account that would pay for the
service
2. Someone must validate the invoice ( was the service
being billed actually performed?)
3. The account authorized to pay for the service must
be debited,
4. And the check must be written and signed.
What if only one persons performs all these
steps?
Entities
CDIs: constrained data items
Data subject to integrity controls
UDIs: unconstrained data items. Unchecked
data items.
Data not subject to integrity controls
IVPs: integrity verification procedures
Procedures that assure the CDIs conform to the
integrity constraints
TPs: transaction procedures
Procedures that take the system from one valid
state to another, by manipulating CDIs .
Entities- bank accounts
example
CDIs: constrained data items
The balances of the accounts are CDI because they
are cruvial to the integrity of the bank.
UDIs: unconstrained data items
Petty cash may not be subject to the same
procedures as bank accounts
IVPs: integrity verification procedures
Checking that the accounts are balanced are IVP’s
TPs: transaction procedures
Depositing money, withdrawing money,
transferring money between accounts are TP’s.
Clark-Wilson: Access Control
Subjects & objects are ‘labeled’ with programs.
Programs are used as intermediate layer between subjects and
objects.
Access control:
a) define access operations (transformation procedures)
that can be performed on each data item (data types).
b) define the access operations that can be performed by
subjects (roles).
Access Control in
CW- five basic
principles
1. Subjects must be user
identified and
authenticated authentication
2. Objects can be authorization
manipulated only by a
restricted set of
programs TP
3. Subjects can only append must be validated
execute a restricted
set of programs integrity checks,
4. A proper audit log has Log permissions checked UDI
to be maintained CDI
5. The system has to be
certified to work CDIa CDIb
properly
CW: Certification Rules
Five certification rules suggest how one should check that
the security policy is consistent with the application
requirements.
Fundamentally different
CW has no security labels, B-LP does
CW has notion of past accesses, B-LP does not
Bell-LaPadula can capture state at any
time
Each (COI, CD) pair gets security category
Two clearances, S (sanitized) and U
(unsanitized)
S dom U
Subjects assigned clearance for
compartments without multiple
categories corresponding to CDs in same
Computer Security: Art and Science
COI class ©2002-2004 Matt Bishop
June 1, 2004
Compare to Bell-LaPadula
Slide #7-
85