Litcius/Paper detail

KLEESpectre

Guanhua Wang, Sudipta Chattopadhyay, Arnab Kumar Biswas, Tulika Mitra, Abhik Roychoudhury

2020ACM Transactions on Software Engineering and Methodology29 citationsDOI

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 KLEE SPECTRE , 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 KLEE SPECTRE can effectively detect data leakage along speculatively executed paths and our cache model can make the leakage detection more precise.

Topics & Concepts

Computer scienceCacheSymbolic executionParallel computingCache invalidationCache algorithmsOperating systemSoftwareEmbedded systemCPU cacheSecurity and Verification in ComputingAdvanced Malware Detection TechniquesNetwork Security and Intrusion Detection
KLEESpectre | Litcius