Title :
Execution leases: A hardware-supported mechanism for enforcing strong non-interference
Author :
Tiwari, Mohit ; Li, Xun ; Wassel, Hassan M G ; Chong, Frederic T. ; Sherwood, Timothy
Author_Institution :
Dept. of Comput. Sci., Univ. of California, Santa Barbara, CA, USA
Abstract :
High assurance systems such as those found in aircraft controls and the financial industry are often required to handle a mix of tasks where some are niceties (such as the control of media for entertainment, or supporting a remote monitoring interface) while others are absolutely critical (such as the control of safety mechanisms, or maintaining the secrecy of a root key). While special purpose languages, careful code reviews, and automated theorem proving can be used to help mitigate the risk of combining these operations onto a single machine, it is difficult to say if any of these techniques are truly complete because they all assume a simplified model of computation far different from an actual processor implementation both in functionality and timing. In this paper we propose a new method for creating architectures that both (a) makes the complete information-flow properties of the machine fully explicit and available to the programmer and (b) allows those properties to be verified all the way down to the gate-level implementation the design. The core of our contribution is a new call-and-return mechanism, Execution Leases, that allows regions of execution to be tightly quarantined and their side effects to be tightly bounded. Because information can flow through untrusted program counters, stack pointer or other global processor state, these and other states are leased to untrusted environments with an architectural bound on both the time and memory that will be accessible to the untrusted code. We demonstrate through a set of novel micro-architectural modifications that these leases can be enforced precisely enough to form the basis for information-flow bounded function calls, table lookups, and mixed-trust execution. Our novel architecture is a significant improvement in both flexibility and performance over the initial Gate-Level Information Flow Tracking architectures, and we demonstrate the effectiveness of the resulting design through the development of - a new language, compiler, ISA, and synthesizable prototype.
Keywords :
safety-critical software; software architecture; aircraft controls; automated theorem proving; call-and-return mechanism; code reviews; execution leases; financial industry; gate-level information flow tracking architectures; global processor state; hardware-supported mechanism; high assurance systems; information-flow bounded function calls; micro-architectural modifications; mixed-trust execution; processor implementation; special purpose languages; stack pointer; table lookups; untrusted program counters; Aerospace control; Aerospace industry; Air safety; Automatic control; Computational modeling; Control systems; Electrical equipment industry; Industrial control; Remote monitoring; Timing; Covert channels; Gate Level Information Flow Tracking; High assurance systems; Timing channels;
Conference_Titel :
Microarchitecture, 2009. MICRO-42. 42nd Annual IEEE/ACM International Symposium on
Conference_Location :
New York, NY
Print_ISBN :
978-1-60558-798-1