ECS 289M Lecture 5
April 10, 2006
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 2
Safety Analysis
- Goal: identify types of policies with
tractable safety analyses
- Approach: derive a state in which
ECS 289M Lecture 5 April 10, 2006 Safety Analysis Goal: identify - - PDF document
ECS 289M Lecture 5 April 10, 2006 Safety Analysis Goal: identify types of policies with tractable safety analyses Approach: derive a state in which additional entries, rights do not affect the analysis; then analyze this state
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 2
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 3
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 4
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 5
h(X, Y); or
h(X, X0), linki h(Xn,Y), and for k = 1, …, n,
h(Xk–1, Xk)
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 6
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 7
h(X,Y))
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 8
– State is called * – Ticket in flow*(X,Y) means there exists a sequence of
– Is maximal state unique? – Does every system have one?
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 9
– Note: if g 0 h and h 0 g, then g, h equivalent – Defines set of equivalence classes on set of derivable states
– All maximal states in same equivalence class
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 10
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 11
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 12
– Consider X, Y in SUB0. Flow function’s range is 2TR, so can take at most 2|TR| values. As there are |SUB0|2 pairs of subjects in SUB0, at most 2|TR| |SUB0|2 distinct equivalence classes; so K is finite
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 13
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 14
– So if in history from h to m, subject X creates two entities of type a, in u only one would be created; surrogate for both
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 15
y-surrogate of X); if entity Y SUBg, mark it folded
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 16
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 17
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 18
– (X) creates (Y) in the construction of u – (X) creates entities X of type (X) = ((X))
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 19
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 20
– Delete all creates – “X demands Y/r:c” becomes “(X) demands (Y)/r:c” – “Y copies X /r:c from Y” becomes “(Y) copies (X)/r:c from (Y)”
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 21
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 22
– X/r:c dom0(Y) means X, Y ENT0, so trivially (X)/r:c domg((Y)) holds – A create added X/r:c domh(Y): previous lemma says (X)/r:c domg((Y)) holds – A demand added X/r:c domh(Y): corresponding demand
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 23
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 24
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 25
h(Y, Z)
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 26
h(X, Y), then linki g((X), (Y))
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 27
(X,Y SUBh)[flowh(X, Y) flowg((X), (Y))]
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 28
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 29
h(X, Y), hence linki g((X),
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 30
h(Z, Y).
g((Z), (Y))
April 10, 2006 ECS 289M, Foundations of Computer and Information Security Slide 31
– Deriving history has no creates – By theorem,
(X,Y SUBh)[flowh(X, Y) flow#u((X), (Y))] – If X SUB0, (X) = X, so: (X,Y SUB0)[flowh(X, Y) flow#u(X, Y)]
scheme
– #u derivable from u in time polynomial to |SUBu| – Worst case computation for flow#u is exponential in |TS|