HWASanIO: Detecting C/C plus plus Intra-object Overflows with Memory Shading

被引:2
|
作者
Hohentanner, Konrad [1 ]
Kasten, Florian [1 ]
Auer, Lukas [1 ]
机构
[1] Fraunhofer AISEC, Garching, Germany
关键词
memory safety; memory tagging; intra-object overflows; sub-object overflows; dynamic analysis; CHECKING;
D O I
10.1145/3589250.3596139
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
C/C++ are often used in high-performance areas with critical security demands, such as operating systems, browsers, and libraries. One major drawback from a security standpoint is their susceptibility to memory bugs, which are often hard to spot during development. A possible solution is the deployment of a memory safety framework such as the memory tagging framework Hardware-assisted Address-Sanitizer (HWASan). The dynamic analysis tool instruments object allocations and inserts additional check logic to detect memory violations during runtime. A current limitation of memory tagging is its inability to detect intra-object memory violations i.e., over- and underflows between flelds and members of structs and classes. This work addresses the issue by applying the concept of memory shading to memory tagging. We then present HWASanIO, a HWASan-based sanitizer implementing the memory shading concept to detect intra-object violations. Our evaluation shows that this increases the bug detection rate from 85.4% to 100% in the memory corruptions test cases of the Juliet Test Suite while maintaining high interoperability with existing C/C++ code.
引用
收藏
页码:27 / 33
页数:7
相关论文
共 50 条
  • [21] C for C plus plus programmers
    Stevens, A
    DR DOBBS JOURNAL, 1997, 22 (07): : 99 - 102
  • [22] CFIXX: Object Type Integrity for C plus
    Burow, Nathan
    McKee, Derrick
    Carr, Scott A.
    Payer, Mathias
    25TH ANNUAL NETWORK AND DISTRIBUTED SYSTEM SECURITY SYMPOSIUM (NDSS 2018), 2018,
  • [23] TCD: Statically Detecting Type Confusion Errors in C plus plus Programs
    Zou, Changwei
    Sui, Yulei
    Yan, Hua
    Xue, Jingling
    2019 IEEE 30TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE), 2019, : 292 - 302
  • [24] C plus plus Memory Detection Tool Based on Dynamic Instrumentation
    Fu, Siran
    Cui, Baojiang
    Guo, Tao
    Song, Xuyan
    ADVANCES IN INTERNET, DATA & WEB TECHNOLOGIES, 2018, 17 : 663 - 674
  • [25] The FKM Pedagogics for Teaching C plus plus Object Oriented Programming Language
    Zhang, Tao-Hong
    Ma, Shu-Ming
    Yao, Lin
    2016 INTERNATIONAL CONFERENCE ON EDUCATION SCIENCE AND EDUCATION MANAGEMENT (ESEM 2016), 2016, : 102 - 106
  • [26] OBJECT-ORIENTED CLASS LIBRARY FOR C plus plus PROGRAMS.
    Gorlen, Keith E.
    Software - Practice and Experience, 1987, 17 (12) : 899 - 922
  • [27] Class mutation operators for C plus plus object-oriented systems
    Delgado-Perez, Pedro
    Medina-Bulo, Inmaculada
    Jose Dominguez-Jimenez, Juan
    Garcia-Dominguez, Antonio
    Palomo-Lozano, Francisco
    ANNALS OF TELECOMMUNICATIONS, 2015, 70 (3-4) : 137 - 148
  • [28] DMTI: Accelerating Memory Error Detection in Precompiled C/C plus plus Binaries with ARM Memory Tagging Extension
    Hager-Clukas, Andreas
    Hohentanner, Konrad
    PROCEEDINGS OF THE 19TH ACM ASIA CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, ACM ASIACCS 2024, 2024, : 825 - 837
  • [29] Synchronising C/C plus plus and POWER
    Sarkar, Susmit
    Memarian, Kayvan
    Owens, Scott
    Batty, Mark
    Sewell, Peter
    Maranget, Luc
    Alglave, Jade
    Williams, Derek
    ACM SIGPLAN NOTICES, 2012, 47 (06) : 311 - 321
  • [30] C plus plus and Interoperability Between Libraries: The GraphBLAS C plus plus Specification
    Brock, Benjamin
    McMillan, Scott
    Buluc, Aydin
    Mattson, Timothy G.
    Moreira, Jose E.
    2023 IEEE INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS, IPDPSW, 2023, : 207 - 215