• DocumentCode
    3703979
  • Title

    Loop-Oriented Programming: A New Code Reuse Attack to Bypass Modern Defenses

  • Author

    Bingchen Lan;Yan Li;Hao Sun;Chao Su;Yao Liu;Qingkai Zeng

  • Author_Institution
    Dept. of Comput. Sci. &
  • Volume
    1
  • fYear
    2015
  • Firstpage
    190
  • Lastpage
    197
  • Abstract
    Code reuse attacks have become one of the most popular exploitation techniques, and coarse-grained control flow integrity (CFI) is a practical approach used to prevent such attacks. Recently, some new approaches have been proposed to construct call-preceded-ROP attacks to bypass coarse-grained CFI, however, we find that they still fail to bypass shadow stack, which enforces caller-callee semantics to strengthen CFI that constrains the control flow in a much stricter way. Therefore, in this paper, we propose a new code reuse attack, named loop-oriented programming (LOP), aiming to bypass both coarse-grained CFI and shadow stack. Quite different from previous code reuse attacks, LOP collects entire functions as basic building blocks (i.e., gadgets), and chains these gadgets in a way that the control flows strictly follow the process of call-ret-pairing. Specifically, LOP selects a particular function with a loop statement, called loop gadget, to chain all the available gadgets. To demonstrate the effectiveness of LOP, we construct a proof-of-concept exploit against Internet Explorer 8 on 32-bit x86 platform.
  • Keywords
    "Semantics","Programming","Security","Process control","Internet","Runtime","Libraries"
  • Publisher
    ieee
  • Conference_Titel
    Trustcom/BigDataSE/ISPA, 2015 IEEE
  • Type

    conf

  • DOI
    10.1109/Trustcom.2015.374
  • Filename
    7345282