DocumentCode :
1902677
Title :
Profile-guided automated software diversity
Author :
Homescu, Andrei ; Neisius, S. ; Larsen, Per ; Brunthaler, Stefan ; Franz, Michael
Author_Institution :
Univ. of California, Irvine, Irvine, CA, USA
fYear :
2013
fDate :
23-27 Feb. 2013
Firstpage :
1
Lastpage :
11
Abstract :
Code-reuse attacks are notoriously hard to defeat, and most current solutions to the problem focus on automated software diversity. This is a promising area of research, as diversity attacks the common denominator enabling code-reuse attacksthe software monoculture. Recent research in this area provides security, but at an unfortunate price: performance overhead. Leveraging previously collected profiling information, compilers can substantially improve subsequent code generation. Traditionally, profile-guided optimization focuses on hot program code, where a program spends most of its execution time. Optimizing rarely executed code does not significantly impact performance, so few optimizations focus on this code. We use profile-guided optimization to reduce the performance overhead of software diversity. The primary insight is that we are free to diversify cold code, but restrict our diversification efforts in hot code. Our work investigates the impact of profiling on an expensive diversification technique: NOP insertion. By differentiating between hot cold and cold code, we optimize NOP insertion overheads from a maximum of 25% down to a negligible 1%, while preserving the security properties of the original defense. Consequently, using our profile-guided diversification technique, even randomization techniques having a high performance overhead become practical.
Keywords :
program compilers; program diagnostics; security of data; software reusability; NOP insertion; automated software diversity; code generation; code-reuse attacks; cold program code; compilers; denominator enabling code-reuse attacks; diversification technique; diversity attacks; execution time; hot program code; profile-guided automated software diversity; profile-guided diversification technique; profile-guided optimization; profiling information; randomization techniques; security properties; software monoculture; Educational institutions; Layout; Optimization; Payloads; Programming; Security; Software; Code; NOP insertion; Profiling, Automated Software Diversity, Compilers, Cold;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Code Generation and Optimization (CGO), 2013 IEEE/ACM International Symposium on
Conference_Location :
Shenzhen
Print_ISBN :
978-1-4673-5524-7
Type :
conf
DOI :
10.1109/CGO.2013.6494997
Filename :
6494997
Link To Document :
بازگشت