Control-Flow Bending: On the Effectiveness of Control-Flow Integrity

被引:0
|
作者
Carlini, Nicolas [1 ]
Barresi, Antonio [2 ]
Payer, Mathias [3 ]
Wagner, David [1 ]
Gross, Thomas R. [2 ]
机构
[1] Univ Calif Berkeley, Berkeley, CA 94720 USA
[2] Swiss Fed Inst Technol, Zurich, Switzerland
[3] Purdue Univ, W Lafayette, IN 47907 USA
关键词
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Control-Flow Integrity (CFI) is a defense which prevents control-flow hijacking attacks. While recent research has shown that coarse-grained CFI does not stop attacks, fine-grained CFI is believed to be secure. We argue that assessing the effectiveness of practical CFI implementations is non-trivial and that common evaluation metrics fail to do so. We then evaluate fully precise static CFI - the most restrictive CFI policy that does not break functionality - and reveal limitations in its security. Using a generalization of non-control-data attacks which we call Control-Flow Bending (CFB), we show how an attacker can leverage a memory corruption vulnerability to achieve Turing-complete computation on memory using just calls to the standard library. We use this attack technique to evaluate fully-precise static CFI on six real binaries and show that in five out of six cases, powerful attacks are still possible. Our results suggest that CFI may not be a reliable defense against memory corruption vulnerabilities. We further evaluate shadow stacks in combination with CFI and find that their presence for security is necessary: deploying shadow stacks removes arbitrary code execution capabilities of attackers in three of six cases.
引用
收藏
页码:161 / 176
页数:16
相关论文
共 50 条
  • [31] 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
  • [32] 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
  • [33] LightFAt: Mitigating Control-flow Explosion via Lightweight PMU-based Control-flow Attestation
    Gonzalez-Gomez, Jeferson
    Nassar, Hassan
    Bauer, Lars
    Henkel, Joerg
    2024 IEEE INTERNATIONAL SYMPOSIUM ON HARDWARE ORIENTED SECURITY AND TRUST, HOST, 2024, : 222 - 226
  • [34] Control-Flow Analysis of Functional Programs
    Midtgaard, Jan
    ACM COMPUTING SURVEYS, 2012, 44 (03)
  • [35] Pushdown Control-Flow Analysis for Free
    Gilray, Thomas
    Lyde, Steven
    Adams, Michael D.
    Might, Matthew
    Van Horn, David
    ACM SIGPLAN NOTICES, 2016, 51 (01) : 691 - 704
  • [36] Tolerance of control-flow testing criteria
    Vilkomir, SA
    Kapoor, K
    Bowen, JP
    27TH ANNUAL INTERNATIONAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE, PROCEEDINGS, 2003, : 182 - 187
  • [37] Control-flow analysis in cubic time
    Nielson, F
    Seidl, H
    PROGRAMMING LANGUAGES AND SYSTEMS, PROCEEDINGS, 2001, 2028 : 252 - 268
  • [38] Advanced control-flow and concurrency in C∀
    Delisle, Thierry
    Buhr, Peter A.
    SOFTWARE-PRACTICE & EXPERIENCE, 2021, 51 (05): : 1005 - 1042
  • [39] The Bounded Pathwidth of Control-Flow Graphs
    Conrado, Giovanna Kobus
    Goharshady, Amir Kafshdar
    Lam, Chun Kit
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA):
  • [40] Advanced control-flow and concurrency in C∀
    Delisle, Thierry
    Buhr, Peter A.
    Software - Practice and Experience, 2021, 51 (05) : 1005 - 1042