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 条
  • [31] On the Effectiveness of Control-Flow Integrity Against Modern Attack Techniques
    Sayeed, Sarwar
    Marco-Gisbert, Hector
    ICT SYSTEMS SECURITY AND PRIVACY PROTECTION, SEC 2019, 2019, 562 : 331 - 344
  • [32] Language Abstractions for Hardware-based Control-Flow Integrity Monitoring
    Harrison, William L.
    Allwein, Gerard
    2018 INTERNATIONAL CONFERENCE ON RECONFIGURABLE COMPUTING AND FPGAS (RECONFIG), 2018,
  • [33] KCoFI: Complete Control-Flow Integrity for Commodity Operating System Kernels
    Criswell, John
    Dautenhahn, Nathan
    Adve, Vikram
    2014 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP 2014), 2014, : 292 - 307
  • [34] PROLEPSIS: Binary analysis and instrumentation of IoT software for control-flow integrity
    Forte, Valentina
    Maunero, Nicolo
    Prinetto, Paolo
    Roascio, Gianluca
    International Conference on Electrical, Computer, Communications and Mechatronics Engineering, ICECCME 2021, 2021,
  • [35] Hardware-Assisted Control-Flow Integrity Enhancement for IoT Devices
    Wang, Weiyi
    Feng, Lang
    Shi, Zhiguo
    Zhuo, Cheng
    Chen, Jiming
    2024 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION, DATE, 2024,
  • [36] HyperSafe: A Lightweight Approach to Provide Lifetime Hypervisor Control-Flow Integrity
    Wang, Zhi
    Jiang, Xuxian
    2010 IEEE SYMPOSIUM ON SECURITY AND PRIVACY, 2010, : 380 - 395
  • [37] Integrating Static Analyses for High-Precision Control-Flow Integrity
    Kasten, Florian
    Zieris, Philipp
    Horsch, Julian
    PROCEEDINGS OF 27TH INTERNATIONAL SYMPOSIUM ON RESEARCH IN ATTACKS, INTRUSIONS AND DEFENSES, RAID 2024, 2024, : 419 - 434
  • [38] Poster: Control-Flow Integrity in Low-end Embedded Devices
    Jakkamsetti, Sashidhar
    Kim, Youngil
    Searles, Andrew
    Tsudik, Gene
    PROCEEDINGS OF THE 2023 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, CCS 2023, 2023, : 3618 - 3620
  • [39] A Security Analysis of Labeling-Based Control-Flow Integrity Schemes
    Demicco, David
    Cole, Matthew
    Wang, Shengdun
    Prakash, Aravind
    2022 IEEE 29TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING, DATA AND ANALYTICS WORKSHOP, HIPCW, 2022, : 47 - 52
  • [40] Feel Me Flow: A Review of Control-Flow Integrity Methods for User and Kernel Space
    Diez-Franco, Irene
    Santos, Igor
    INTERNATIONAL JOINT CONFERENCE SOCO'16- CISIS'16-ICEUTE'16, 2017, 527 : 477 - 486