Skip to main content

CheckMate: Automated Synthesis of Hardware Exploits and Security Litmus Tests

Author(s): Trippel, Caroline; Lustig, Daniel; Martonosi, Margaret

Download
To refer to this page use: http://arks.princeton.edu/ark:/88435/pr11j9v
Abstract: Recent research has uncovered a broad class of security vulnerabilities in which confidential data is leaked through programmer-observable microarchitectural state. In this paper, we present CheckMate, a rigorous approach and automated tool for determining if a microarchitecture is susceptible to specified classes of security exploits, and for synthesizing proof-of-concept exploit code when it is. Our approach adopts "microarchitecturally happens-before" (μhb) graphs which prior work designed to capture the subtle orderings and interleavings of hardware execution events when programs run on a microarchitecture. CheckMate extends μhb graphs to facilitate modeling of security exploit scenarios and hardware execution patterns indicative of classes of exploits. Furthermore, it leverages relational model finding techniques to enable automated exploit program synthesis from microarchitecture and exploit pattern specifications. As a case study, we use CheckMate to evaluate the susceptibility of a speculative out-of-order processor to Flush+Reload cache side-channel attacks. The automatically synthesized results are programs representative of Meltdown and Spectre attacks. We then evaluate the same processor on its susceptibility to a different timing side-channel attack: Prime+Probe. Here, CheckMate synthesized new exploits that are similar to Meltdown and Spectre in that they leverage speculative execution, but unique in that they exploit distinct microarchitectural behaviors-speculative cache line invalidations rather than speculative cache pollution-to form a side-channel. Most importantly, our results validate the CheckMate approach to formal hardware security verification and the ability of the CheckMate tool to detect real-world vulnerabilities.
Publication Date: 2018
Citation: Trippel, Caroline, Daniel Lustig, and Margaret Martonosi. "CheckMate: Automated Synthesis of Hardware Exploits and Security Litmus Tests." 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO) (2018): pp. 947-960. doi:10.1109/MICRO.2018.00081
DOI: 10.1109/MICRO.2018.00081
Pages: 947 - 960
Type of Material: Conference Article
Journal/Proceeding Title: 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO)
Version: Author's manuscript



Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.