Building Secure Systems using Programming Languages and Analysis

LIO questions

Please answer any 2 questions from the following list. We will discuss all of them in class.

  1. LIO has a notion of clearance. Why? What is the purpose of clearance at a high level?

  2. How does LIO side-step the implicit flows problem? What’s the downside to the approach?

  3. What is the difference between the termination channel, the internal timing channel, and the external timing channel?

  4. How can hardware features such as the cache be used to re-introduce the internal timing channel?

  5. LIO only mitigates the external timing channel. Can you think of a way to eliminate the channel? And what is the trade-off to your approach?

For some of these you may want to look at the journal version of the sequential LIO system.