KLEESpectre: detecting information leakage through speculative cache attacks via symbolic execution

Research output: Contribution to journalArticlepeer-review

34 Citations (Scopus)

Abstract

Spectre-style attacks disclosed in early 2018 expose data leakage scenarios via cache side channels. Specifically, speculatively executed paths due to branch mis-prediction may bring secret data into the cache, which are then exposed via cache side channels even after the speculative execution is squashed. Symbolic execution is a well-known test generation method to cover program paths at the level of the application software. In this article, we extend symbolic execution with modeling of cache and speculative execution. Our tool KLEESPECTRE, built on top of the KLEE symbolic execution engine, can thus provide a testing engine to check for data leakage through the cache side channel as shown via Spectre attacks. Our symbolic cache model can verify whether the sensitive data leakage due to speculative execution can be observed by an attacker at a given program point. Our experiments show that KLEESPECTRE can effectively detect data leakage along speculatively executed paths and our cache model can make the leakage detection more precise.

Original languageEnglish
Article number14
Pages (from-to)1-31
JournalACM Transactions on Software Engineering and Methodology
Volume29
Issue number3
Early online date01 Jun 2020
DOIs
Publication statusPublished - 09 Jul 2020
Externally publishedYes

Bibliographical note

Funding Information:
Joint first author. This research is supported by the National Research Foundation, Prime Minister’s Office, Singapore, under its National Cybersecurity R&D Program (Award No. NRF2014NCR-NCR001-21) and administered by the National Cybersecurity R&D Directorate. Authors’ addresses: G. Wang, T. Mitra, A. Roychoudhury and A. K. Biswas, School of Computing, National University of Singapore, COM1, 13 Computing Drive, 117417, Singapore; emails: {guanhua, tulika, abhik}@comp.nus.edu.sg, [email protected]; S. Chattopadhyay, Information Systems Technology and Design (ISTD), Singapore University of Technology and Design, Singapore; email: [email protected].

Keywords

  • cache side channel
  • software security
  • Spectre attacks
  • symbolic execution

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'KLEESpectre: detecting information leakage through speculative cache attacks via symbolic execution'. Together they form a unique fingerprint.

Cite this