SoK: On the Effectiveness of Control-Flow Integrity in Practice

被引:0
|
作者
Becker, Lucas [1 ]
Hollick, Matthias [1 ]
Classen, Jiska [2 ]
机构
[1] Tech Univ Darmstadt, Darmstadt, Germany
[2] Univ Potsdam, Hasso Plattner Inst, Potsdam, Germany
关键词
D O I
暂无
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Complex programs written in memory-unsafe languages tend to contain memory corruption bugs. Adversaries commonly employ code-reuse attacks to exploit these bugs. Control-flow Integrity (CFI) enforcement schemes try to prevent such attacks from achieving arbitrary code execution. Developers can apply these schemes to existing code bases by setting compiler flags, requiring less effort than rewriting code in memory-safe languages. Although many works propose CFI schemes and attacks against them, they paid little attention to schemes deployed to end-users. We provide a systematic categorization and overview of actively used CFI solutions. We then conduct a large-scale binary analysis on 33 Android images of seven vendors and two Windows builds for different hardware architectures to study CFI utilization in practice. We analyzed over 77,000 files on the Android images. We found that depending on the variant, up to 94% of binaries and 93% of libraries are unprotected. All analyzed binaries depend on unprotected libraries, therefore rendering CFI enforcement ineffective. Further, we look at the development of CFI coverage over time on Android and find it stagnating. CFI roll-out is closer to complete on the Windows builds, but not all files are protected yet (2.63% unprotected). Consequently, our results show that the adoption of CFI protection is lacking, putting devices at risk. Additionally, our results highlight a large gap between the state of the art in research and the reality of deployed systems.
引用
收藏
页码:189 / 209
页数:21
相关论文
共 50 条
  • [1] 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
  • [2] Losing Control: On the Effectiveness of Control-Flow Integrity under Stack Attacks
    Conti, Mauro
    Crane, Stephen
    Davi, Lucas
    Franz, Michael
    Larsen, Per
    Liebchen, Christopher
    Negro, Marco
    Qunaibit, Mohaned
    Sadeghi, Ahmad-Reza
    CCS'15: PROCEEDINGS OF THE 22ND ACM SIGSAC CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, 2015, : 952 - 963
  • [3] 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
  • [4] 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,
  • [5] Modular Control-Flow Integrity
    Niu, Ben
    Tan, Gang
    ACM SIGPLAN NOTICES, 2014, 49 (06) : 577 - 587
  • [6] 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
  • [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] Control-Flow Integrity Principles, Implementations, and Applications
    Abadi, Martin
    Budiu, Mihai
    Erlingsson, Ulfar
    Ligatti, Jay
    ACM TRANSACTIONS ON INFORMATION AND SYSTEM SECURITY, 2009, 13 (01)