Adversarial Symbolic Execution for Detecting Concurrency-Related Cache Timing Leaks

被引:31
作者
Guo, Shengjian [1 ]
Wu, Meng [1 ]
Wang, Chao [2 ]
机构
[1] Virginia Tech, Blacksburg, VA 24061 USA
[2] Univ Southern Calif, Los Angeles, CA USA
来源
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年
基金
美国国家科学基金会;
关键词
Side-channel attack; concurrency; cache; timing; symbolic execution; PARTIAL-ORDER REDUCTION; PROGRAMS;
D O I
10.1145/3236024.3236028
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The timing characteristics of cache, a high-speed storage between the fast CPU and the slow memory, may reveal sensitive information of a program, thus allowing an adversary to conduct side-channel attacks. Existing methods for detecting timing leaks either ignore cache all together or focus only on passive leaks generated by the program itself, without considering leaks that are made possible by concurrently running some other threads. In this work, we show that timing-leak-freedom is not a compositional property: a program that is not leaky when running alone may become leaky when interleaved with other threads. Thus, we develop a new method, named adversarial symbolic execution, to detect such leaks. It systematically explores both the feasible program paths and their interleavings while modeling the cache, and leverages an SMT solver to decide if there are timing leaks. We have implemented our method in LLVM and evaluated it on a set of real-world ciphers with 14,455 lines of C code in total. Our experiments demonstrate both the efficiency of our method and its effectiveness in detecting side-channel leaks.
引用
收藏
页码:377 / 388
页数:12
相关论文
共 63 条
[1]  
Agosta G, 2012, DES AUT CON, P77
[2]  
[Anonymous], 2014, IEEE ACM INT C AUT S, DOI DOI 10.1145/2642937.2642998
[3]  
[Anonymous], IEEE ACM INT C AUT S
[4]  
[Anonymous], ACM IEEE DES AUT C
[5]  
[Anonymous], INT S SOFTW TEST AN
[6]  
[Anonymous], 2018, INT C COMP AID VER
[7]  
[Anonymous], 2016, P IEEE S REAL TIM EM
[8]  
[Anonymous], ACM SIGSOFT S FDN SO
[9]  
[Anonymous], 2015, IACR CRYPTOL EPRINT, DOI DOI 10.1007/S13389-018-0193-X
[10]  
[Anonymous], 2001, LNCS, DOI DOI 10.1007/3-540-45418-7