Outline for April 21, 2005
-
Policy
-
Policy languages: high level, low level
-
Bell-LaPadula Model (security classifications only)
-
Go through security clearance, classification
-
Describe simple security condition (no reads up), *-property (no writes down), discretionary security property
-
State Basic Security Theorem: if it's secure and transformations follow these rules, it's still secure
-
Bell-LaPadula Model (security levels)
-
Go through security clearance, categories, levels
-
Lattice models
-
Poset, ≤ the relation
-
Reflexive, antisymmetric, transitive
-
Greatest lower bound, least upper bound
-
Example with complex numbers
-
Bell-LaPadula Model
-
Apply lattice work
-
Set of classes SC is a partially ordered set under relation ≤ with GLB (greatest lower bound), LUB (least upper bound) operators
-
Note: is reflexive, transitive, antisymmetric
-
Examples: (A, C) ≤ (A´, C´) iff A ≤ A´ and C ⊆ C´;
LUB((A, C), (A´, C´)) = (max(A, A´), C ∪ C´), GLB((A, C), (A´, C´)) = (min(A, A´), C ∩ C´)
-
Describe simple security condition (no reads up), *-property (no writes down), discretionary security property
-
State Basic Security Theorem: if it's secure and transformations follow these rules, it's still secure
-
Maximum, current security level
-
Example: DG/UX UNIX
-
Labels and regions
-
Multilevel directories
-
File object labels
-
MAC tuples
-
BLP: formally
-
Elements of system: si subjects, oi objects
-
State space V = B×M×F×H where:
B set of current accesses (i.e., access modes each subject has currently to each object);
M access permission matrix;
F consists of 3 functions: fs is security level associated with each subject, fo security level associated with each object, and fc current security level for each subject
H hierarchy of system objects, functions h: O→P(O) with two properties:
If oi oj, then h(oi) ∩ h(oj) = Ø
There is no set { o1, ..., ok } ⊆ O such that for each i, oi+1 ∈ h(oi) and ok+1 = o1.
-
Set of requests is R
-
Set of decisions is D
-
W ⊆ R×D×V×V is motion from one state to another.
-
System Σ(R, D, W, z0) ⊆ X×Y×Z such that (x, y, z) ∈ Σ(R, D, W, z0) iff (xt, yt, zt, zt-1) ∈ W for each i ∈ T; latter is an action of system
-
Theorem: Σ(R, D, W, z0) satisfies the simple security property for any initial state z0 that satisfies the simple security property iff W satisfies the following conditions for each action (ri, di, (b´, m´, f´, h´), (b, m, f, h)):
-
each (s, o, x) ∈ b´ - b satisfies the simple security condition relative to f´ (i.e., x is not read, or x is read and fs(s) dominates fo(o))
-
if (s, o, x) ∈ b does not satisfy the simple security condition relative to f´, then (s, o, x) ∉ b´
-
Theorem: Σ(R, D, W, z0) satisfies the *-property relative to S´ ⊆ S, for any initial state z0 that satisfies the *-property relative to S´ iff W satisfies the following conditions for each (ri, di, (b´, m´, f´, h´), (b, m, f, h)):
-
for each s ∈ S´, any (s, o, x) ∈ b´ - b satisfies the *-property with respect to f´
-
for each s ∈ S´, if (s, o, x) ∈ b does not satisfy the *-property with respect to f´, then (s, o, x) ∉ b´
-
Theorem: Σ(R, D, W, z0) satisfies the ds-property iff the initial state z0 satisfies the ds-property and W satisfies the following conditions for each action (ri, di, (b´, m´, f´, h´), (b, m, f, h)):
-
if (s, o, x) ∈ b´ - b, then x ∈ m´[s, o];
-
if (s, o, x) ∈ b and x ∈ m´[s, o] then (s, o, x) ∉ b´
-
Basic Security Theorem: A system Σ(R, D, W, z0) is secure iff z0 is a secure state and W satisfies the conditions of the above three theorems for each action.
-
BLP: formally
-
Define ssc-preserving, *-property-preserving, ds-property-preserving
-
Define relation W(ω)
-
Show conditions under which rules are ssc-preserving, *-property-preserving, ds-property-preserving
-
Show when adding a state preserves those properties
-
Example instantiation: get-read for Multics
-
Tranquility
-
Strong tranquility
-
Weak tranquility
-
System Z and the controversy
Here is a PDF version of this document.