# Homework 4

Due: March 8, 2019
Points: 100

1. (30 points) Revisit the example for x := y + z in Section 17.1.1. Assume that x does not exist in state s. Confirm that information flows from y and z to x by computing H(ys | xt), H(ys), H(zs | xt), and H(zs) and showing that H(ys | xt) < H(ys) and H(zs | xt) < H(zs).
2. (20 points) Let L = (SL, ≤L) be a lattice. Prove that the structure IL = (SIL, ≤IL) is a lattice, where:
1. SIL = { [a, b] | a, bSaL b }
2. IL = { ([a1, b1], [a2, b2]) | a1L a2b1L b2 }
3. lubIL([a1, b1], [a2, b2]) = (lubL(a1, a2), lubL(b1, b2))
4. glbIL([a1, b1], [a2, b2]) = (glbL(a1, a2), glbL(b1, b2))
3. (20 points) Consider the rule of transitive confinement. Suppose a process needs to execute a subprocess in such a way that the child can access exactly two files, one only for reading and one only for writing.
1. Could capabilities be used to implement this? If so, how?
2. Could access control lists be used to implement this? If so, how?
4. (30 points) Consider the systems Louie and Dewey in Section 9.2.4.
1. Suppose the sends and receives for the buffers are non-blocking. Is the composition of Hughie, Dewey, and Louie still noninterference-secure? Justify your answer.
2. Suppose all buffers are unbounded. Is the composition of Hughie, Dewey, and Louie still noninterference-secure? Justify your answer. Matt Bishop Office: 2209 Watershed Science Phone: +1 (530) 752-8060 Email: mabishop@ucdavis.edu