MESH: A Memory-Efficient Safe Heap for C/C plus

被引:1
|
作者
Vintila, Emanuel Q. [1 ]
Zieris, Philipp [1 ]
Horsch, Julian [1 ]
机构
[1] Fraunhofer AISEC, Garching, Germany
关键词
memory safety; unsafe programming languages; buffer overflows; pointer tagging; dangling pointers; use-after-free;
D O I
10.1145/3465481.3465760
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
While memory corruption bugs stemming from the use of unsafe programming languages are an old and well-researched problem, the resulting vulnerabilities still dominate real-world exploitation today. Various mitigations have been proposed to alleviate the problem, mainly in the form of language dialects, static program analysis, and code or binary instrumentation. Solutions like Adress-Sanitizer (ASan) and Softbound/CETS have proven that the latter approach is very promising, being able to achieve memory safety without requiring manual source code adaptions, albeit suffering substantial performance and memory overheads. While performance overhead can be seen as a flexible constraint, extensive memory overheads can be prohibitive for the use of such solutions in memory-constrained environments. To address this problem, we propose MESH, a highly memory-efficient safe heap for C/C++. With its constant, very small memory overhead (configurable up to 2 MB on x86-64) and constant complexity for pointer access checking, MESH offers efficient, byte-precise spatial and temporal memory safety for memory-constrained scenarios. Without jeopardizing the security of safe heap objects, MESH is fully compatible with existing code and uninstrumented libraries, making it practical to use in heterogeneous environments. We show the feasibility of our approach with a full LLVM-based prototype supporting both major architectures, i.e., x86-64 and ARM64, in a Linux runtime environment. Our prototype evaluation shows that, compared to ASan and Softbound/CETS, MESH can achieve huge memory savings while preserving similar execution performance.
引用
收藏
页数:10
相关论文
共 50 条
  • [41] A memory-efficient huffman decoding algorithm
    Wang, PC
    Yang, YR
    Lee, CL
    Chang, HY
    AINA 2005: 19th International Conference on Advanced Information Networking and Applications, Vol 2, 2005, : 475 - 479
  • [42] A Memory-Efficient Data Redistribution Algorithm
    Siegel, Stephen F.
    Siegel, Andrew R.
    RECENT ADVANCES IN PARALLEL VIRTUAL MACHINE AND MESSAGE PASSING INTERFACE, PROCEEDINGS, 2009, 5759 : 219 - +
  • [43] Automatic Memory-Efficient Scheduling of CNNs
    Waeijen, Luc
    Sioutas, Savvas
    He, Yifan
    Peemen, Maurice
    Corporaal, Henk
    EMBEDDED COMPUTER SYSTEMS: ARCHITECTURES, MODELING, AND SIMULATION, SAMOS 2019, 2019, 11733 : 387 - 400
  • [44] Efficient detection of dangling pointer error for C/C plus plus programs
    Zhang, Wenzhe
    2ND ANNUAL INTERNATIONAL CONFERENCE ON INFORMATION SYSTEM AND ARTIFICIAL INTELLIGENCE (ISAI2017), 2017, 887
  • [45] Foundations of the C plus plus Concurrency Memory Model
    Boehm, Hans-J.
    Adve, Sarita V.
    PLDI'08: PROCEEDINGS OF THE 2008 SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN & IMPLEMENTATION, 2008, : 68 - 78
  • [46] A Context-Sensitive Memory Model for Verification of C/C plus plus Programs
    Gurfinkel, Arie
    Navas, Jorge A.
    STATIC ANALYSIS (SAS 2017), 2017, 10422 : 148 - 168
  • [47] Smart-DNN plus : A Memory-efficient Neural Networks Compression Framework for the Model Inference
    Wu, Donglei
    Yang, Weihao
    Zou, Xiangyu
    Xia, Wen
    Li, Shiyi
    Hu, Zhenbo
    Zhang, Weizhe
    Fang, Binxing
    ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2023, 20 (04)
  • [48] Detection of Memory Leaks in C/C plus plus Code via Machine Learning
    Andrzejak, Artur
    Eichler, Felix
    Ghanavati, Mohammadreza
    2017 IEEE 28TH INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW 2017), 2017, : 252 - 258
  • [49] CHERI: Hardware-Enabled C/C plus plus Memory Protection at Scale
    Watson, Robert N. M.
    Chisnall, David
    Clarke, Jessica
    Davis, Brooks
    Filardo, Nathaniel Wesley
    Laurie, Ben
    Moore, Simon W.
    Neumann, Peter G.
    Richardson, Alexander
    Sewell, Peter
    Witaszczyk, Konrad
    Woodruff, Jonathan
    IEEE SECURITY & PRIVACY, 2024, 22 (04) : 50 - 61
  • [50] A hybrid approach for safe memory management in C
    Tlili, Syrine
    Yang, Zhenrong
    Ling, Hai Zhou
    Debbabi, Mourad
    ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY, PROCEEDINGS, 2008, 5140 : 377 - 391