DocumentCode
509994
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
fYear
2009
fDate
12-16 Dec. 2009
Firstpage
493
Lastpage
504
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Microarchitecture, 2009. MICRO-42. 42nd Annual IEEE/ACM International Symposium on
Conference_Location
New York, NY
ISSN
1072-4451
Print_ISBN
978-1-60558-798-1
Type
conf
Filename
5375444
Link To Document