DocumentCode
11410
Title
Marlin: Mitigating Code Reuse Attacks Using Code Randomization
Author
Gupta, Aditi ; Habibi, Javid ; Kirkpatrick, Michael S. ; Bertino, Elisa
Author_Institution
Dept. of Comput. Sci., Purdue Univ., West Lafayette, IN, USA
Volume
12
Issue
3
fYear
2015
fDate
May-June 1 2015
Firstpage
326
Lastpage
337
Abstract
Code-reuse attacks, such as return-oriented programming (ROP), are a class of buffer overflow attacks that repurpose existing executable code towards malicious purposes. These attacks bypass defenses against code injection attacks by chaining together sequence of instructions, commonly known as gadgets, to execute the desired attack logic. A common feature of these attacks is the reliance on the knowledge of memory layout of the executable code. We propose a fine grained randomization based approach that breaks these assumptions by modifying the layout of the executable code and hinders code-reuse attack. Our solution, Marlin, randomizes the internal structure of the executable code by randomly shuffling the function blocks in the target binary. This denies the attacker the necessary a priori knowledge of instruction addresses for constructing the desired exploit payload. Our approach can be applied to any ELF binary and every execution of this binary uses a different randomization. We have integrated Marlin into the bash shell that randomizes the target executable before launching it. Our work shows that such an approach incurs low overhead and significantly increases the level of security against code-reuse based attacks.
Keywords
security of data; ELF binary; Marlin; attack logic; bash shell; buffer overflow attacks; code injection attacks; code randomization; code reuse attack mitigation; executable code; fine grained randomization based approach; function blocks; gadgets; instruction addresses; memory layout; Computer architecture; Entropy; Geophysical measurement techniques; Ground penetrating radar; Layout; Programming; Software; Return oriented programming; code randomization; malware; security;
fLanguage
English
Journal_Title
Dependable and Secure Computing, IEEE Transactions on
Publisher
ieee
ISSN
1545-5971
Type
jour
DOI
10.1109/TDSC.2014.2345384
Filename
6871340
Link To Document