• 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