Verified Detection and Recovery for Hardware-Based Exploits"

Verified Detection and Recovery for Hardware-Based Exploits"

University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science 3-2015 MAGICCARPET: Verified Detection and Recovery for Hardware- based Exploits Cynthia Sturton Matthew Hicks Samuel T. King Jonathan M. Smith University of Pennsylvania, [email protected] Follow this and additional works at: https://repository.upenn.edu/cis_reports Part of the Computer Engineering Commons, and the Computer Sciences Commons Recommended Citation Cynthia Sturton, Matthew Hicks, Samuel T. King, and Jonathan M. Smith, "MAGICCARPET: Verified Detection and Recovery for Hardware-based Exploits", . March 2015. MS-CIS-15-04 This paper is posted at ScholarlyCommons. https://repository.upenn.edu/cis_reports/1014 For more information, please contact [email protected]. MAGICCARPET: Verified Detection and Recovery for Hardware-based Exploits Abstract Abstract—MAGICCARPET is a new approach to defending systems against exploitable processor bugs. MAGICCARPET uses hardware to detect violations of invariants involving security-critical processor state and uses firmware to correctly push software’s state past the violations. The invariants are specified at run time. MAGICCARPET focuses on dynamically validating updates to security-critical processor state. In this work, (1) we generate correctness proofs for both MAGICCARPET hardware and firmware; (2) we prove that processor state and events never violate our security invariants at runtime; and (3) we show that MAGICCARPET copes with hardware-based exploits discovered post-fabrication using a combination of verified econfigurr ations of invariants in the fabric and verified ecor veries via reprogrammable software. We implement MAGICCARPET inside a popular open source processor on an FPGA platform. We evaluate MAGICCARPET using a diverse set of hardware-based attacks based on escaped and exploitable commercial processor bugs. MAGICCARPET is able to detect and recover from all tested attacks with no software run-time overhead in the attack-free case. Disciplines Computer Engineering | Computer Sciences Comments MS-CIS-15-04 This technical report is available at ScholarlyCommons: https://repository.upenn.edu/cis_reports/1014 Technical Report - 2015 MAGICCARPET: Verified Detection and Recovery for Hardware-based Exploits Cynthia Sturton and Matthew Hicks and Samuel T. King and Jonathan M. Smith Abstract—MAGICCARPET is a new approach to defend- processor family [5] contains information on 129 known ing systems against exploitable processor bugs. MAGIC- bugs. CARPET uses hardware to detect violations of invari- To protect software from exploitable processor bugs ants involving security-critical processor state and uses firmware to correctly push software’s state past the viola- left behind by conventional, design time verification we tions. The invariants are specified at run time. propose a reconfigurable run-time verification system MAGICCARPET focuses on dynamically validating up- named MAGICCARPET.MAGICCARPET is a new and dates to security-critical processor state. In this work, (1) effective approach to verifying security properties in we generate correctness proofs for both MAGICCARPET hardware. Instead of verifying that a property holds hardware and firmware; (2) we prove that processor state for all executions, MAGICCARPET introduces a monitor and events never violate our security invariants at run- that detects when the current execution violates the time; and (3) we show that MAGICCARPET copes with property. The monitor is small, simple, and most im- hardware-based exploits discovered post-fabrication using portant, verifiable. Property violations trigger a switch a combination of verified reconfigurations of invariants of execution to our small, verified simulator to allow in the fabric and verified recoveries via reprogrammable the processor to make forward progress securely. software. We implement MAGICCARPET inside a popular open A sketch of the verification approach is to build a source processor on an FPGA platform. We evaluate provably correct reference monitor and prove that for all MAGICCARPET using a diverse set of hardware-based possible traces of execution a violation of the security attacks based on escaped and exploitable commercial property of interest will be detected, independent of how processor bugs. MAGICCARPET is able to detect and the violation occurs or what the root cause is; that is, recover from all tested attacks with no software run-time any trace violating the property will be detected at the overhead in the attack-free case. point of violation. Significantly, MAGICCARPET also demonstrates a provably correct way to make forward I. INTRODUCTION progress once a violation is detected. Secure systems exactly meet expectations. Software sys- The benefits of this approach are: (1) we can make tems, even those intended to be fault-tolerant or secure, guarantees that a security-critical property will not be trust in hardware to provide certain security properties. violated, (2) we can precisely state what guarantees are In an ideal world we might prove that a processor achieved, and (3) the verification task becomes feasible. satisfies all of these properties for all possible traces of execution. An example property that we expand on The drawback of this approach is that it can not in the paper is privilege escalation will not occur. In promise that there is no exploitable logic in the pro- the real world, while such a proof is critical, it remains cessor, but can promise that any security consequences infeasible. Current approaches to verifying hardware are limited by the properties being monitored. include: The paper presents five contributions: (1) Full functional verification: the processor imple- • MAGICCARPET, the first configurable defense mentation is formally verified against its specification. strategy against exploitable processor defects Formal verification of hardware is a mature field and • An hardware implementation of MAGICCARPET hardware companies perform extensive verification of and an evaluation that shows MAGICCARPET’s hardware modules [14], [56], [45]. However, complete effectiveness against escaped exploitable bugs from verification of a modern processor remains intractable. commercial processors Statically verifying that, for example, hardware privilege • Automated, formal verification of the invariant escalation will never occur is beyond the reach of the monitor hardware state of the art in formal verification. • Automated, formal verification of the recovery (2) Testing: extensive test suites are run against the firmware processor. Today, bugs in the hardware that leave it • Automated monitor generation and validation to vulnerable [3], [64], [65] still elude such tests. For reduce the threat of misconfigurations example, the errata document for Intel’s Core 2 Duo Software focuses on the core of the processor, so errors that can Recovery affect the fetch phase of the recovery firmware are out of scope; thus we trust that the simulator correctly fetches the software-level instruction. ISA state Assertion violated ISA state ISA ISA Assertions Software state state Stack Assertions Exception exception return to software Recovery (a) (b) (c) (d) Firmware entry exit design time run time fetch recode and and Figure 1: Processor design flow with MAGICCARPET: (a) Hardware description decode execute language implementation of the instruction set, with unintentional bugs. (b) Time Malicious designer adds intentional errors to the processor. (c) MAGICCARPET is added to the design as the last action [62], with taps directly on the outputs of Figure 2: Recovery in MAGICCARPET: A property violation invokes the recov- ISA state storing elements. (d) MAGICCARPET dynamically verifies properties ery firmware. Recovery is a repeated process of fetching an instruction from encoded into the fabric, triggering the recovery firmware in the event of a software, decoding it, recoding it, and then executing the recoded instruction violation. stream. The recovery firmware returns control back to software when it reroutes execution around the exploitable defect. The green/light portions of the recovery HREAT MODEL firmware’s execution are formally verified, while the red/dark portions are not. II. T The fabric monitors the firmware’s execution. A. Lifecycle assumptions Referring to Figure1, we assume we are the last ones to touch the processor design, our reference monitor D. Attacker model (see SectionIV) is inserted into the design and it is The attacker is free to take any actions not precluded not tampered with. The trusted computing base for by our assumptions, either in hardware or in software. MAGICCARPET includes the specification and verifica- This includes an attacker capable of creating and/or tion process and tools, the fabric configuration, and the exploiting a hardware defect to overcome software hardware tools. protections, such as access controls. An example would B. Architectural assumptions be a defect that causes the processor to return from an We assume that the ISA specification is correct [21], as a exception without restoring the privilege level. basis for trust is needed by MAGICCARPET. We assume Note that exploitable processor bugs are both uninten- that any hardware modifications or errors exhibit their tional [24] and intentional [30], [36]. Our threat model effects at the ISA level to enable runtime exploitation includes both sources and our approach is oblivious to by the attacker, since the ISA is the processor’s interface intent as MAGICCARPET

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    20 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