Skip to main content

SpecSafe: Detecting cache side channels in a speculative world

Publication ,  Journal Article
Brotzman, R; Zhang, D; Kandemir, MT; Tan, G
Published in: Proceedings of the ACM on Programming Languages
October 1, 2021

The high-profile Spectre attack and its variants have revealed that speculative execution may leave secret-dependent footprints in the cache, allowing an attacker to learn confidential data. However, existing static side-channel detectors either ignore speculative execution, leading to false negatives, or lack a precise cache model, leading to false positives. In this paper, somewhat surprisingly, we show that it is challenging to develop a speculation-aware static analysis with precise cache models: a combination of existing works does not necessarily catch all cache side channels. Motivated by this observation, we present a new semantic definition of security against cache-based side-channel attacks, called Speculative-Aware noninterference (SANI), which is applicable to a variety of attacks and cache models. We also develop SpecSafe to detect the violations of SANI. Unlike other speculation-aware symbolic executors, SpecSafe employs a novel program transformation so that SANI can be soundly checked by speculation-unaware side-channel detectors. SpecSafe is shown to be both scalable and accurate on a set of moderately sized benchmarks, including commonly used cryptography libraries.

Duke Scholars

Published In

Proceedings of the ACM on Programming Languages

DOI

EISSN

2475-1421

Publication Date

October 1, 2021

Volume

5

Issue

OOPSLA

Related Subject Headings

  • 4903 Numerical and computational mathematics
  • 4613 Theory of computation
  • 4612 Software engineering
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Brotzman, R., Zhang, D., Kandemir, M. T., & Tan, G. (2021). SpecSafe: Detecting cache side channels in a speculative world. Proceedings of the ACM on Programming Languages, 5(OOPSLA). https://doi.org/10.1145/3485506
Brotzman, R., D. Zhang, M. T. Kandemir, and G. Tan. “SpecSafe: Detecting cache side channels in a speculative world.” Proceedings of the ACM on Programming Languages 5, no. OOPSLA (October 1, 2021). https://doi.org/10.1145/3485506.
Brotzman R, Zhang D, Kandemir MT, Tan G. SpecSafe: Detecting cache side channels in a speculative world. Proceedings of the ACM on Programming Languages. 2021 Oct 1;5(OOPSLA).
Brotzman, R., et al. “SpecSafe: Detecting cache side channels in a speculative world.” Proceedings of the ACM on Programming Languages, vol. 5, no. OOPSLA, Oct. 2021. Scopus, doi:10.1145/3485506.
Brotzman R, Zhang D, Kandemir MT, Tan G. SpecSafe: Detecting cache side channels in a speculative world. Proceedings of the ACM on Programming Languages. 2021 Oct 1;5(OOPSLA).

Published In

Proceedings of the ACM on Programming Languages

DOI

EISSN

2475-1421

Publication Date

October 1, 2021

Volume

5

Issue

OOPSLA

Related Subject Headings

  • 4903 Numerical and computational mathematics
  • 4613 Theory of computation
  • 4612 Software engineering