DocumentCode
724730
Title
The Correctness-Security Gap in Compiler Optimization
Author
D´Silva, Vijay ; Payer, Mathias ; Song, Dawn
Author_Institution
Google Inc., San Francisco, CA, USA
fYear
2015
fDate
21-22 May 2015
Firstpage
73
Lastpage
87
Abstract
There is a significant body of work devoted to testing, verifying, and certifying the correctness of optimizing compilers. The focus of such work is to determine if source code and optimized code have the same functional semantics. In this paper, we introduce the correctness-security gap, which arises when a compiler optimization preserves the functionality of but violates a security guarantee made by source code. We show with concrete code examples that several standard optimizations, which have been formally proved correct, in-habit this correctness-security gap. We analyze this gap and conclude that it arises due to techniques that model the state of the program but not the state of the underlying machine. We propose a broad research programme whose goal is to identify, understand, and mitigate the impact of security errors introduced by compiler optimizations. Our proposal includes research in testing, program analysis, theorem proving, and the development of new, accurate machine models for reasoning about the impact of compiler optimizations on security.
Keywords
optimising compilers; program diagnostics; program testing; reasoning about programs; security of data; theorem proving; compiler optimization; correctness certification; correctness testing; correctness verification; correctness-security gap; functional semantics; machine model; optimized code; optimizing compiler; program analysis; program state; program testing; reasoning; security error; security guarantee; source code; theorem proving; Cryptography; Optimization; Optimizing compilers; Semantics; Standards; Syntactics; compiler optimization; formal correctness; security;
fLanguage
English
Publisher
ieee
Conference_Titel
Security and Privacy Workshops (SPW), 2015 IEEE
Conference_Location
San Jose, CA
Type
conf
DOI
10.1109/SPW.2015.33
Filename
7163211
Link To Document