Integrating Static Analyses for High-Precision Control-Flow Integrity

被引:0
|
作者
Kasten, Florian [1 ]
Zieris, Philipp [1 ]
Horsch, Julian [1 ]
机构
[1] Fraunhofer AISEC, Garching, Germany
关键词
Control-Flow Integrity; Static Data-Flow Analysis; Whole-Program Analysis; Pointer Analysis; LLVM; SVF; Multi-Layer Type Analysis;
D O I
10.1145/3678890.3678920
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Memory corruptions are still one of the most prevalent and severe security vulnerabilities in today's programs. For this reason, several techniques for mitigating software vulnerabilities exist and are used in production systems. An important mitigation involves the prevention of invalid control flow transfers. Attackers often corrupt function pointers to subvert a forward-edge in a program's call graph. Forward-edges can be protected using Control-Flow Integrity (CFI), for which practical implementations already exist. However, current CFI implementations are often imprecise, allowing more control flow transfers than necessary. This often leaves sufficient leeway for an attacker to successfully exploit a program. This paper presents High-Precision CFI (HPCFI), a concept and implementation for precise forward-edge CFI protection of indirect calls in C and C++ programs using a combination of type analysis and static data-flow analysis for determining valid forward-edges. HPCFI is implemented as LLVM compiler passes that perform a precise type analysis and utilize the Static Value-Flow (SVF) framework to conduct a static data-flowanalysis. The combination of type analysis and static data-flow analysis offers higher precision than conventional heuristic-based approaches. Our evaluation, using all compatible benchmarks from SPEC CPU 2017, demonstrates that HPCFI can be effectively applied to large projects with an average performance overhead of only 1.3%, while improving the precision of established CFI mechanisms, such as Clang CFI, by up to 99% and 40% on average.
引用
收藏
页码:419 / 434
页数:16
相关论文
共 50 条
  • [21] HCIC: Hardware-Assisted Control-Flow Integrity Checking
    Zhang, Jiliang
    Qi, Binhang
    Qin, Zheng
    Qu, Gang
    IEEE INTERNET OF THINGS JOURNAL, 2019, 6 (01): : 458 - 471
  • [22] Enforcing Unique Code Target Property for Control-Flow Integrity
    Hu, Hong
    Qian, Chenxiong
    Yagemann, Carter
    Chung, Simon Pak Ho
    Harris, William R.
    Kim, Taesoo
    Lee, Wenke
    PROCEEDINGS OF THE 2018 ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY (CCS'18), 2018, : 1470 - 1486
  • [23] A Survey on Control-Flow Integrity Means in Web Application Frameworks
    Braun, Bastian
    Pollak, Christian V.
    Posegga, Joachim
    SECURE IT SYSTEMS, NORDSEC 2013, 2013, 8208 : 231 - 246
  • [24] Ghostrail: Ad Hoc Control-Flow Integrity for Web Applications
    Braun, Bastian
    Gries, Caspar
    Petschkuhn, Benedikt
    Posegga, Joachim
    ICT SYSTEMS SECURITY AND PRIVACY PROTECTION, IFIP TC 11 INTERNATIONAL CONFERENCE, SEC 2014, 2014, 428 : 264 - 277
  • [25] 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
  • [26] A high-precision algorithm for axisymmetric flow
    Gokhman, A
    Gokhman, D
    MATHEMATICAL PROBLEMS IN ENGINEERING, 1995, 1 (01) : 11 - 25
  • [27] Development of high-precision control network optimization design software integrating DEM visualization
    Wang, Jianying
    Huang, Dewu
    SURVEY REVIEW, 2025,
  • [28] Language Abstractions for Hardware-based Control-Flow Integrity Monitoring
    Harrison, William L.
    Allwein, Gerard
    2018 INTERNATIONAL CONFERENCE ON RECONFIGURABLE COMPUTING AND FPGAS (RECONFIG), 2018,
  • [29] Abstract allocation as a unified approach to polyvariance in control-flow analyses
    Gilray, Thomas
    Adams, Michael D.
    Might, Matthew
    JOURNAL OF FUNCTIONAL PROGRAMMING, 2018, 28
  • [30] 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