• 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