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 条
  • [1] Control-Flow Integrity: Precision, Security, and Performance
    Burow, Nathan
    Carr, Scott A.
    Nash, Joseph
    Larsen, Per
    Franz, Michael
    Brunthaler, Stefan
    Payer, Mathias
    ACM COMPUTING SURVEYS, 2017, 50 (01)
  • [2] Control-Flow Bending: On the Effectiveness of Control-Flow Integrity
    Carlini, Nicolas
    Barresi, Antonio
    Payer, Mathias
    Wagner, David
    Gross, Thomas R.
    PROCEEDINGS OF THE 24TH USENIX SECURITY SYMPOSIUM, 2015, : 161 - 176
  • [3] Opaque Control-Flow Integrity
    Mohan, Vishwath
    Larsen, Per
    Brunthaler, Stefan
    Hamlen, Kevin W.
    Franz, Michael
    22ND ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2015), 2015,
  • [4] Modular Control-Flow Integrity
    Niu, Ben
    Tan, Gang
    ACM SIGPLAN NOTICES, 2014, 49 (06) : 577 - 587
  • [5] Out Of Control: Overcoming Control-Flow Integrity
    Goktas, Enes
    Athanasopoulos, Elias
    Bos, Herbert
    Portokalidis, Georgios
    2014 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP 2014), 2014, : 575 - 589
  • [6] 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
  • [7] Survey on Control-flow Integrity Techniques
    Zhang Z.
    Xue J.-F.
    Zhang J.-C.
    Chen T.
    Tan Y.-A.
    Li Y.-Z.
    Zhang Q.-X.
    Ruan Jian Xue Bao/Journal of Software, 2023, 34 (01): : 489 - 508
  • [8] Control-Flow Integrity: Attacks and Protections
    Sayeed, Sarwar
    Marco-Gisbert, Hector
    Ripoll, Ismael
    Birch, Miriam
    APPLIED SCIENCES-BASEL, 2019, 9 (20):
  • [9] POSTER: Control-Flow Integrity for Smartphones
    Davi, Lucas
    Dmitrienko, Alexandra
    Egele, Manuel
    Fischer, Thomas
    Holz, Thorsten
    Hund, Ralf
    Nuernberger, Stefan
    Sadeghi, Ahmad-Reza
    PROCEEDINGS OF THE 18TH ACM CONFERENCE ON COMPUTER & COMMUNICATIONS SECURITY (CCS 11), 2011, : 749 - 751
  • [10] SoK: On the Effectiveness of Control-Flow Integrity in Practice
    Becker, Lucas
    Hollick, Matthias
    Classen, Jiska
    PROCEEDINGS OF THE 18TH USENIX WOOT CONFERENCE ON OFFENSIVE TECHNOLOGIES, WOOT 2024, 2024, : 189 - 209