SPECUSYM: Speculative Symbolic Execution for Cache Timing Leak Detection

被引:27
作者
Guo, Shengjian [1 ]
Chen, Yueqi [2 ,5 ]
Li, Peng [1 ]
Cheng, Yueqiang [1 ]
Wang, Huibo [1 ]
Wu, Meng [3 ]
Zuo, Zhiqiang [4 ]
机构
[1] Baidu Secur, Beijing, Peoples R China
[2] Penn State Univ, University Pk, PA 16802 USA
[3] Ant Financial Serv Grp, Hangzhou, Peoples R China
[4] Nanjing Univ, State Key Lab Novel Software Technol, Nanjing, Jiangsu, Peoples R China
[5] Baidu USA, Sunnyvale, CA USA
来源
2020 ACM/IEEE 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2020) | 2020年
基金
美国国家科学基金会;
关键词
Speculative execution; cache; timing; side-channel leak; symbolic execution;
D O I
10.1145/3377811.3380428
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
CPU cache is a limited but crucial storage component in modern processors, whereas the cache timing side-channel may inadvertently leak information through the physically measurable timing variance. Speculative execution, an essential processor optimization, and a source of such variances, can cause severe detriment on deliberate branch mispredictions. Despite static analysis could 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 symbolic execution based method, SPECUSYM, for precisely detecting cache timing leaks introduced by speculative execution. Given a program (leakage-free in non-speculative execution), SPECUSYM systematically explores the program state space, models speculative behavior at conditional branches, and accumulates the cache side effects along with subsequent path explorations. During the dynamic execution, SPECUSYM constructs leak predicates for memory visits according to the specified cache model and conducts a constraint-solving based cache behavior analysis to inspect the new cache behaviors. We have implemented SPECUSYM atop KLEE and evaluated it against 15 open-source benchmarks. Experimental results show that SPECUSYM successfully detected from 2 to 61 leaks in 6 programs under 3 different cache settings and identified false positives in 2 programs reported by recent work.
引用
收藏
页码:1235 / 1247
页数:13
相关论文
共 74 条
[1]  
[Anonymous], 2018, ARXIV180804761
[2]  
[Anonymous], 2014, P 3 INT C PRINC SEC
[3]  
[Anonymous], 2014, P 20 INT C TOOLS ALG
[4]  
[Anonymous], 2017, P 15 ACM IEEE INT C
[5]  
Antonopoulos T, 2017, ACM SIGPLAN NOTICES, V52, P362, DOI [10.1145/3062341.3062378, 10.1145/3140587.3062378]
[6]  
AREANU P AS., 2010, P IEEEACM INT C AUTO, P179, DOI [10.1145/1858996.1859035, DOI 10.1145/1858996.1859035]
[7]   Highly Efficient Algorithms for AES Key Retrieval in Cache Access Attacks [J].
Ashokkumar, C. ;
Giri, Ravi Prakash ;
Menezes, Bernard .
1ST IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY, 2016, :261-275
[8]   Online Synthesis of Adaptive Side-Channel Attacks Based On Noisy Observations [J].
Bang, Lucas ;
Rosner, Nicolas ;
Bultan, Tevfik .
2018 3RD IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P 2018), 2018, :307-322
[9]   String Analysis for Side Channels with Segmented Oracles [J].
Bang, Lucas ;
Aydin, Abdulbaki ;
Phan, Quoc-Sang ;
Pasareanu, Corina S. ;
Bultan, Tevfik .
FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, :193-204
[10]   Testing Cache Side-channel Leakage [J].
Basu, Tiyash ;
Chattopadhyay, Sudipta .
10TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION WORKSHOPS - ICSTW 2017, 2017, :51-60