Hurdle: Securing Jump Instructions Against Code Reuse Attacks

被引:5
|
作者
DeLozier, Christian [1 ]
Lakshminarayanan, Kavya [2 ]
Pokam, Gilles [3 ]
Devietti, Joseph [2 ]
机构
[1] US Naval Acad, Annapolis, MD 21402 USA
[2] Univ Penn, Philadelphia, PA 19104 USA
[3] Intel Corp, Santa Clara, CA 95051 USA
基金
美国国家科学基金会;
关键词
control-flow integrity; code-reuse attacks; SMT solvers; PROTECTION;
D O I
10.1145/3373376.3378506
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Code-reuse attacks represent the state-of-the-art in exploiting memory safety vulnerabilities. Control-flow integrity techniques offer a promising direction for preventing code-reuse attacks, but these attacks are resilient against imprecise and heuristic-based detection and prevention mechanisms. In this work, we propose a new context-sensitive controlflow integrity system (HURDLE) that guarantees pairwise gadgets cannot be chained in a code-reuse attack. HURDLE improves upon prior techniques by using SMT constraint solving to ensure that indirect control flow transfers cannot be maliciously redirected to execute gadget chains. At the same time, HURDLE ' S security policy is flexible enough that benign executions are only rarely mischaracterized as malicious. When such mischaracterizations occur, HURDLE can generalize its constraint solving to avoid these mischaracterizations at low marginal cost. We propose architecture extensions for HURDLE which consist of an extended branch history register and new instructions. Thanks to its hardware support, HURDLE enforces a context-sensitive control-flow integrity policy with 1.02% average runtime overhead.
引用
收藏
页码:653 / 666
页数:14
相关论文
共 50 条
  • [1] Efficiently Securing Systems from Code Reuse Attacks
    Kayaalp, Mehmet
    Ozsoy, Meltem
    Abu Ghazaleh, Nael
    Ponomarev, Dmitry
    IEEE TRANSACTIONS ON COMPUTERS, 2014, 63 (05) : 1144 - 1156
  • [2] MicroGuard: Securing Bare-Metal Microcontrollers against Code-Reuse Attacks
    Salehi, Majid
    Hughes, Danny
    Crispo, Bruno
    2019 IEEE CONFERENCE ON DEPENDABLE AND SECURE COMPUTING (DSC), 2019, : 33 - 40
  • [3] 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
  • [4] Securing Embedded System from Code Reuse Attacks: A Lightweight Scheme with Hardware Assistance
    An, Zhenliang
    Wang, Weike
    Li, Wenxin
    Li, Senyang
    Zhang, Dexue
    MICROMACHINES, 2023, 14 (08)
  • [5] SGXPecial: Specializing SGX Interfaces against Code Reuse Attacks
    Mishra, Shachee
    Polychronakis, Michalis
    PROCEEDINGS OF THE 14TH EUROPEAN WORKSHOP ON SYSTEMS SECURITY (EUROSEC 2021), 2021, : 48 - 54
  • [6] On Detecting Code Reuse Attacks
    Kosolapov, Y. V.
    AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2020, 54 (07) : 573 - 583
  • [7] On Detecting Code Reuse Attacks
    Y. V. Kosolapov
    Automatic Control and Computer Sciences, 2020, 54 : 573 - 583
  • [8] Defending AUTOSAR Safety Critical Systems Against Code Reuse Attacks
    Nasser, Ahmad
    Ma, Di
    PROCEEDINGS OF THE ACM WORKSHOP ON AUTOMOTIVE CYBERSECURITY (AUTOSEC '19), 2019, : 15 - 18
  • [9] Saffire: Context-sensitive Function Specialization against Code Reuse Attacks
    Mishra, Shachee
    Polychronakis, Michalis
    2020 5TH IEEE EUROPEAN SYMPOSIUM ON SECURITY AND PRIVACY (EUROS&P 2020), 2020, : 17 - 33
  • [10] Gadget Weighted Tagging: A Flexible Framework to Protect Against Code Reuse Attacks
    Chen, Liwei
    Ma, Mengyu
    Zhang, Wenhao
    Shi, Gang
    Meng, Dan
    ICT SYSTEMS SECURITY AND PRIVACY PROTECTION, SEC 2017, 2017, 502 : 568 - 584