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

被引:9
|
作者
Lan, Bingchen [1 ]
Li, Yan [1 ]
Sun, Hao [1 ]
Su, Chao [1 ]
Liu, Yao [1 ]
Zeng, Qingkai [1 ]
机构
[1] Nanjing Univ, State Key Lab Novel Software Technol, Dept Comp Sci & Technol, Nanjing 210023, Jiangsu, Peoples R China
关键词
Code Reuse Attack; Control Flow Integrity; Call-Ret-Pairing; Loop-Oriented Programming;
D O I
10.1109/Trustcom.2015.374
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
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.
引用
收藏
页码:190 / 197
页数:8
相关论文
共 12 条
  • [1] Function-Oriented Programming: A New Class of Code Reuse Attack in C Applications
    Guo, Yingjie
    Chen, Liwei
    Shi, Gang
    2018 IEEE CONFERENCE ON COMMUNICATIONS AND NETWORK SECURITY (CNS), 2018,
  • [2] Accelerating Loop-Oriented RTL Simulation With Code Instrumentation
    Mao, Fubing
    Guo, Yapu
    Liao, Xiaofei
    Jin, Hai
    Zhang, Wei
    Liu, Haikun
    Zheng, Long
    Liu, Xu
    Jiang, Zihan
    Zheng, Xiaohua
    IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2023, 42 (12) : 4985 - 4998
  • [3] LCVD: Loop-oriented code vulnerability detection via graph neural network
    Wang, Mingke
    Tao, Chuanqi
    Guo, Hongjing
    JOURNAL OF SYSTEMS AND SOFTWARE, 2023, 202
  • [4] Finding dispatcher gadgets for jump oriented programming code reuse attacks
    Erdodi, L.
    2013 IEEE 8TH INTERNATIONAL SYMPOSIUM ON APPLIED COMPUTATIONAL INTELLIGENCE AND INFORMATICS (SACI 2013), 2013, : 321 - 325
  • [5] Code component composition reuse is a new programming paradigm
    Shi, Y.
    Sheng-Qiong, Y.
    Gang, X.
    Ke-Qing, H.
    Wuhan University Journal of Natural Sciences, 2001, 6 (1-2) : 292 - 297
  • [6] Code Component Composition Reuse Is a New Programming Paradigm
    Ying Shi 1
    2.School of Computer Science and Technology
    WuhanUniversityJournalofNaturalSciences, 2001, (Z1) : 292 - 297
  • [7] Service oriented programming: A new paradigm of software reuse
    Sillitti, A
    Vernazza, T
    Succi, G
    SOFTWARE REUSE: METHODS, TECHNIQUES, AND TOOLS, PROCEEDINGS, 2002, 2319 : 269 - 280
  • [8] Exception-oriented programming: retrofitting code-reuse attacks to construct kernel malware
    Deng, Liang
    Zeng, Qingkai
    IET INFORMATION SECURITY, 2016, 10 (06) : 418 - 424
  • [9] Tazhi: A Novel Technique for Hunting Trampoline Gadgets of Jump Oriented Programming (A Class of Code Reuse Attacks)
    Sadeghi, Ali-Akbar
    Aminmansour, Farzane
    Shahriari, Hamid-Reza
    2014 11TH INTERNATIONAL ISC CONFERENCE ON INFORMATION SECURITY AND CRYPTOLOGY (ISCISC), 2014, : 21 - 26
  • [10] Counterfeit object-oriented programming: On the difficulty of preventing code reuse attacks in C++ applications
    Horst Görtz Institut , Ruhr-Universität Bochum, Germany
    不详
    Proc. IEEE Symp. Secur. Privacy, (745-762):