Proceedings of the First ACM Workshop on Moving Target Defense 2014
DOI: 10.1145/2663474.2663485
|View full text |Cite
|
Sign up to set email alerts
|

Software Profiling Options and Their Effects on Security Based Diversification

Abstract: Imparting diversity to binaries by inserting garbage instructions is an e↵ective defense against code-reuse attacks. Relocating and breaking up code gadgets removes an attacker's ability to craft attacks by merely studying the existing code on their own computer. Unfortunately, inserting garbage instructions also slows down program execution. The use of profiling enables optimizations that alleviate much of this overhead, while still maintaining the high level of security needed to deter attacks. These optimiz… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2015
2015
2018
2018

Publication Types

Select...
3
2
1

Relationship

0
6

Authors

Journals

citations
Cited by 6 publications
(3 citation statements)
references
References 28 publications
0
3
0
Order By: Relevance
“…However, it slows down the program execution simultaneously. Murphy et al (2014) proposed the use of software profiling methods to reduce the runtime overhead through optimizations, which were performed by varying the probability for the insertion of a garbage instruction at any particular location in the binary code.…”
Section: Discussionmentioning
confidence: 99%
“…However, it slows down the program execution simultaneously. Murphy et al (2014) proposed the use of software profiling methods to reduce the runtime overhead through optimizations, which were performed by varying the probability for the insertion of a garbage instruction at any particular location in the binary code.…”
Section: Discussionmentioning
confidence: 99%
“…The SCIT rotation approach makes a weaker form of N-Version programming more effective. We recommend a weaker form of N-Version Programming suggested by Murphy et al [6], where software is compiled with multiple compilers and varying compilation flags. The approach can be generalized to varying runtimes as well.…”
Section: ) N-version Programmingmentioning
confidence: 99%
“…They are transformations who result in instruction movement like scalar replacement, loop invariant motion, Common sub-expression elimination and so on, and transformations that result in code redundancy, like inliner, loop unrolling, modulo scheduling [3] and so on. Meanwhile, some fine-grained randomizations [4,5], implemented during the compilation process, such as Atomic Instruction substitution, instruction reordering, register reassignment [6], random NOP insertion and so on, are adopted to defend ROP attacks. However, they are very likely to increase register pressure because they use instruction movement and code redundancy technologies a lot.…”
Section: Introductionmentioning
confidence: 99%