Enforcing Forward-Edge Control-Flow Integrity in GCC & LLVM

被引:0
|
作者
Tice, Caroline [1 ]
Roeder, Tom [1 ]
Collingbourne, Peter [1 ]
Checkoway, Stephen [2 ]
Erlingsson, Ulfar [1 ]
Lozano, Luis [1 ]
Pike, Geoff [1 ]
机构
[1] Google Inc, Mountain View, CA 94043 USA
[2] Johns Hopkins Univ, Baltimore, MD 21218 USA
关键词
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Constraining dynamic control transfers is a common technique for mitigating software vulnerabilities. This defense has been widely and successfully used to protect return addresses and stack data; hence, current attacks instead typically corrupt vtable and function pointers to subvert a forward edge (an indirect jump or call) in the control-flow graph. Forward edges can be protected using Control-Flow Integrity (CFI) but, to date, CFI implementations have been research prototypes, based on impractical assumptions or ad hoc, heuristic techniques. To be widely adoptable, CFI mechanisms must be integrated into production compilers and be compatible with software-engineering aspects such as incremental compilation and dynamic libraries. This paper presents implementations of fine-grained, forward-edge CFI enforcement and analysis for GCC and LLVM that meet the above requirements. An analysis and evaluation of the security, performance, and resource consumption of these mechanisms applied to the SPEC CPU2006 benchmarks and common benchmarks for the Chromium web browser show the practicality of our approach: these fine-grained CFI mechanisms have significantly lower overhead than recent academic CFI prototypes. Implementing CFI in industrial compiler frameworks has also led to insights into design tradeoffs and practical challenges, such as dynamic loading.
引用
收藏
页码:941 / 955
页数:15
相关论文
共 50 条
  • [41] RCecker: A Lightweight Rule-based Mechanism for Backward Control-Flow Integrity
    Li, Xiaoxin
    Li, Jiazhen
    Hou, Rui
    Meng, Dan
    17TH ACM INTERNATIONAL CONFERENCE ON COMPUTING FRONTIERS 2020 (CF 2020), 2020, : 158 - 164
  • [42] A Procrastinating Control-Flow Integrity Framework for Periodic Real-Time Systems
    Mishra, Tanmaya
    Wang, Jinwen
    Chantem, Thidapat
    Gerdes, Ryan
    Zhang, Ning
    PROCEEDINGS OF 31ST INTERNATIONAL CONFERENCE ON REAL-TIME NETWORKS AND SYSTEMS, RTNS 2023, 2023, : 132 - 142
  • [43] Hard Edges: Hardware-Based Control-Flow Integrity for Embedded Devices
    Christou, George
    Vasiliadis, Giorgos
    Athanasopoulos, Elias
    Ioannidis, Sotiris
    EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION, SAMOS 2021, 2022, 13227 : 275 - 287
  • [44] Combining Control-Flow Integrity and Static Analysis for Efficient and Validated Data Sandboxing
    Zeng, Bin
    Tan, Gang
    Morrisett, Greg
    PROCEEDINGS OF THE 18TH ACM CONFERENCE ON COMPUTER & COMMUNICATIONS SECURITY (CCS 11), 2011, : 29 - 39
  • [45] OmniWasm: Efficient, Granular Fault Isolation and Control-Flow Integrity for Arm Microcontrollers
    Bai, Maorui
    Pan, Runyu
    Parmer, Gabriel
    Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium, RTAS, 2024, : 239 - 251
  • [46] OmniWasm: Efficient, Granular Fault Isolation and Control-Flow Integrity for Arm Microcontrollers
    Bai, Maorui
    Pan, Runyu
    Parmer, Gabriel
    2024 IEEE 30TH REAL-TIME AND EMBEDDED TECHNOLOGY AND APPLICATIONS SYMPOSIUM, RTAS 2024, 2023, : 239 - 251
  • [47] Software-only Control-Flow Integrity against Fault Injection Attacks
    Bonnal, Francois
    Dupaquis, Vincent
    Potin, Olivier
    Dutertre, Jean-Max
    2023 26TH EUROMICRO CONFERENCE ON DIGITAL SYSTEM DESIGN, DSD 2023, 2023, : 269 - 277
  • [48] CONFIRM: Evaluating Compatibility and Relevance of Control-flow Integrity Protections for Modern Software
    Xu, Xiaoyang
    Ghaffarinia, Masoud
    Wang, Wenhao
    Hamlen, Kevin W.
    Lin, Zhiqiang
    PROCEEDINGS OF THE 28TH USENIX SECURITY SYMPOSIUM, 2019, : 1805 - 1821
  • [49] Stitching the Gadgets: On the Ineffectiveness of Coarse-Grained Control-Flow Integrity Protection
    Davi, Lucas
    Sadeghi, Ahmad-Reza
    Lehmann, Daniel
    Monrose, Fabian
    PROCEEDINGS OF THE 23RD USENIX SECURITY SYMPOSIUM, 2014, : 401 - 416
  • [50] Survey of Control-flow Integrity Techniques for Real-time Embedded Systems
    Mishra, Tanmaya
    Chantem, Thidapat
    Gerdes, Ryan
    ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2022, 21 (04)