SpecuSym: Speculative Symbolic Execution for Cache Timing Leak Detection

11/04/2019
by   Shengjian Guo, et al.
0

CPU cache is limited but crucial storage on modern processor whereas the cache timing side-channel could indirectly leak data through the measurable timing variance. Speculative execution, a reason for the variance and a vital optimization in modern CPUs, can engender severe detriment to deliberate branch mispredictions. Though static analysis can qualitatively verify the timing-leakage-free property under speculative execution, it is incapable of producing endorsements including inputs and speculated flows to diagnose leaks in depth. This work proposes a new approach, Speculative symbolic Execution, for precisely validating cache timing leaks introduced by speculative execution. Generally, given a program with sensitive inputs (leakage-free in non-speculative execution), our method systematically explores the program state space. Meanwhile, it models speculative behavior at conditional branches and accumulates the cache side effects along with subsequent execution. Based on the dynamic exploration and a specified cache model, we construct leak conditions for memory accesses and conduct a constraint-solving based cache behavior analysis to generate leak witnesses. We have implemented our method in a tool named SpecuSym on KLEE, and evaluated it against 14 open-source benchmarks. Experiments show that SpecuSym successfully identified leaks in 6 programs on four different caches and eliminated false positives in 2 programs reported by recent work.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/09/2018

Adversarial Symbolic Execution for Detecting Concurrency-Related Cache Timing Leaks

The timing characteristics of cache, a high-speed storage between the fa...
research
07/03/2018

On the Incomparability of Cache Algorithms in Terms of Timing Leakage

Modern computer architectures rely on caches to reduce the latency gap b...
research
05/11/2020

Validation of Abstract Side-Channel Models for Computer Architectures

Observational models make tractable the analysis of information flow pro...
research
01/27/2022

ETAP: Energy-aware Timing Analysis of Intermittent Programs

Energy harvesting battery-free embedded devices rely only on ambient ene...
research
07/12/2018

Symbolic Verification of Cache Side-channel Freedom

Cache timing attacks allow third-party observers to retrieve sensitive i...
research
04/06/2023

GI Software with fewer Data Cache Misses

By their very name caches are often overlooked and yet play a vital role...
research
05/06/2020

Synthesis of Parallel Synchronous Software

In typical embedded applications, the precise execution time of the prog...

Please sign up or login with your details

Forgot password? Click here to reset