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 条
[31]   Cache Games - Bringing Access-Based Cache Attacks on AES to Practice [J].
Gullasch, David ;
Bangerter, Endre ;
Krenn, Stephan .
2011 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP 2011), 2011, :490-505
[32]   Adversarial Symbolic Execution for Detecting Concurrency-Related Cache Timing Leaks [J].
Guo, Shengjian ;
Wu, Meng ;
Wang, Chao .
ESEC/FSE'18: PROCEEDINGS OF THE 2018 26TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, 2018, :377-388
[33]   Assertion Guided Symbolic Execution of Multithreaded Programs [J].
Guo, Shengjian ;
Kusano, Markus ;
Wang, Chao ;
Yang, Zijiang ;
Gupta, Aarti .
2015 10TH JOINT MEETING OF THE EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND THE ACM SIGSOFT SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE 2015) PROCEEDINGS, 2015, :854-865
[34]   Practical Timing Side Channel Attacks Against Kernel Space ASLR [J].
Hund, Ralf ;
Willems, Carsten ;
Holz, Thorsten .
2013 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP), 2013, :191-205
[35]   SYMBOLIC EXECUTION AND PROGRAM TESTING [J].
KING, JC .
COMMUNICATIONS OF THE ACM, 1976, 19 (07) :385-394
[36]   Spectre Attacks: Exploiting Speculative Execution [J].
Kocher, Paul ;
Horn, Jann ;
Fogh, Anders ;
Genkin, Daniel ;
Gruss, Daniel ;
Haas, Werner ;
Hamburg, Mike ;
Lipp, Moritz ;
Mangard, Stefan ;
Prescher, Thomas ;
Schwarz, Michael ;
Yarom, Yuval .
2019 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP 2019), 2019, :1-19
[37]  
Lattner C, 2004, INT SYM CODE GENER, P75, DOI 10.1109/CGO.2004.1281665
[38]  
Li T, 2005, USENIX ASSOCIATION PROCEEDINGS OF THE GENERAL TRACK: 2005 UNENIX ANNUAL TECHNICAL CONFERENCE, P31
[39]   Modeling control speculation for timing analysis [J].
Li, XF ;
Mitra, T ;
Roychoudhury, A .
REAL-TIME SYSTEMS, 2005, 29 (01) :27-58
[40]   Accurate timing analysis by modeling caches, speculation and their interaction. [J].
Li, XF ;
Mitra, T ;
Roychoudhury, A .
40TH DESIGN AUTOMATION CONFERENCE, PROCEEDINGS 2003, 2003, :466-471