Securing a Compiler Transformation

被引:14
作者
Deng, Chaoqiang [1 ]
Namjoshi, Kedar S. [2 ]
机构
[1] NYU, New York, NY USA
[2] Nokia, Bell Labs, Murray Hill, NJ USA
来源
STATIC ANALYSIS, (SAS 2016) | 2016年 / 9837卷
关键词
D O I
10.1007/978-3-662-53413-7_9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A compiler can be correct and yet be insecure. That is, a compiled program may have the same input-output behavior as the original, and yet leak more information. An example is the commonly applied optimization which removes dead (i.e., useless) stores. It is shown that deciding a posteriori whether a new leak has been introduced as a result of eliminating dead stores is difficult: it is PSPACE-hard for finite-state programs and undecidable in general. In contrast, deciding the correctness of dead store removal is in polynomial time. In response to the hardness result, a sound but approximate polynomial-time algorithm for secure dead store elimination is presented and proved correct. Furthermore, it is shown that for several other compiler transformations, security follows from correctness.
引用
收藏
页码:170 / 188
页数:19
相关论文
共 18 条
[1]  
Abadi M, 1998, LECT NOTES COMPUT SC, V1443, P868, DOI 10.1007/BFb0055109
[2]  
BELL DE, 1973, ESDTR73278 MITRE COR, V1, P61405
[3]  
Ceara Dumitru, 2010, Proceedings of the IEEE Third International Conference on Software Testing Verification and Validation - Workshops (ICSTW 2010), P371, DOI 10.1109/ICSTW.2010.28
[4]   The Correctness-Security Gap in Compiler Optimization [J].
D'Silva, Vijay ;
Payer, Mathias ;
Song, Dawn .
2015 IEEE SECURITY AND PRIVACY WORKSHOPS (SPW), 2015, :73-87
[5]   A Verified Information-Flow Architecture [J].
de Amorim, Arthur Azevedo ;
Collins, Nathan ;
DeHon, Andre ;
Demange, Delphine ;
Hritcu, Catalin ;
Pichardie, David ;
Pierce, Benjamin C. ;
Pollack, Randy ;
Tolmach, Andrew .
ACM SIGPLAN NOTICES, 2014, 49 (01) :165-178
[6]  
Denning D. E., 1975, THESIS
[7]   CERTIFICATION OF PROGRAMS FOR SECURE INFORMATION-FLOW [J].
DENNING, DE ;
DENNING, PJ .
COMMUNICATIONS OF THE ACM, 1977, 20 (07) :504-513
[8]   Fully Abstract Compilation to Java']JavaScript [J].
Fournet, Cedric ;
Swamy, Nikhil ;
Chen, Juan ;
Dagand, Pierre-Evariste ;
Strub, Pierre-Yves ;
Livshits, Benjamin .
ACM SIGPLAN NOTICES, 2013, 48 (01) :371-383
[9]  
Gondi K., 2012, Proceedings of the second ACM conference on Data and Application Security and Privacy, CODASPY '12, P295
[10]  
Howard M., 2002, SCRUBBING SECRETS ME