vfGuard: Strict Protection for Virtual Function Calls in COTS C plus plus Binaries

被引:39
|
作者
Prakash, Aravind [1 ]
Hu, Xunchao [1 ]
Yin, Heng [1 ]
机构
[1] Syracuse Univ, Dept EECS, Syracuse, NY 13244 USA
基金
美国国家科学基金会;
关键词
D O I
10.14722/ndss.2015.23297
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Control-Flow Integrity (CFI) is an important security property that needs to be enforced to prevent control-flow hijacking attacks. Recent attacks have demonstrated that existing CFI protections for COTS binaries are too permissive, and vulnerable to sophisticated code reusing attacks. Accounting for control flow restrictions imposed at higher levels of semantics is key to increasing CFI precision. In this paper, we aim to provide more stringent protection for virtual function calls in COTS C++ binaries by recovering C++ level semantics. To achieve this goal, we recover C++ semantics, including VTables and virtual callsites. With the extracted C++ semantics, we construct a sound CFI policy and further improve the policy precision by devising two filters, namely "Nested Call Filter" and "Calling Convention Filter". We implement a prototype system called vfGuard, and evaluate its accuracy, precision, effectiveness, coverage and performance overhead against a test set including complex C++ binary modules used by Internet Explorer. Our experiments show a runtime overhead of 18.3% per module. On SpiderMonkey, an open-source JavaScript engine used by Firefox, vfGuard generated 199 call targets per virtual callsite - within the same order of magnitude as those generated from a source code based solution. The policies constructed by vfGuard are sound and of higher precision when compared to state-of-the-art binary-only CFI solutions.
引用
收藏
页数:15
相关论文
共 50 条
  • [31] Protection Methods Analysis in a Hybrid C/C plus L Optical Network
    Hosseini, Soheil
    Barroso, Ramon J. Duran
    de Miguel, Ignacio
    de Dios, Oscar Gonzalez
    Merayo, Noemi
    Aguado, Juan Carlos
    Fernandez, Patricia
    Lorenzo, Ruben M.
    Abril, Evaristo J.
    2024 24TH INTERNATIONAL CONFERENCE ON TRANSPARENT OPTICAL NETWORKS, ICTON 2024, 2024,
  • [32] Heterogeneous Active Messages (HAM) - Implementing Lightweight Remote Procedure Calls in C plus
    Noack, Matthias
    PROCEEDINGS OF THE INTERNATIONAL WORKSHOP ON OPENCL (IWOCL'19), 2019,
  • [33] Interactive protection system simulation using ATP MODELS and C plus
    Luo, X.
    Kezunovic, M.
    2005/2006 IEEE/PES TRANSMISSION & DISTRIBUTION CONFERENCE & EXPOSITION, VOLS 1-3, 2006, : 874 - +
  • [34] An automated test data generation method for void pointers and function pointers in C/C plus plus libraries and embedded projects
    Lam Nguyen Tung
    Hoang-Viet Tran
    Khoi Nguyen Le
    Pham Ngoc Hung
    INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 145
  • [35] Analysis of accuracy of the differential protection function in the unit REF 542plus
    Prokop, Vaclav
    PROCEEDINGS OF THE 7TH INTERNATIONAL SCIENTIFIC CONFERENCE ELECTRIC POWER ENGINEERING 2006, 2006, : 207 - 211
  • [36] Algorithm 910: A Portable C plus plus Multiple-Precision System for Special-Function Calculations
    Kormanyos, Christopher
    ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2011, 37 (04):
  • [37] Vitamin C and vitamin C plus E improve the immune function in the elderly
    De la Fuente, Monica
    Sanchez, Carmen
    Vallejo, Carmen
    Diaz-Del Cerro, Estefania
    Arnalich, Francisco
    Hernanz, Angel
    EXPERIMENTAL GERONTOLOGY, 2020, 142
  • [38] Diazinon-induced brain toxicity and protection by vitamins E plus C
    Yilmaz, Nigar
    Yilmaz, Mustafa
    Altuntas, Irfan
    TOXICOLOGY AND INDUSTRIAL HEALTH, 2012, 28 (01) : 51 - 57
  • [39] The Role of Implicit Conversions in Erroneous Function Argument Swapping in C plus
    Szalay, Richard
    Sinkovics, Abel
    Porkolab, Zoltan
    2020 20TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2020), 2020, : 203 - 214
  • [40] A NOTE ON THE VIRTUAL WAITING TIME IN THE STATIONARY PH/M/c plus D QUEUE
    Kawanishi, Ken'ichi
    Takine, Tetsuya
    JOURNAL OF APPLIED PROBABILITY, 2015, 52 (03) : 899 - 903