ROPMEMU: A Framework for the Analysis of Complex Code-Reuse Attacks

被引:19
|
作者
Graziano, Mariano [1 ]
Balzarotti, Davide [2 ]
Zidouemba, Alain [1 ]
机构
[1] Cisco Syst Inc, San Jose, CA 95134 USA
[2] Eurecom, Chappes, France
关键词
D O I
10.1145/2897845.2897894
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Code reuse attacks based on return oriented programming (ROP) are becoming more and more prevalent every year. They started as a way to circumvent operating systems protections against injected code, but they are now also used as a technique to keep the malicious code hidden from detection and analysis systems. This means that while in the past ROP chains were short and simple (and therefore did not require any dedicated tool for their analysis), we recently started to observe very complex algorithms - such as a complete rootkit - implemented entirely as a sequence of ROP gadgets. In this paper, we present a set of techniques to analyze complex code reuse attacks. First, we identify and discuss the main challenges that complicate the reverse engineer of code implemented using ROP. Second, we propose an emulation-based framework to dissect, reconstruct, and simplify ROP chains. Finally, we test our tool on the most complex example available to date: a ROP rootkit containing four separate chains, two of them dynamically generated at runtime.
引用
收藏
页码:47 / 58
页数:12
相关论文
共 50 条
  • [41] GuiDiv: Mitigating Code-reuse Attack in an IoT Cluster Using Guided Control Flow Diversification.
    Li, Yuanpei
    Zhou, Qinglei
    Li, Bin
    Zhuang, Yan
    2023 IEEE 22ND INTERNATIONAL CONFERENCE ON TRUST, SECURITY AND PRIVACY IN COMPUTING AND COMMUNICATIONS, TRUSTCOM, BIGDATASE, CSE, EUC, ISCI 2023, 2024, : 422 - 433
  • [42] A Framework of Code Reuse in Open Source Software
    Tung, Yuan-Hsin
    Chuang, Chih-Ju
    Shan, Hwai-Ling
    2014 16TH ASIA-PACIFIC NETWORK OPERATIONS AND MANAGEMENT SYMPOSIUM (APNOMS), 2014,
  • [43] Hurdle: Securing Jump Instructions Against Code Reuse Attacks
    DeLozier, Christian
    Lakshminarayanan, Kavya
    Pokam, Gilles
    Devietti, Joseph
    TWENTY-FIFTH INTERNATIONAL CONFERENCE ON ARCHITECTURAL SUPPORT FOR PROGRAMMING LANGUAGES AND OPERATING SYSTEMS (ASPLOS XXV), 2020, : 653 - 666
  • [44] A Technique Preventing Code Reuse Attacks Based on RISC Processor
    Li, Yang
    Dai, Zi-bin
    Li, Jun-wei
    2018 INTERNATIONAL CONFERENCE ON COMPUTER, COMMUNICATION AND NETWORK TECHNOLOGY (CCNT 2018), 2018, 291 : 96 - 102
  • [45] Code Reuse Attacks in PHP: Automated POP Chain Generation
    Dahse, Johannes
    Krein, Nikolai
    Holz, Thorsten
    CCS'14: PROCEEDINGS OF THE 21ST ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2014, : 42 - 53
  • [46] Defending Code Reuse Attacks Based on Running Characteristics Monitoring
    Zhang G.-M.
    Li Q.-B.
    Zhang P.
    Cheng S.-J.
    Ruan Jian Xue Bao/Journal of Software, 2019, 30 (11): : 3518 - 3534
  • [47] HoneyGadget: A Deception Based Approach for Detecting Code Reuse Attacks
    Huang, Xin
    Yan, Fei
    Zhang, Liqiang
    Wang, Kai
    INFORMATION SYSTEMS FRONTIERS, 2021, 23 (02) : 269 - 283
  • [48] HoneyGadget: A Deception Based Approach for Detecting Code Reuse Attacks
    Xin Huang
    Fei Yan
    Liqiang Zhang
    Kai Wang
    Information Systems Frontiers, 2021, 23 : 269 - 283
  • [49] Protecting Instruction Set Randomization from Code Reuse Attacks
    Guanciale, Roberto
    SECURE IT SYSTEMS, 2018, 11252 : 421 - 436
  • [50] Detecting Code Reuse Attacks with a Model of Conformant Program Execution
    Jacobson, Emily R.
    Bernat, Andrew R.
    Williams, William R.
    Miller, Barton P.
    RESEARCH IN ATTACKS, INTRUSIONS, AND DEFENSES, 2013, 8145 : 452 - 453