Previous section   Next section

16.9 Exercises

1:

Revisit the example for x := y + z in Section 16.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:

Let L = (SL, L) be a lattice. Prove that the structure IL = (SIL, IL), where each of the following is a lattice.

  1. SIL = { [a, b] | a, b SL a L b }

  2. IL = { ([a1, b1], [a2, b2]) | a1 L a2 b1 L 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:

Prove or disprove that the set P formed by the dual mapping of a reflexive information flow policy (as discussed in Definition 16–5) is a lattice.

4:

Extend the semantics of the information flow security mechanism in Section 16.3.1 for records (structures).

5:

Why can we omit the requirement lub{ i, b[i] } a[i] from the requirements for secure information flow in the example for iterative statements (see Section 16.3.2.4)?

6:

In the flow certification requirement for the goto statement in Section 16.3.2.5, the set of blocks along an execution path from bi to IFD(bi) excludes these endpoints. Why are they excluded?

7:

Prove that Fenton's Data Mark Machine described in Section 16.4.1 would detect the violation of policy in the execution time certification of the copy procedure.

8:

Discuss how the Security Pipeline Interface in Section 16.5.1 can prevent information flows that violate a confidentiality model. (Hint: Think of scanning messages for confidential data and sanitizing or blocking that data.)


  Previous section   Next section
Top