Flexible Hardware-Managed Isolated Execution: Architecture, Software Support and Applications

Flexible Hardware-Managed Isolated Execution: Architecture, Software Support and Applications

This is the author's version of an article that has been published in this journal. Changes were made to this version by the publisher prior to publication. The final version of record is available at http://dx.doi.org/10.1109/TDSC.2016.2596287 IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING 1 Flexible Hardware-Managed Isolated Execution: Architecture, Software Support and Applications Dmitry Evtyushkin∗, Jesse Elwell∗, Meltem Ozsoyy, Dmitry Ponomarev∗, Nael Abu Ghazalehz, Ryan Rileyx ∗State University of New York at Binghamton, fdevtyushkin,jelwell,[email protected] yIntel Corporation, zUniversity of California at Riverside, xQatar University [email protected], [email protected], [email protected] Abstract—We consider the problem of how to provide an execution environment where the application’s secrets are safe even in the presence of malicious system software layers. We propose Iso-X — a flexible, fine-grained hardware-supported framework that provides isolation for security-critical pieces of an application such that they can execute securely even in the presence of untrusted system software. Isolation in Iso-X is achieved by creating and dynamically managing compartments (isolated software modules) to host critical fragments of code and associated data. Iso-X provides fine-grained isolation at the memory-page level, flexible allocation of memory, and a low-complexity, hardware-only trusted computing base. Iso-X requires minimal additional hardware, a small number of new ISA instructions to manage compartments, and minimal changes to the operating system which need not be in the trusted computing base. The run-time performance overhead of Iso-X is negligible and even the overhead of creating and destroying compartments is modest. An FPGA implementation of Iso-X runtime mechanisms shows a negligible impact on the processor cycle time. Index Terms—Security, Hardware security, Isolated execution. F 1 INTRODUCTION ers. Unless security-critical software layers are formally One of the challenges in securing today’s computing verified, it is dangerous to assume that such attacks are systems is how to efficiently protect the critical parts impossible. While the hardware itself can also be buggy, of security-sensitive applications from attacks that are it is much more difficult to exploit bugs in the HDL code launched using untrusted or compromised system soft- than in C/C++ code that is typically used to implement ware layers. Modern operating systems (OS) and virtu- system software. In fact, there are no examples of such ex- alization layers are growing into large and very complex ploitation to the best of our knowledge, aside from some pieces of code. Today’s OS kernels and hypervisors are denial of service attacks [50]. In addition, depending on large pieces of code and it is virtually impossible to design the frequency of using software-based checks, software them without exploitable vulnerabilities [54], [61]. Many solutions can have noticeable performance degradation. recent attacks, exploiting these vulnerabilities, have been On the other hand, hardware solutions often lack flexibil- successfully demonstrated [10], [23], [24], [25], [41], [56], ity, have high granularity of protection, or do not support [75], [82]. full-fledged secure execution environment. This can lead to a number of limitations, such as imposing constraints One approach to providing a secure execution en- on the number and size of protected software compart- vironment in the presence of malicious software layers ments, or restricting their functionality. We provide a uses the concept of isolated execution, where the security- detailed comparison of previous software and hardware critical pieces of application code execute in isolated soft- security schemes, including their limitations, in Section 5. ware modules or compartments [9], [15], [17], [19], [20], [37], [38], [43], [45], [47], [67]. These modules are inaccessible In this paper, we propose Iso-X (Isolated eXecution) to the system software layers and are managed either — a hardware-managed framework for supporting a entirely by the hardware [15], [45], [47], [53] or by a fine-grained, flexible and full-fledged isolated execution special layer of secure software that is sometimes assisted environment. Iso-X relies on simple OS functionality only by hardware [17], [19], [20], [38], [43], [67]. The idea to support flexible allocation of memory, eliminating of supporting secure isolated environments has also re- the restrictions inherent in prior hardware-only isolation ceived considerable attention from industry, exemplified schemes. As a result, Iso-X combines the benefits of hard- by ARM’s Trustzone [6], IBM’s SecureBlue++ [15], Intel’s ware and software-managed designs in terms of security SGX [9], [21], and Amazon’s CloudHSM service [1]. and flexibility. Isolation schemes that limit their trusted computing Iso-X achieves the execution isolation through a series base (TCB) only to hardware are arguably more secure of techniques that center around the use of secure compart- compared to the schemes that include software into the ment page tables to dynamically map and maintain mem- TCB. This is because hardware schemes are not suscep- ory pages for the compartments. The isolation of compart- tible to software attacks (such as a buffer overflows and ments is accomplished with only six required additional subsequent code reuse attack) on the trusted software lay- ISA instructions for compartment management, as well as two optional instructions to support page swapping, Copyright (c) 2016 IEEE. Personal use is permitted. For any other purposes, permission must be obtained from the IEEE by emailing [email protected]. This is the author's version of an article that has been published in this journal. Changes were made to this version by the publisher prior to publication. The final version of record is available at http://dx.doi.org/10.1109/TDSC.2016.2596287 IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING 2 resulting in a simple hardware implementation. While the base (TCB) in the Iso-X system is thus limited to the Iso-X design requires that the application code be written developer-defined security-critical code. Iso-X guarantees in a way that explicitly marks the security-sensitive code strong protection of the compartment’s internal memory to be isolated, the remaining software layers incur min- from any malicious OS or hypervisor activity. Our iso- imal changes. The key advantages of Iso-X compared to lation mechanism does not prevent compartments from Intel’s SGX (the most closely related design to Iso-X) is sending sensitive data to untrusted domains, for example that Iso-X does not limit where in memory the compartment by writing it into unprotected memory. The compartment memory pages can reside. Not only does this provide better code is considered to be responsible for protecting its flexibility in memory usage and performance advantages sensitive data, while the hardware isolation mechanism in memory-constrained situations, but also can protects guarantees sturdiness of the compartment’s perimeter. against recently introduced page-level side-channel at- While Iso-X relies on some basic functionality of the tacks [78] on compartments, as we detail in Section 5. OS, such a reliance does not compromise security. Even if This submission is an extension of the conference pa- an attacker tampers with the OS services that offer this per [32] that appeared in the International Symposium functionality, it can only lead to denial of service, but on Microarchitecture (MICRO), 2014. The contributions never to the leakage of the compartment state. of this submission are the following: We assume that the hardware TCB of Iso-X is limited • We describe the Iso-X security architecture — a only to the microprocessor, memory controller, physical hardware/software co-design that supports the memory (DRAM), and system buses. We assume that all execution of security-critical pieces of applica- hardware in the TCB is implemented correctly and does tion code inside isolated compartments. The Iso- not contain backdoors or bugs. In addition, we assume X system is built around the concept of per- that hardware attacks (such as snooping on the memory compartment page tables, allowing flexible mem- bus or probing the physical memory) are not part of the ory usage and protection against page-level side- threat model. We make this assumption for two reasons. channel attacks on compartments driven by the First, hardware attacks are more difficult to perform than page faults. software attacks. Second, if the proposed architecture is • We present evaluation of an integrated HDL im- deployed in a cloud environment, then it is reasonable to plementation of the runtime mechanisms Iso-X assume that a cloud operator will offer physical security with an OpenRISC processor core [42]. The result- of the system to protect its reputation. This is consistent ing design was synthesized onto an FPGA Altera with the assumptions made by recent works [31], [64], DE0-Nano board. The results show only a 2% [70]. Recently some concerns have been expressed re- increase in the cycle time due to the Iso-X logic. garding the use of isolated execution environments with We also demonstrate that the performance impact physical memory protection for Digital Right Manage- of Iso-X is negligible both in secure and non-secure ment (DRM) and description copy-protected impossible execution mode. to reverse engineer software (including malware) [57]. • We present detailed security analysis of Iso-X. This Therefore, in some cases the absence of physical memory material is contained in Section 4 and is a new protection can be viewed as an advantage. contribution compared to the MICRO 2014 version We note that it is possible to amend Iso-X to consider of the paper. physical memory to be untrusted, by incorporating well- • We overview software support that is needed to known techniques for memory integrity verification and fully implement the working Iso-X system.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    14 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us